f2e4cc1db53dd16e0d28d528752a520ae8c5bec8
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-08-12  Beth Dakin  <bdakin@apple.com>
2
3         Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
4         https://bugs.webkit.org/show_bug.cgi?id=119658
5
6         Reviewed by Darin Adler.
7
8         Removing this function entirely will change some functionality in the Nightlies, 
9         but we think that is an acceptable difference for the Nightlies. If is does cause 
10         a problem though, we can roll out this patch and deprecate the function instead.
11
12         * UIProcess/API/C/WKPage.h:
13         * UIProcess/WebLoaderClient.cpp:
14         * UIProcess/WebLoaderClient.h:
15         * UIProcess/WebPageProxy.cpp:
16         (WebKit::WebPageProxy::initializeLoaderClient):
17         * UIProcess/WebPageProxy.h:
18         * UIProcess/WebPageProxy.messages.in:
19         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
20         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
21         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
22         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
24         * WebProcess/WebPage/WebPage.cpp:
25         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
26
27 2013-08-12  Arunprasad Rajkumar  <arurajku@cisco.com>
28
29         [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
30         https://bugs.webkit.org/show_bug.cgi?id=119663
31
32         Reviewed by Sam Weinig.
33
34         * WebProcess/qt/WebProcessQt.cpp:
35         (WebKit::WebProcess::platformSetCacheModel):
36
37 2013-08-12  Anton Obzhirov  <a.obzhirov@samsung.com>
38
39         [GTK] Don't load GAIL when using GTK 3.2 or greater
40         https://bugs.webkit.org/show_bug.cgi?id=72735
41
42         Reviewed by Carlos Garcia Campos.
43
44         * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
45         (main):
46
47 2013-08-09  Beth Dakin  <bdakin@apple.com>
48
49         AX: Not able to use arrow keys to read text in a WK2 app
50         https://bugs.webkit.org/show_bug.cgi?id=119605
51         -and corresponding-
52         <rdar://problem/14281275>
53
54         Reviewed by Darin Adler.
55
56         Make all of these scrolling functions actually return the WebCore bools that 
57         indicate whether or not scrolling happened. 
58         * WebProcess/WebPage/WebPage.cpp:
59         (WebKit::WebPage::scroll):
60         (WebKit::WebPage::logicalScroll):
61         (WebKit::WebPage::scrollBy):
62         * WebProcess/WebPage/WebPage.h:
63         * WebProcess/WebPage/mac/WebPageMac.mm:
64         (WebKit::WebPage::executeKeypressCommandsInternal):
65
66         This function now gives accessibility a chance to handle the event too. And it 
67         also actually tracks whether or not the event was handled by scrolling instead of 
68         assuming that it was and universally returning true.
69         (WebKit::WebPage::performNonEditingBehaviorForSelector):
70
71 2013-08-09  Brian Holt  <brian.holt@samsung.com>
72
73         [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
74         https://bugs.webkit.org/show_bug.cgi?id=99352
75
76         Reviewed by Carlos Garcia Campos.
77
78         Add a new public class to the API, WebKitAuthenticationRequest, to be
79         emitted along with a new WebKitWebView::authenticate signal to
80         let client applications to provide their own authentication
81         when the user is challenged with HTTP authentication. The
82         credential is exposed through a new class WebKitCredential.
83
84         * GNUmakefile.list.am:
85         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
86         (okButtonClicked): Use new API for authentication.
87         (cancelButtonClicked): Ditto.
88         (webkitAuthenticationDialogInitialize):Get
89         authenticationChallenge from request object.
90         (webkitAuthenticationDialogNew): Ditto.
91         * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
92         * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
93         class representing a HTTP authentication request.
94         (webkitAuthenticationRequestDispose):
95         (webkit_authentication_request_class_init):
96         (webkitAuthenticationRequestCreate):
97         (webkitAuthenticationRequestGetAuthenticationChallenge):
98         (webkit_authentication_request_can_save_credentials):
99         (webkit_authentication_request_get_proposed_credential):
100         (webkit_authentication_request_get_host):
101         (webkit_authentication_request_get_port):
102         (webkit_authentication_request_get_realm):
103         (webkit_authentication_request_get_scheme):
104         (webkit_authentication_request_is_for_proxy):
105         (webkit_authentication_request_is_retry):
106         (webkit_authentication_request_authenticate):
107         (webkit_authentication_request_cancel):
108         * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
109         * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
110         * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
111         support credentials for HTTP authentication.
112         (_WebKitCredential::_WebKitCredential):
113         (webkitCredentialCreate):
114         (webkitCredentialGetCredential):
115         (webkit_credential_new):
116         (webkit_credential_copy):
117         (webkit_credential_free):
118         (webkit_credential_get_username):
119         (webkit_credential_get_password):
120         (webkit_credential_has_password):
121         (webkit_credential_get_persistence):
122         * UIProcess/API/gtk/WebKitCredential.h: Added.
123         * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
124         * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
125         (webkitWebViewAuthenticate): Default signal handler for authenticate.
126         (webkit_web_view_class_init): Ditto.
127         (webkitWebViewHandleAuthenticationChallenge): Create an
128         authentication request and emit it with authenticate signal.
129         * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
130         pointer slot with for WebViewClass with function pointer to
131         authenticate signal handler.
132         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
133         the authentication request.
134         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
135         * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
136         request and credential types.
137         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
138         unit test for HTTP authentication. A libsoup server callback
139         handler is installed that creates soup messages with appropriate
140         headers and body to test HTTP authentication.
141         (testWebViewAuthenticationRequest): Test the authentication
142         request and credential API.
143         (testWebViewAuthenticationCancel): Test cancelled authentication.
144         (testWebViewAuthenticationFailure): Test repeated authentication failures.
145         (testWebViewAuthenticationNoCredential): Test continue without
146         credentials.
147         (testWebViewAuthenticationStorage): Test credential storage.
148         (testWebViewAuthenticationSuccess): Test successful authentication.
149         (beforeAll): Added tests.
150         * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
151         WebKitCredential headers.
152
153 2013-08-09  Tim Horton  <timothy_horton@apple.com>
154
155         PDFPlugin is disabled by default in nightlies on Mac accidentally
156         https://bugs.webkit.org/show_bug.cgi?id=119615
157
158         Rubber-stamped by Andreas Kling.
159
160         Enable PDFPlugin by default on Mac at the WebKit2 level.
161
162         * Shared/WebPreferencesStore.h:
163         * UIProcess/API/C/WKPreferencesPrivate.h:
164
165 2013-08-08  Tim Horton  <timothy_horton@apple.com>
166
167         navigator.plugins has plugins in it when plugins are disabled
168         https://bugs.webkit.org/show_bug.cgi?id=119607
169         <rdar://problem/14678030>
170
171         Reviewed by Anders Carlsson.
172
173         * UIProcess/WebProcessProxy.cpp:
174         (WebKit::WebProcessProxy::getPlugins):
175         Return a list of all plugins, and a list of only application plugins.
176
177         * UIProcess/WebProcessProxy.h:
178         * UIProcess/WebProcessProxy.messages.in:
179         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
180         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
181         (WebKit::WebPlatformStrategies::getPluginInfo):
182         Add applicationPlugin parameter to getPlugins, and storage for the returned list.
183
184         (WebKit::WebPlatformStrategies::populatePluginCache):
185         If plugins are disabled for the given page, give WebCore the list that
186         only includes application plugins. Otherwise, give it the whole list
187         as we are doing currently.
188
189 2013-08-08  Gavin Barraclough  <barraclough@apple.com>
190
191         Disable suppression of plugin process for Java
192         https://bugs.webkit.org/show_bug.cgi?id=119604
193
194         Reviewed by Sam Weinig.
195
196         Workaround, the Java plugin doesn't like this.
197
198         * PluginProcess/mac/PluginProcessMac.mm:
199         (WebKit::PluginProcess::platformInitializeProcess):
200             - +1 active task count on the java plugin, to inhibit supression.
201
202 2013-08-08  Dean Jackson  <dino@apple.com>
203
204         Add logging to the primary plugin detection
205         https://bugs.webkit.org/show_bug.cgi?id=119594
206
207         Reviewed by Tim Horton.
208
209         Add some simple logging to our primary plug-in detection.
210
211         * WebProcess/WebPage/WebPage.cpp:
212         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
213
214 2013-08-08  Alexey Proskuryakov  <ap@apple.com>
215
216         WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
217         https://bugs.webkit.org/show_bug.cgi?id=119587
218
219         Reviewed by Darin Adler.
220
221         * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
222         check, like we already have in WebFrame::url().
223
224 2013-08-07  Antti Koivisto  <antti@apple.com>
225
226         Try to fix EFL build.
227         
228         Not reviewed.
229
230         * CMakeLists.txt:
231
232 2013-08-06  Jer Noble  <jer.noble@apple.com>
233
234         Crash when entering fullscreen video playback from a WebView using WebKit2
235         https://bugs.webkit.org/show_bug.cgi?id=119531
236
237         Reviewed by Tim Horton.
238
239         Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
240
241         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
242         (InitWebCoreSystemInterface):
243
244 2013-08-06  Stephanie Lewis  <slewis@apple.com>
245
246         Update Order Files for Safari
247         <rdar://problem/14517392>
248
249         Unreviewed.
250
251         * mac/WebKit2.order:
252
253 2013-08-04  Sam Weinig  <sam@webkit.org>
254
255         Remove support for HTML5 MicroData
256         https://bugs.webkit.org/show_bug.cgi?id=119480
257
258         Reviewed by Anders Carlsson.
259
260         * Configurations/FeatureDefines.xcconfig:
261
262 2013-08-06  Eunmi Lee  <eunmi15.lee@samsung.com>
263
264         [EFL][WK2] Implement gesture recognizer.
265         https://bugs.webkit.org/show_bug.cgi?id=102643
266
267         Reviewed by Gyuyoung Kim.
268
269         Recognize tap, pan and pinch gestures using touch events.
270         The tap gesture is separated into single tap, double tap and
271         'tap and hold'.
272
273         This patch references the webkit NIX port.
274         https://github.com/WebKitNix/webkitnix
275
276         * PlatformEfl.cmake:
277         * UIProcess/API/efl/EwkView.cpp:
278         (EwkView::EwkView):
279         (EwkView::doneWithTouchEvent):
280         * UIProcess/API/efl/EwkView.h:
281         * UIProcess/API/efl/GestureRecognizer.cpp: Added.
282         (WebKit::GestureHandler::create):
283         (WebKit::GestureHandler::GestureHandler):
284         (WebKit::GestureHandler::handleSingleTap):
285         (WebKit::GestureHandler::handleDoubleTap):
286         (WebKit::GestureHandler::handleTapAndHold):
287         (WebKit::GestureHandler::handlePanStarted):
288         (WebKit::GestureHandler::handlePan):
289         (WebKit::GestureHandler::handlePanFinished):
290         (WebKit::GestureHandler::handlePinchStarted):
291         (WebKit::GestureHandler::handlePinch):
292         (WebKit::GestureHandler::handlePinchFinished):
293         (WebKit::GestureRecognizer::GestureRecognizer):
294         (WebKit::GestureRecognizer::~GestureRecognizer):
295         (WebKit::GestureRecognizer::processTouchEvent):
296         (WebKit::GestureRecognizer::doubleTapTimerCallback):
297         (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
298         (WebKit::GestureRecognizer::exceedsPanThreshold):
299         (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
300         (WebKit::getPointAtIndex):
301         (WebKit::createVectorWithWKArray):
302         (WebKit::GestureRecognizer::noGesture):
303         (WebKit::GestureRecognizer::singleTapGesture):
304         (WebKit::GestureRecognizer::doubleTapGesture):
305         (WebKit::GestureRecognizer::panGesture):
306         (WebKit::GestureRecognizer::pinchGesture):
307         (WebKit::GestureRecognizer::reset):
308         (WebKit::GestureRecognizer::stopTapTimers):
309         * UIProcess/API/efl/GestureRecognizer.h: Added.
310         (WebKit::GestureRecognizer::create):
311
312 2013-07-23  David Farler  <dfarler@apple.com>
313
314         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
315         https://bugs.webkit.org/show_bug.cgi?id=117762
316
317         Reviewed by Mark Rowe.
318
319         * Configurations/DebugRelease.xcconfig:
320         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
321         * Configurations/WebContentProcess.xcconfig:
322         Add ASAN_OTHER_LDFLAGS.
323         * Configurations/WebKit2.xcconfig:
324         Add ASAN_OTHER_LDFLAGS.
325
326 2013-08-06  Andreas Kling  <akling@apple.com>
327
328         REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
329         <http://webkit.org/b/119516>
330         <rdar://problem/14648086>
331
332         Reviewed by Simon Fraser.
333
334         The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
335         of the window rect for fast access from DOMWindow APIs.
336
337         We retain part of the optimization introduced in r151403, namely not computing the
338         viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
339
340         * UIProcess/API/mac/WKView.mm:
341         (-[WKView _updateWindowAndViewFrames]):
342
343 2013-07-26  Mark Rowe  <mrowe@apple.com>
344
345         Logging should be configurable using human-readable channel names rather than crazy bitmasks
346         <http://webkit.org/b/119031>
347
348         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
349         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
350
351         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
352         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
353         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
354         for history and loading being enabled.
355
356         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
357         the old user defaults to remain set for those people that need to switch between version of WebKit before and
358         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
359         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
360
361         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
362         consistency with the other platforms and to enable more code sharing.
363
364         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
365         adding a new logging channel. Now only the header in the relevant project needs to be updated.
366
367         Reviewed by Sam Weinig.
368
369         * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
370         * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
371         (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
372         that handles the initialization.
373         (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
374         to find a log channel rather than repeating the names of the log channels a further two times each.
375         (WebKit::logLevelString): Provide a no-op implementation.
376         * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
377         across the set of all logging channels. Use this macro to declare the logging channels.
378         * Platform/efl/LoggingEfl.cpp:
379         (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
380         * Platform/gtk/LoggingGtk.cpp:
381         (WebKit::logLevelString): Ditto.
382         * Platform/mac/Logging.mac.mm:
383         (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
384         * Platform/qt/LoggingQt.cpp:
385         (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
386         * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
387         * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
388
389 2013-08-05  Anders Carlsson  <andersca@apple.com>
390
391         Ignore the Apple Java placeholder plug-in
392         https://bugs.webkit.org/show_bug.cgi?id=119494
393         <rdar://problem/14610818>
394
395         Reviewed by Beth Dakin.
396
397         Never attempt to load the Java placeholder plug-in.
398
399         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
400         (WebKit::PluginInfoStore::shouldUsePlugin):
401
402 2013-08-03  Tim Horton  <timothy_horton@apple.com>
403
404         Unreviewed, build and style fix for r153693.
405
406         * UIProcess/WebProcessProxy.cpp:
407         * WebProcess/Plugins/PDF/PDFPlugin.h:
408         * WebProcess/WebPage/WebPage.cpp:
409
410 2013-08-03  Tim Horton  <timothy_horton@apple.com>
411
412         Remove SimplePDFPlugin
413         https://bugs.webkit.org/show_bug.cgi?id=119437
414
415         Reviewed by Alexey Proskuryakov.
416
417         * UIProcess/WebProcessProxy.cpp:
418         (WebKit::WebProcessProxy::getPlugins):
419         * WebProcess/WebPage/WebPage.cpp:
420         (WebKit::WebPage::createPlugin):
421         Don't add SimplePDFPlugin, nor try to instantiate it.
422
423         * WebProcess/Plugins/PDF/PDFPlugin.h:
424         * WebProcess/Plugins/PDF/PDFPlugin.mm:
425         Merge previously inherited behavior in from SimplePDFPlugin.
426
427         * WebKit2.xcodeproj/project.pbxproj:
428         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
429         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
430         Remove SimplePDFPlugin.
431
432 2013-08-03  Tim Horton  <timothy_horton@apple.com>
433
434         Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
435         https://bugs.webkit.org/show_bug.cgi?id=119411
436
437         Reviewed by Simon Fraser.
438
439         Mac is the only holdout that performs non-composited fades of page
440         overlays. We should adopt that mechanism (as a precursor to doing a
441         CA-accelerated fade) and remove the now-unnecessary property.
442
443         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
444         (WKBundlePageOverlayFractionFadedIn):
445         Always return 1 (fully-faded-in) so that clients who attempt to use this
446         to bake the fade opacity into their painting will paint at full opacity,
447         allowing us to do the composited fade separately.
448
449         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
450         * WebProcess/WebPage/DrawingArea.h:
451         * WebProcess/WebPage/DrawingAreaImpl.cpp:
452         * WebProcess/WebPage/DrawingAreaImpl.h:
453         * WebProcess/WebPage/LayerTreeHost.h:
454         * WebProcess/WebPage/PageOverlay.cpp:
455         (WebKit::PageOverlay::PageOverlay):
456         (WebKit::PageOverlay::setPage):
457         (WebKit::PageOverlay::setNeedsDisplay):
458         (WebKit::PageOverlay::fadeAnimationTimerFired):
459         * WebProcess/WebPage/PageOverlay.h:
460         Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
461
462         * WebProcess/WebPage/FindController.cpp:
463         (WebKit::FindController::drawRect):
464         Draw the find overlay without taking the PageOverlay's fade into account.
465
466         * WebProcess/WebPage/TapHighlightController.cpp:
467         (WebKit::TapHighlightController::drawRect):
468         Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
469         "false" for all ports now, take the second path here.
470
471         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
472         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
473         (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
474         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
475         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
476         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
477         Implement setPageOverlayOpacity for DrawingAreaImpl
478         and TiledCoreAnimationDrawingArea.
479
480 2013-08-02  Gavin Barraclough  <barraclough@apple.com>
481
482         Remove no-arguments constructor to PropertySlot
483         https://bugs.webkit.org/show_bug.cgi?id=119460
484
485         Reviewed by Geoff Garen.
486
487         This constructor was unsafe if getValue is subsequently called,
488         and the property is a getter. Simplest to just remove it.
489
490         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
491         (WebKit::JSNPObject::getOwnPropertyDescriptor):
492
493 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
494
495         [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
496         <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
497
498         Reviewed by Tim Horton.
499
500         * UIProcess/mac/WebColorPickerMac.mm:
501         (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
502           is not null, then properly destroy it first before destroying WebColorPickerMac object.
503
504 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
505
506         [Forms: color] The positioning of the popover color well is inverted
507         <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
508
509         Reviewed by Tim Horton.
510
511         This patch converts the coordinates of the <input type='color'> element to
512         the window's base coordinate system.
513
514         * UIProcess/mac/WebColorPickerMac.mm:
515         (-[WKColorPopoverMac initWithFrame:inView:]):
516
517 2013-08-01  Ruth Fong  <ruth_fong@apple.com>
518
519         [Forms: color] <input type='color'> popover color well implementation
520         <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
521
522         Reviewed by Benjamin Poulain.
523
524         This patch adds an popover implementation of <input type='color'>.
525
526         * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
527
528         * UIProcess/API/mac/PageClientImpl.mm:
529         (WebKit::PageClientImpl::createColorPicker): Updated to pass the 
530           coordinates of the <input type='color'> element and the WKView 
531           object for the window.
532
533         * UIProcess/WebPageProxy.cpp:
534         (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color 
535           picker when the view is resized.
536         (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
537           picker when the view is no longer in the window.
538         (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
539           or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
540
541         * UIProcess/mac/WebColorPickerMac.h:
542         * UIProcess/mac/WebColorPickerMac.mm:
543         (WebKit::WebColorPickerMac::create):
544         (WebKit::WebColorPickerMac::~WebColorPickerMac):
545         (WebKit::WebColorPickerMac::WebColorPickerMac):
546         (WebKit::WebColorPickerMac::endPicker):
547         (WebKit::WebColorPickerMac::setSelectedColor):
548         (WebKit::WebColorPickerMac::showColorPicker):
549         Methods updated to handle both the color panel implementation and 
550           the popover implementation; also renamed m_panel to m_colorPickerUI. 
551
552         (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
553         (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
554         (-[WKColorPopoverMac dealloc]):
555         (-[WKColorPopoverMac invalidate]):
556         (-[WKColorPopoverMac windowWillClose:]):
557         (-[WKColorPopoverMac didChooseColor:]):
558         (-[WKColorPopoverMac setColor:]):
559         WKColorPopoverMac provides the popover implementation of <input type='color'>.
560
561         (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of 
562           WKColorPickerMac::didChooseColor.
563
564 2013-08-01  Anders Carlsson  <andersca@apple.com>
565
566         Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
567         https://bugs.webkit.org/show_bug.cgi?id=119412
568
569         Reviewed by Simon Fraser.
570
571         For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
572         expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
573         we don't leak the array if there is no WKContextClient.
574         
575         * UIProcess/WebContext.cpp:
576         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
577         * UIProcess/WebContextClient.cpp:
578         (WebKit::WebContextClient::plugInInformationBecameAvailable):
579
580 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
581
582         Remove return statement in void function
583         https://bugs.webkit.org/show_bug.cgi?id=119379
584
585         Reviewed by Darin Adler.
586
587         It does not make sense to return a value in void function.
588
589         * WebProcess/WebProcess.cpp:
590         (WebKit::addCaseFoldedCharacters):
591
592 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
593
594         [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
595         https://bugs.webkit.org/show_bug.cgi?id=119381
596
597         Reviewed by Darin Adler.
598
599         The is a followup to r153355. I missed to add USE(SOUP) guard in
600         WebProcess::destroyPrivateBrowsingSession.
601
602         * WebProcess/WebProcess.cpp:
603         (WebKit::WebProcess::destroyPrivateBrowsingSession):
604
605 2013-08-01  Milian Wolff  <milian.wolff@kdab.com>
606
607         [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
608         https://bugs.webkit.org/show_bug.cgi?id=108474
609
610         Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
611         and processDidBecomeResponsive signals to QML's WebView.experimental.
612
613         Reviewed by Jocelyn Turcotte.
614
615         * UIProcess/API/qt/qquickwebview.cpp:
616         (QQuickWebViewPrivate::processDidCrash):
617         (QQuickWebViewPrivate::didRelaunchProcess):
618         (QQuickWebViewPrivate::processDidBecomeUnresponsive):
619         (QQuickWebViewPrivate::processDidBecomeResponsive):
620         * UIProcess/API/qt/qquickwebview_p.h:
621         * UIProcess/API/qt/qquickwebview_p_p.h:
622         (QQuickWebViewPrivate):
623
624 2013-07-31  Kwang Yul Seo  <skyul@company100.net>
625
626         Use emptyString instead of String("")
627         https://bugs.webkit.org/show_bug.cgi?id=119335
628
629         Reviewed by Darin Adler.
630
631         Use emptyString() instead of String("") because it is better style and
632         faster. This is a followup to r116908, removing all occurrences of
633         String("") from WebKit.
634
635         * Shared/mac/WebEventFactory.mm:
636         (WebKit::textFromEvent):
637         (WebKit::unmodifiedTextFromEvent):
638
639 2013-07-31  Ruth Fong  <ruth_fong@apple.com>
640
641         <input type=color> Mac UI behaviour
642         <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
643
644         Implemented <input type='color'> on Mac using the native color picker. 
645
646         Reviewed by Brady Eidson.
647
648         Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
649         https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
650
651         * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
652
653         * UIProcess/API/mac/PageClientImpl.mm:
654         (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
655           and return a WebColorPickerMac object.
656
657         * UIProcess/WebColorPicker.cpp:
658         (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
659         (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
660         * UIProcess/WebColorPicker.h:
661
662         * UIProcess/WebPageProxy.cpp:
663         (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
664         (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
665           multiple <input type='color'> elements on a page.
666         (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
667         (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
668
669         * UIProcess/mac/WebColorPickerMac.h: Added.
670         * UIProcess/mac/WebColorPickerMac.mm: Added.
671         (WebKit::WebColorPickerMac::create):
672         (WebKit::WebColorPickerMac::~WebColorPickerMac):
673         (WebKit::WebColorPickerMac::WebColorPickerMac):
674         (WebKit::WebColorPickerMac::endPicker):
675         (WebKit::WebColorPickerMac::setSelectedColor):
676         (WebKit::WebColorPickerMac::didChooseColor):
677         (WebKit::WebColorPickerMac::showColorPicker):
678         WebColorPickerMac contains a reference to a WKColorPanelMac object
679           and is responsible for maintaining the color picker UI.
680
681         (-[WKColorPanelMac setAndShowPicker:withColor:]):
682         (-[WKColorPanelMac invalidate]):
683         (-[WKColorPanelMac windowWillClose:]):
684         (-[WKColorPanelMac didChooseColor:]):
685         (-[WKColorPanelMac setColor:]):
686         WKColorPanelMac is a wrapper for a NSColorPanel object and 
687           is responsible for the color picker UI.
688
689         * WebKit2.xcodeproj/project.pbxproj:
690
691         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
692         (WebKit::WebChromeClient::createColorChooser): Updated to always create a 
693           WebColorChooser object.
694
695         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
696         (WebKit::WebColorChooser::reattachColorChooser): Sets the page's 
697           active color chooser to the current object and pings the UIProcess
698           to show the color picker.
699         (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
700           color picker if the WebColorChooser object is the active color element.
701         * WebProcess/WebCoreSupport/WebColorChooser.h:
702
703 2013-07-30  Gavin Barraclough  <barraclough@apple.com>
704
705         Some cleanup in JSValue::get
706         https://bugs.webkit.org/show_bug.cgi?id=119343
707
708         Reviewed by Geoff Garen.
709
710         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
711         (WebKit::JSNPObject::getOwnPropertySlot):
712         * WebProcess/Plugins/Netscape/JSNPObject.h:
713             - getOwnPropertySlot, JSCell -> JSObject
714
715 2013-07-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
716
717         [Qt] Build WebKit with C++11
718         https://bugs.webkit.org/show_bug.cgi?id=119337
719
720         Reviewed by Csaba Osztrogonác.
721
722         We no longer need to enable C++11 specifically for WebKit2.
723
724         * WebKit2.pri:
725
726 2013-07-30  Tim Horton  <timothy_horton@apple.com>
727
728         DHTML drag can result in a null-deref under WebDragClient::startDrag
729         https://bugs.webkit.org/show_bug.cgi?id=119297
730         <rdar://problem/14213012>
731
732         Reviewed by Simon Fraser.
733
734         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
735         (WebKit::convertImageToBitmap):
736         ShareableBitmap::createShareable can return null, but shouldn't dereference that.
737
738 2013-07-30  Ruth Fong  <ruth_fong@apple.com>
739
740         Rename <input type='color'> functions in WebPageProxy, WebColorPicker
741         <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
742
743         Reviewed by Tim Horton.
744
745         In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
746         by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
747
748         * UIProcess/WebColorPicker.cpp:
749         (WebKit::WebColorPicker::endPicker):
750         * UIProcess/WebColorPicker.h:
751         * UIProcess/WebColorPickerResultListenerProxy.cpp:
752         (WebKit::WebColorPickerResultListenerProxy::setColor):
753         * UIProcess/WebPageProxy.cpp:
754         (WebKit::WebPageProxy::showColorPicker):
755         (WebKit::WebPageProxy::setColorPickerColor):
756         (WebKit::WebPageProxy::endColorPicker):
757         (WebKit::WebPageProxy::didEndColorPicker):
758         * UIProcess/WebPageProxy.h:
759         * UIProcess/WebPageProxy.messages.in:
760         * UIProcess/qt/WebColorPickerQt.cpp:
761         (WebKit::WebColorPickerQt::createItem):
762         (WebKit::WebColorPickerQt::notifyColorSelected):
763         (WebKit::WebColorPickerQt::endPicker):
764         * UIProcess/qt/WebColorPickerQt.h:
765         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
766         (WebKit::WebColorChooser::WebColorChooser):
767         (WebKit::WebColorChooser::setSelectedColor):
768         (WebKit::WebColorChooser::endChooser):
769         * WebProcess/WebPage/WebPage.cpp:
770         (WebKit::WebPage::didEndColorPicker):
771         * WebProcess/WebPage/WebPage.h:
772         * WebProcess/WebPage/WebPage.messages.in:
773
774 2013-07-30  Anders Carlsson  <andersca@apple.com>
775
776         Speculative fix for crash due to string access on multiple threads
777         https://bugs.webkit.org/show_bug.cgi?id=119279
778         <rdar://problem/14267833>
779
780         Reviewed by Darin Adler.
781
782         We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
783         that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
784         where the refcount can be accessed simultaneously from two threads.
785
786         Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
787         clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
788
789         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
790         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
791         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
792         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
793
794 2013-07-30  Tim Horton  <timothy_horton@apple.com>
795
796         Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
797         https://bugs.webkit.org/show_bug.cgi?id=119275
798
799         Reviewed by Simon Fraser.
800
801         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
802         (WebKit::imageForRect):
803         * WebProcess/WebPage/WebPage.cpp:
804         (WebKit::WebPage::scaledSnapshotWithOptions):
805         Fix typo.
806
807 2013-07-30  Anders Carlsson  <andersca@apple.com>
808
809         Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
810         https://bugs.webkit.org/show_bug.cgi?id=119270
811         <rdar://problem/13368226>
812
813         Reviewed by Darin Adler.
814
815         Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
816         they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
817         since we don't know the plug-in or connection. 
818         
819         Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
820         destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
821
822         * Platform/CoreIPC/Connection.cpp:
823         (CoreIPC::Connection::Connection):
824         (CoreIPC::Connection::sendSyncMessage):
825         * Platform/CoreIPC/Connection.h:
826         (CoreIPC::Connection::inSendSync):
827         * PluginProcess/PluginControllerProxy.cpp:
828         (WebKit::PluginControllerProxy::destroy):
829
830 2013-07-30  Tim Horton  <timothy_horton@apple.com>
831
832         Null deref under WebPage::scaledSnapshotWithOptions
833         https://bugs.webkit.org/show_bug.cgi?id=119243
834         <rdar://problem/14502050>
835
836         Reviewed by Darin Adler.
837
838         * WebProcess/WebPage/WebPage.cpp:
839         (WebKit::WebPage::scaledSnapshotWithOptions):
840         WebFrame::coreFrame() can be null (if the Frame is already torn down),
841         so we should check it.
842
843 2013-07-30  Tim Horton  <timothy_horton@apple.com>
844
845         Null deref under PluginView::handlesPageScaleFactor()
846         https://bugs.webkit.org/show_bug.cgi?id=119231
847         <rdar://problem/14440207>
848
849         Reviewed by Darin Adler.
850
851         Null-check the PluginView in the caller as well.
852
853         * WebProcess/WebPage/WebFrame.cpp:
854         (WebKit::WebFrame::handlesPageScaleGesture):
855
856 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
857
858         Remove unused Download*.cpp files
859         https://bugs.webkit.org/show_bug.cgi?id=119248
860
861         Reviewed by Anders Carlsson.
862
863         * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
864         * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
865
866 2013-07-30  Jeff Miller  <jeffm@apple.com>
867
868         Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
869         https://bugs.webkit.org/show_bug.cgi?id=119269
870         <rdar://problem/14582393>
871
872         Reviewed by Anders Carlsson.
873
874         * UIProcess/WebPageProxy.cpp:
875         (WebKit::WebPageProxy::processIdentifier):
876         Return 0 if the page is closed instead of requiring isValid().
877
878 2013-07-30  Kwang Yul Seo  <skyul@company100.net>
879
880         [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
881         https://bugs.webkit.org/show_bug.cgi?id=119034
882
883         Reviewed by Anders Carlsson.
884
885         The Mac and EFL ports use the same implementation of
886         WebEditorClient::checkTextOfParagraph and GTK will use the same
887         implementation too. So rather than duplicating the same code in
888         platform specific files, move the implementation to platform agnostic
889         WebProcess/WebCoreSupport/WebEditorClient.cpp.
890
891         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
892         (WebKit::WebEditorClient::checkTextOfParagraph):
893         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
894         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
895
896 2013-07-30  Brian Holt  <brian.holt@samsung.com>
897
898         [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
899         https://bugs.webkit.org/show_bug.cgi?id=119258
900
901         Reviewed by Martin Robinson.
902
903         Corrected the installed URI response property from PROP_REQUEST to
904         PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
905         WEBKIT_TYPE_URI_RESPONSE.
906
907         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
908         (webkit_response_policy_decision_class_init):
909
910 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
911
912         Unreviewed. Fix make distcheck.
913
914         * GNUmakefile.list.am: Add missing header file to compilation.
915
916 2013-07-29  Tim Horton  <timothy_horton@apple.com>
917
918         [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
919         https://bugs.webkit.org/show_bug.cgi?id=119225
920         <rdar://problem/14568841>
921
922         Reviewed by Simon Fraser.
923
924         Tell CoreAnimation to flush the implicit transaction before replying
925         when using endDeferringViewInWindowChangesSync, as that method's contract
926         is that the WebProcess is totally ready to be in-window when it returns.
927
928         * UIProcess/API/mac/WKView.mm:
929         (-[WKView endDeferringViewInWindowChanges]):
930         Adopt viewInWindowStateDidChange.
931
932         (-[WKView endDeferringViewInWindowChangesSync]):
933         Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
934
935         * UIProcess/WebPageProxy.cpp:
936         (WebKit::WebPageProxy::viewInWindowStateDidChange):
937         (WebKit::WebPageProxy::viewStateDidChange):
938         Pull viewInWindowStateDidChange out of viewStateDidChange.
939         Request a reply from SetIsInWindow if we're told to.
940
941         * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
942         * WebProcess/WebPage/WebPage.cpp:
943         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
944         Don't build this version on Mac, we'll have a WebPageMac version.
945
946         (WebKit::WebPage::setIsInWindow):
947         Only start the timer to send the didUpdateInWindowState reply if we're asked to.
948
949         * WebProcess/WebPage/WebPage.h:
950         * WebProcess/WebPage/WebPage.messages.in:
951         Add an argument to the SetIsInWindow message for whether the WebProcess
952         should inform the UIProcess when SetIsInWindow completes or not.
953
954         * WebProcess/WebPage/mac/WebPageMac.mm:
955         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
956         Tell CA to flush the implicit transaction before telling the UIProcess that
957         we're finished moving in-window.
958
959 2013-07-29  Tim Horton  <timothy_horton@apple.com>
960
961         Null deref under PluginView::handlesPageScaleFactor()
962         https://bugs.webkit.org/show_bug.cgi?id=119231
963         <rdar://problem/14440207>
964
965         Reviewed by Simon Fraser.
966
967         * WebProcess/Plugins/PluginView.cpp:
968         (WebKit::PluginView::handlesPageScaleFactor):
969         * WebProcess/Plugins/PluginView.h:
970         Null-check m_plugin and check m_isInitialized.
971         Make pageScaleFactor() and handlesPageScaleFactor const.
972
973 2013-07-29  Anders Carlsson  <andersca@apple.com>
974
975         Remove setUnderlayPage() and associated code
976         https://bugs.webkit.org/show_bug.cgi?id=119220
977         <rdar://problem/14392426>
978
979         Reviewed by Jessie Berlin.
980
981         This is dead code, get rid of it.
982
983         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
984         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
985         * WebProcess/WebPage/WebPage.cpp:
986         (WebKit::WebPage::close):
987         (WebKit::WebPage::layoutIfNeeded):
988         (WebKit::WebPage::drawRect):
989         * WebProcess/WebPage/WebPage.h:
990
991 2013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
992
993         CoordinatedGraphics: Add API to get and set the active state of a WebView
994         https://bugs.webkit.org/show_bug.cgi?id=119067
995
996         Reviewed by Noam Rosenthal.
997
998         A view being in the "active" state generally means that it is not in the
999         "background", although this definition can vary depending on the platform
1000         under consideration.
1001
1002         This patch adds the following APIs to WKView:
1003         - bool WKViewIsActive(WKViewRef)
1004         This API accepts a WKViewRef as parameter and returns a boolean indicating
1005         whether the given view is active.
1006
1007         - void WKViewSetIsActive(WKViewRef, bool)
1008         This API accepts a WKViewRef and a boolean as parameteres, and it sets the
1009         active state of the given view to the given boolean argument.
1010
1011         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1012         (WKViewIsActive): API added.
1013         (WKViewSetIsActive): Ditto.
1014         * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
1015         * UIProcess/CoordinatedGraphics/WebView.cpp:
1016         (WebKit::WebView::initialize): Use new setActive method.
1017         (WebKit::WebView::setActive): Added method to set the active state of the
1018         view.
1019         (WebKit::WebView::isActive): Added method to return the active state of
1020         view.
1021         (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
1022         method.
1023         (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
1024         * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
1025         and setActive.
1026
1027 2013-07-29  Jae Hyun Park  <jae.park@company100.net>
1028
1029         Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
1030         https://bugs.webkit.org/show_bug.cgi?id=118949
1031
1032         Reviewed by Noam Rosenthal.
1033
1034         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1035         * WebProcess/WebPage/LayerTreeHost.h:
1036         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1037
1038 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
1039
1040         [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
1041         https://bugs.webkit.org/show_bug.cgi?id=119212
1042
1043         Reviewed by Carlos Garcia Campos.
1044
1045         * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
1046         variables that are not defined during the configuration process.
1047
1048 2013-07-28  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1049
1050         [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
1051         https://bugs.webkit.org/show_bug.cgi?id=119085
1052
1053         Reviewed by Gyuyoung Kim.
1054
1055         Use findContextMenuItem method to check whether the item
1056         appears in context menu.
1057
1058         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1059         (EWK2TextCheckerTest::findContextMenuItem):
1060         Do not report failure inside the method.
1061         It doesn't allow to test the negative test cases.
1062
1063         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
1064         Use findContextMenuItem method.
1065
1066         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
1067         (EWK2TextCheckerTest::selectLearnSpelling):
1068         (EWK2TextCheckerTest::selectIgnoreSpelling):
1069         Verify the return value of findContextMenuItem.
1070
1071         (TEST_F):
1072         Reset wasContextMenuShown variable, it's needed after r152153.
1073         Use waitUntilTrue method.
1074
1075 2013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
1076
1077         Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
1078         https://bugs.webkit.org/show_bug.cgi?id=119186
1079
1080         Reviewed by Anders Carlsson.
1081
1082         * UIProcess/mac/RemoteLayerTreeHost.mm:
1083         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
1084
1085 2013-07-27  Chris Fleizach  <cfleizach@apple.com>
1086
1087         AX: VoiceOver not working with data detection page overlays
1088         https://bugs.webkit.org/show_bug.cgi?id=118680
1089
1090         Reviewed by Sam Weinig.
1091
1092         Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
1093         This requires two methods in a new callback struct. One to copy the attribute names, and the other to 
1094         copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
1095         with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
1096         overlay at this time as there are no clients with such a need.
1097
1098         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1099         (PageOverlayClientImpl::setAccessibilityClient):
1100         (PageOverlayClientImpl::PageOverlayClientImpl):
1101         (PageOverlayClientImpl::copyAccessibilityAttributeValue):
1102         (PageOverlayClientImpl::copyAccessibilityAttributeNames):
1103         (WKBundlePageOverlaySetAccessibilityClient):
1104         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
1105         * WebProcess/WebPage/PageOverlay.cpp:
1106         (WebKit::PageOverlay::copyAccessibilityAttributeValue):
1107         (WebKit::PageOverlay::copyAccessibilityAttributeNames):
1108         * WebProcess/WebPage/PageOverlay.h:
1109         (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
1110         (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
1111         (WebKit::PageOverlay::client):
1112         * WebProcess/WebPage/WebPage.cpp:
1113         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
1114         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
1115         * WebProcess/WebPage/WebPage.h:
1116         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1117         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
1118         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
1119         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
1120
1121 2013-07-27  Simon Fraser  <simon.fraser@apple.com>
1122
1123         If entering fullscreen for a window fails, don't leave things in a bad state
1124         https://bugs.webkit.org/show_bug.cgi?id=119179
1125
1126         Reviewed by Sam Weinig.
1127         
1128         On Lion, attempting to take a video fullscreen when the Safari window is already
1129         fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
1130         
1131         When this happens we have to undo the work done when entering fullscreen, to
1132         avoid leaving things in a bad state.
1133
1134         * UIProcess/mac/WKFullScreenWindowController.mm:
1135         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1136
1137 2013-07-26  Tim Horton  <timothy_horton@apple.com>
1138
1139         Add a mode where autosizing fixes the FrameView height to at least the WKView height
1140         https://bugs.webkit.org/show_bug.cgi?id=119104
1141         <rdar://problem/14549021>
1142
1143         Reviewed by Anders Carlsson.
1144
1145         * Shared/WebPageCreationParameters.cpp:
1146         (WebKit::WebPageCreationParameters::encode):
1147         (WebKit::WebPageCreationParameters::decode):
1148         * Shared/WebPageCreationParameters.h:
1149         Add autoSizingShouldExpandToViewHeight parameter.
1150
1151         * UIProcess/API/mac/WKView.mm:
1152         (-[WKView minimumWidthForAutoLayout]):
1153         (-[WKView setMinimumWidthForAutoLayout:]):
1154         Un-deprecate these as they're still useful if not sending a height.
1155
1156         (-[WKView shouldExpandToViewHeightForAutoLayout]):
1157         (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
1158         * UIProcess/API/mac/WKViewPrivate.h:
1159         New property, forward to WebPageProxy.
1160
1161         * UIProcess/WebPageProxy.cpp:
1162         (WebKit::WebPageProxy::WebPageProxy):
1163         (WebKit::WebPageProxy::creationParameters):
1164         (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
1165         * UIProcess/WebPageProxy.h:
1166         (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
1167         New property, forward to WebPage.
1168
1169         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1170         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1171         If enabled, update the FrameView's autoSizeFixedMinimumHeight.
1172
1173         * WebProcess/WebPage/WebPage.cpp:
1174         (WebKit::WebPage::WebPage):
1175         (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
1176         * WebProcess/WebPage/WebPage.h:
1177         (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
1178         New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
1179         otherwise reset it to 0.
1180
1181         * WebProcess/WebPage/WebPage.messages.in:
1182         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1183         (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
1184         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1185         Retrieve intrinsic content size explicitly from the FrameView, as
1186         it may not have used it as its final contentsSize if
1187         autoSizeFixedMinimumHeight is set.
1188
1189         Set the WebPage's size in case the load is committed so that the
1190         WebFrameLoaderClient doesn't reset us to the wrong size.
1191
1192         Update autoSizeFixedMinimumHeight if enabled when the view size changes.
1193
1194 2013-07-25  Andreas Kling  <akling@apple.com>
1195
1196         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
1197         <http://webkit.org/b/119110>
1198
1199         Reviewed by Anders Carlsson.
1200
1201         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1202         (WebKit::WebChromeClient::focusedElementChanged):
1203         * WebProcess/WebCoreSupport/WebChromeClient.h:
1204
1205 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1206
1207         [WK2][Soup] Add private browsing support
1208         https://bugs.webkit.org/show_bug.cgi?id=118657
1209
1210         Reviewed by Gustavo Noronha Silva.
1211
1212         Support private browsing in WK2 by implementing private browsing
1213         related methods in WebFrameNetworkingContext.
1214
1215         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1216         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1217         Add USE(SOUP) guard.
1218
1219         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1220         Add private browsing support methods. Copied from the Mac port.
1221         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1222         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1223         (WebKit::WebFrameNetworkingContext::storageSession):
1224         Check if the frame enables private browsing and return the private
1225         browsing session.
1226         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1227
1228         * WebProcess/WebProcess.cpp:
1229         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1230         Add USE(SOUP) guard.
1231
1232 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1233
1234         Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
1235         https://bugs.webkit.org/show_bug.cgi?id=118228
1236
1237         Reviewed by Anders Carlsson.
1238
1239         Build fails on some platforms where int64_t and long long are different types.
1240
1241         * Shared/FileAPI/BlobRegistrationData.cpp:
1242         (WebKit::BlobRegistrationData::encode):
1243         Add explicit casts to int64_t.
1244         (WebKit::BlobRegistrationData::decode):
1245         Use int64_t instead of long long.
1246
1247 2013-07-25  Anders Carlsson  <andersca@apple.com>
1248
1249         Remove lastModifiedDate from ResourceResponse
1250         https://bugs.webkit.org/show_bug.cgi?id=119092
1251
1252         Reviewed by Andreas Kling.
1253
1254         Update for WebCore changes.
1255
1256         * WebProcess/Plugins/PluginView.cpp:
1257         (WebKit::lastModifiedDate):
1258         Use ResourceResponse::lastModified() to get the last modified date.
1259
1260         (WebKit::PluginView::Stream::didReceiveResponse):
1261         Call the static lastModified function.
1262
1263         (WebKit::PluginView::manualLoadDidReceiveResponse):
1264         Ditto.
1265
1266 2013-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1267
1268         [GTK] Add support for running unit tests in the web process
1269         https://bugs.webkit.org/show_bug.cgi?id=118427
1270
1271         Reviewed by Gustavo Noronha Silva.
1272
1273         Some tests, like GObject DOM bindings API tests, run entirely in
1274         the WebProcess, so we just need to start the test from the UI
1275         process and wait until the test finishes running in the
1276         WebProcess. Tests are split in two files, one containing the
1277         actual test that runs in the WebProcess and another one to add the
1278         tests to the glib test system that works as a
1279         proxy. WebProcessTestRunner class starts a private DBus session
1280         bus and starts the tests sending a message to the WebExtension
1281         waiting until it finishes or fails. WebProcess tests are created
1282         by defining a class derived from WebProcessTest class and
1283         implementing the static create method and the virtual runTest
1284         method. The macro REGISTER_TEST is used by the web process tests
1285         to register their test cases. This patch includes the migration
1286         of the WebKitDOMNode test, all other GObject DOM bindings tests
1287         will be migrated in the same way in follow up patches.
1288
1289         * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
1290         (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
1291         (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
1292         from the arguments dictionary.
1293         (WebKitDOMNodeTest::testHierarchyNavigation):
1294         (WebKitDOMNodeTest::testInsertion):
1295         (WebKitDOMNodeTest::runTest): Run the given test.
1296         (registerTests): Register test cases.
1297         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
1298         compilation.
1299         * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
1300         (testWebKitDOMNodeHierarchyNavigation):
1301         (testWebKitDOMNodeInsertion):
1302         (beforeAll):
1303         (afterAll):
1304         * UIProcess/API/gtk/tests/TestMain.cpp:
1305         (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
1306         make sure that the GLib bus singleton is initialized by the
1307         private DBus session bus created by the tests.
1308         * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
1309         (testsMap): Initialize and get the global map of tests.
1310         (WebProcessTest::add): Add a new test to the map, keeping a
1311         function to create the test.
1312         (WebProcessTest::create): Create a test for the given name.
1313         (methodCallCallback): Handle RunTest DBus method. It creates and
1314         runs the given test.
1315         (webkit_web_extension_initialize):Register the DBus service for
1316         this WebExtension.
1317         * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
1318         * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
1319         (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
1320         session bus and get a connection to it.
1321         (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
1322         DBus session bus.
1323         (WebProcessTestRunner::proxyCreatedCallback):
1324         (WebProcessTestRunner::proxy): Create a new proxy to send messages
1325         to the WebExtension if it doesn't exists.
1326         (WebProcessTestRunner::onNameAppeared): Called when the DBus
1327         service has been registered in the WebExtension and it's safe to
1328         create a proxy.
1329         (WebProcessTestRunner::onNameVanished): Called when the DBus
1330         service is unregistered. This happens when the web process crash,
1331         so we just exit here, because the g_asserts in the web process
1332         have already registered the error message.
1333         (WebProcessTestRunner::testFinishedCallback): Called when the
1334         WebProcess tests has finished.
1335         (WebProcessTestRunner::runTest): Send a message to the
1336         WebExtension to start the given test and monitor the service.
1337         (WebProcessTestRunner::finishTest): Save the test result and
1338         finish the main loop.
1339         * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
1340
1341 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
1342
1343         Rolled back in r149527 with crash fixed.
1344
1345         Reviewed by Oliver Hunt.
1346
1347             Rationalized 'this' value conversion
1348             https://bugs.webkit.org/show_bug.cgi?id=115542
1349
1350 2013-07-24  Ruth Fong  <ruth_fong@apple.com>
1351
1352         Rename WebColorChooserProxy
1353         <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
1354
1355         Reviewed by Brady Eidson.
1356
1357         Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
1358         implies that it represents the same object as WebColorChooser, which is not true.
1359         Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and 
1360         platform-equivalent versions of it.
1361
1362         * CMakeLists.txt:
1363         * GNUmakefile.list.am:
1364         * Target.pri:
1365         * UIProcess/API/gtk/PageClientImpl.cpp:
1366         (WebKit::PageClientImpl::createColorPicker):
1367         * UIProcess/API/gtk/PageClientImpl.h:
1368         * UIProcess/API/mac/PageClientImpl.h:
1369         * UIProcess/API/mac/PageClientImpl.mm:
1370         (WebKit::PageClientImpl::createColorPicker):
1371         * UIProcess/API/qt/raw/qrawwebview.cpp:
1372         (QRawWebViewPrivate::createColorPicker):
1373         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1374         * UIProcess/CoordinatedGraphics/WebView.cpp:
1375         (WebKit::WebView::createColorPicker):
1376         * UIProcess/CoordinatedGraphics/WebView.h:
1377         * UIProcess/PageClient.h:
1378         * UIProcess/WebColorChooserProxy.cpp: Removed.
1379         * UIProcess/WebColorChooserProxy.h: Removed.
1380         * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
1381         (WebKit::WebColorPicker::WebColorPicker):
1382         (WebKit::WebColorPicker::~WebColorPicker):
1383         (WebKit::WebColorPicker::endChooser):
1384         (WebKit::WebColorPicker::setSelectedColor):
1385         * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
1386         (WebKit::WebColorPicker::create):
1387         * UIProcess/WebPageProxy.cpp:
1388         (WebKit::WebPageProxy::close):
1389         (WebKit::WebPageProxy::showColorChooser):
1390         (WebKit::WebPageProxy::setColorChooserColor):
1391         (WebKit::WebPageProxy::endColorChooser):
1392         (WebKit::WebPageProxy::didEndColorChooser):
1393         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1394         * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
1395         * UIProcess/qt/QtPageClient.cpp:
1396         (WebKit::QtPageClient::createColorPicker):
1397         * UIProcess/qt/QtPageClient.h:
1398         * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
1399         * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
1400         * UIProcess/qt/WebColorPickerQt.cpp: Added.
1401         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
1402         (WebKit::ColorChooserContextObject::currentColor):
1403         (WebKit::ColorChooserContextObject::elementRect):
1404         (WebKit::ColorChooserContextObject::accept):
1405         (WebKit::ColorChooserContextObject::reject):
1406         (WebKit::WebColorPickerQt::WebColorPickerQt):
1407         (WebKit::WebColorPickerQt::~WebColorPickerQt):
1408         (WebKit::WebColorPickerQt::createItem):
1409         (WebKit::WebColorPickerQt::createContext):
1410         (WebKit::WebColorPickerQt::setSelectedColor):
1411         (WebKit::WebColorPickerQt::notifyColorSelected):
1412         (WebKit::WebColorPickerQt::endChooser):
1413         * UIProcess/qt/WebColorPickerQt.h: Added.
1414         (WebKit::WebColorPickerQt::create):
1415         * WebKit2.xcodeproj/project.pbxproj:
1416
1417 2013-07-24  Anders Carlsson  <andersca@apple.com>
1418
1419         Crash when calling WKPageGetProcessIdentifier after aborted process launch
1420         https://bugs.webkit.org/show_bug.cgi?id=119069
1421         <rdar://problem/14494064>
1422
1423         Reviewed by Andreas Kling.
1424
1425         * UIProcess/WebPageProxy.cpp:
1426         (WebKit::WebPageProxy::processIdentifier):
1427         Check if the page is closed instead of checking whether we have a process - We'll always have a process.
1428         
1429         (WebKit::WebPageProxy::isValid):
1430         Make this const.
1431
1432         * UIProcess/WebPageProxy.h:
1433
1434 2013-07-24  Kwang Yul Seo  <skyul@company100.net>
1435
1436         [WK2][Soup] Add entry point for network process
1437         https://bugs.webkit.org/show_bug.cgi?id=110136
1438
1439         Reviewed by Gustavo Noronha Silva.
1440
1441         Original patch by Balazs Kelemen <kbalazs@webkit.org>.
1442
1443         Added a common entry point for non-Mac Unix ports.
1444
1445         * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
1446         (WebKit::NetworkProcessMain):
1447         * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
1448         * unix/NetworkMainUnix.cpp: Added.
1449         (main):
1450
1451 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1452
1453         Remove WKPageGetPlugInInformation - it is not used anymore
1454         https://bugs.webkit.org/show_bug.cgi?id=119047
1455
1456         Reviewed by Alexey Proskuryakov.
1457
1458         Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
1459         and ref-churn issues introduced in r151043, and r151043, which added
1460         WKPageGetPlugInInformation.
1461
1462         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1463         (WKPageIsURLKnownHSTSHost):
1464         * UIProcess/API/C/mac/WKPagePrivateMac.h:
1465         * UIProcess/Plugins/PluginProcessManager.h:
1466         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
1467         * UIProcess/WebPageProxy.cpp:
1468         (WebKit::WebPageProxy::close):
1469         * UIProcess/WebPageProxy.h:
1470         * UIProcess/WebPageProxy.messages.in:
1471         * UIProcess/mac/WebPageProxyMac.mm:
1472         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1473         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1474         * WebProcess/Plugins/Plugin.h:
1475         * WebProcess/Plugins/PluginProxy.h:
1476         * WebProcess/Plugins/PluginView.h:
1477         * WebProcess/WebPage/WebPage.h:
1478         * WebProcess/WebPage/WebPage.messages.in:
1479         * WebProcess/WebPage/mac/WebPageMac.mm:
1480
1481 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1482
1483         Remove WKPageGetPlugInInformation - it is not used anymore
1484         https://bugs.webkit.org/show_bug.cgi?id=119047
1485
1486         Rubber-stamped by Alexey Proskuryakov.
1487
1488         Revert r152328, which added a key used only in the callback info for
1489         WKPageGetPlugInInformation.
1490
1491         * Shared/API/c/WKPluginInformation.cpp:
1492         * Shared/API/c/WKPluginInformation.h:
1493         * Shared/Plugins/Netscape/PluginInformation.cpp:
1494         * Shared/Plugins/Netscape/PluginInformation.h:
1495         * UIProcess/WebPageProxy.h:
1496         * UIProcess/WebPageProxy.messages.in:
1497         * UIProcess/mac/WebPageProxyMac.mm:
1498         (WebKit::WebPageProxy::containsPlugInCallback):
1499         * WebProcess/WebPage/mac/WebPageMac.mm:
1500         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
1501
1502 2013-07-24  Anton Obzhirov  <a.obzhirov@samsung.com>
1503
1504         [GTK] TestInspectorServer unit test is timing out
1505         https://bugs.webkit.org/show_bug.cgi?id=105866
1506
1507         Reviewed by Gustavo Noronha Silva.
1508
1509         The test failed because it couldn't find inspector resources in default folder
1510         (make install step was missing). It uses now resources available in
1511         WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
1512         easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
1513
1514         * UIProcess/API/gtk/tests/GNUmakefile.am:
1515         * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
1516         (main):
1517         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
1518         (testInspectorServerPageList):
1519         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1520         (WebKit::WebInspectorServer::platformResourceForPath):
1521         (WebKit::WebInspectorServer::buildPageList):
1522         (WebKit::WebInspectorServer::inspectorServerFilesPath):
1523
1524 2013-07-23  Simon Cooper  <scooper@apple.com>
1525
1526         10.7: Java applets do not work due to sandbox violation/exception
1527         https://bugs.webkit.org/show_bug.cgi?id=118920
1528         <rdar://problem/14471541&12910934&14223830&14260729&14267679>
1529
1530         Reviewed by Alexey Proskuryakov.
1531
1532         Introduce versioning into the common profile and use it to fix
1533         a number of issues with Java on 10.7 and 10.8. Allow writing the
1534         com.apple.java.util.prefs preference file. This change also
1535         introduces a "/Library/Application Support/Java/PublicFiles"
1536         area which Java can read without any restrictions. Files written
1537         to this location will need to be created and written to by
1538         a privileged process.
1539
1540         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1541         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
1542
1543 2013-07-23  Eunmi Lee  <eunmi15.lee@samsung.com>
1544
1545         [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
1546         https://bugs.webkit.org/show_bug.cgi?id=110085
1547
1548         Reviewed by Kenneth Rohde Christiansen.
1549
1550         Add doneWithTouchEvent callback to the WKViewClient in order to get the
1551         result of touch events in the EwkView. The result will be used to
1552         recognize gestures in the Bug 102643.
1553
1554         APIs to get values from WKTouchEventRef and WKTouchPointRef are added
1555         because WKTypeRef is opaque to the applications.
1556
1557         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1558         * UIProcess/API/C/efl/WKAPICastEfl.h:
1559         (WebKit::toAPI):
1560         * UIProcess/API/C/efl/WKEventEfl.cpp:
1561         (WKTouchEventGetType):
1562         (WKTouchEventGetTouchPoints):
1563         (WKTouchEventGetModifiers):
1564         (WKTouchEventGetTimestamp):
1565         (WKTouchPointGetID):
1566         (WKTouchPointGetState):
1567         (WKTouchPointGetScreenPosition):
1568         (WKTouchPointGetPosition):
1569         (WKTouchPointGetRadius):
1570         (WKTouchPointGetRotationAngle):
1571         (WKTouchPointGetForceFactor):
1572         * UIProcess/API/C/efl/WKEventEfl.h:
1573         * UIProcess/API/efl/EwkView.cpp:
1574         (EwkView::doneWithTouchEvent):
1575         * UIProcess/API/efl/EwkView.h:
1576         * UIProcess/CoordinatedGraphics/WebView.cpp:
1577         (WebKit::WebView::doneWithTouchEvent):
1578         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
1579         (WebKit::WebViewClient::doneWithTouchEvent):
1580         * UIProcess/CoordinatedGraphics/WebViewClient.h:
1581         * UIProcess/efl/ViewClientEfl.cpp:
1582         (WebKit::ViewClientEfl::doneWithTouchEvent):
1583         (WebKit::ViewClientEfl::ViewClientEfl):
1584         * UIProcess/efl/ViewClientEfl.h:
1585
1586 2013-07-22  Alexey Proskuryakov  <ap@apple.com>
1587
1588         Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
1589         https://bugs.webkit.org/show_bug.cgi?id=118976
1590         <rdar://problem/14155030>
1591
1592         Reviewed by Sam Weinig.
1593
1594         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
1595         Clear m_gestureEventQueue, just like we clear all other event queues here.
1596
1597 2013-07-21  Anders Carlsson  <andersca@apple.com>
1598
1599         Java Updater not launched on Lion and Mountain Lion
1600         https://bugs.webkit.org/show_bug.cgi?id=118953
1601         <rdar://problem/14496721>
1602
1603         Reviewed by Sam Weinig.
1604
1605         On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
1606         them has "localhost" specified, even if the paths are otherwise equal. Work around this by
1607         comparing the paths directly.
1608
1609         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1610         (WebKit::isJavaUpdaterURL):
1611
1612 2013-07-19  Morten Stenshorne  <mstensho@opera.com>
1613
1614         [GTK] Need a way to enable region based columns from the command line
1615         https://bugs.webkit.org/show_bug.cgi?id=116611
1616
1617         Reviewed by Martin Robinson.
1618
1619         Add an environment variable to enable experimental features.
1620
1621         This provides a means to enable experimental features without polluting
1622         the public API.
1623
1624         Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
1625
1626         Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
1627         Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
1628
1629         So far the only feature is region based columns (implement multicol using
1630         the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
1631
1632         Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
1633
1634         * GNUmakefile.list.am:
1635         * PlatformGTK.cmake:
1636         * UIProcess/API/gtk/WebKitSettings.cpp:
1637         (webKitSettingsConstructed):
1638         (webkit_settings_class_init):
1639         * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
1640         (WebKit):
1641         (Setting):
1642         (WebKit::ExperimentalFeatures::ExperimentalFeatures):
1643         (WebKit::ExperimentalFeatures::isEnabled):
1644         (WebKit::ExperimentalFeatures::setEnableByName):
1645         (WebKit::ExperimentalFeatures::parseEnvironment):
1646         * UIProcess/gtk/ExperimentalFeatures.h: Added.
1647         (WebKit):
1648         (ExperimentalFeatures):
1649
1650 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
1651
1652         [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
1653         https://bugs.webkit.org/show_bug.cgi?id=118585
1654
1655         Reviewed by Anders Carlsson.
1656
1657         The function to find zoomable area is needed in order to implement the
1658         feature to scale for double-tap gesture. The WK2 EFL and NIX port want
1659         to use that function, so extract the code from the Qt port, make it
1660         usable in the CoordinatedGraphics and add API and callback.
1661
1662         * CMakeLists.txt:
1663         * Target.pri:
1664         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1665         (WKViewFindZoomableAreaForRect):
1666         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1667         * UIProcess/API/efl/EwkView.cpp:
1668         (EwkView::didFindZoomableArea):
1669         * UIProcess/API/efl/EwkView.h:
1670         * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
1671         (WebKit::WebPageProxy::findZoomableAreaForPoint):
1672         (WebKit::WebPageProxy::didFindZoomableArea):
1673         * UIProcess/CoordinatedGraphics/WebView.cpp:
1674         (WebKit::WebView::didFindZoomableArea):
1675         (WebKit::WebView::findZoomableAreaForPoint):
1676         * UIProcess/CoordinatedGraphics/WebView.h:
1677         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
1678         (WebKit::WebViewClient::didFindZoomableArea):
1679         * UIProcess/CoordinatedGraphics/WebViewClient.h:
1680         * UIProcess/PageClient.h:
1681         * UIProcess/WebPageProxy.h:
1682         * UIProcess/WebPageProxy.messages.in:
1683         * UIProcess/efl/ViewClientEfl.cpp:
1684         (WebKit::ViewClientEfl::didFindZoomableArea):
1685         (WebKit::ViewClientEfl::ViewClientEfl):
1686         * UIProcess/efl/ViewClientEfl.h:
1687         * UIProcess/qt/WebPageProxyQt.cpp:
1688         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
1689         (WebKit::WebPage::findZoomableAreaForPoint):
1690         * WebProcess/WebPage/WebPage.cpp:
1691         * WebProcess/WebPage/WebPage.h:
1692         * WebProcess/WebPage/WebPage.messages.in:
1693
1694 2013-07-18  Simon Cooper  <scooper@apple.com>
1695
1696         Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
1697         https://bugs.webkit.org/show_bug.cgi?id=118874
1698         <rdar://problem/14271327>
1699
1700         Reviewed by Alexey Proskuryakov.
1701
1702         Silently deny access to FlashAuthor.cfg. This location contains
1703         files containing lists of paths that Flash Player will
1704         "allow" access to (without asking the user). Since the plugin
1705         sandbox won't permit the access to the listed paths it is better
1706         to silently block attempts to read this "whitelist".
1707
1708         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
1709
1710 2013-07-18  Tim Horton  <timothy_horton@apple.com>
1711
1712         [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
1713         https://bugs.webkit.org/show_bug.cgi?id=118862
1714
1715         Reviewed by Anders Carlsson.
1716
1717         * WebProcess/Plugins/PluginView.cpp:
1718         (WebKit::PluginView::PluginView):
1719         Add m_pluginProcessHasCrashed.
1720
1721         (WebKit::PluginView::platformLayer):
1722         Don't return the plugin's layer if it has crashed.
1723
1724         (WebKit::PluginView::pluginProcessCrashed):
1725         Set m_pluginProcessHasCrashed.
1726         Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
1727
1728         * WebProcess/Plugins/PluginView.h:
1729         Add m_pluginProcessHasCrashed.
1730
1731 2013-07-18  Alexey Proskuryakov  <ap@apple.com>
1732
1733         <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
1734         <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
1735         https://bugs.webkit.org/show_bug.cgi?id=118855
1736
1737         Reviewed by Brady Eidson.
1738
1739         * NetworkProcess/NetworkResourceLoader.cpp:
1740         (WebKit::NetworkResourceLoader::cleanup):
1741         (WebKit::NetworkResourceLoader::didFinishLoading):
1742         (WebKit::NetworkResourceLoader::didFail):
1743         Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
1744         do this when aborting a loader that currently loading from network.
1745     
1746         * NetworkProcess/SchedulableLoader.cpp:
1747         (WebKit::SchedulableLoader::SchedulableLoader):
1748         (WebKit::SchedulableLoader::consumeSandboxExtensions):
1749         (WebKit::SchedulableLoader::invalidateSandboxExtensions):
1750         * NetworkProcess/SchedulableLoader.h:
1751         Keep track of whether sandbox extensions are consumed, we don't want to revoke
1752         extensions that were never consumed (as used to be the case with sync loaders,
1753         and would be with async ones after the above fix). Also, get rid of extensions
1754         immediately when invalidating, we won't need them again.
1755
1756 2013-07-18  Tim Horton  <timothy_horton@apple.com>
1757
1758         Remove PDFViewController and WKView "custom representations"
1759         https://bugs.webkit.org/show_bug.cgi?id=118720
1760
1761         Reviewed by Alexey Proskuryakov.
1762
1763         PDFViewController was the only implementation of
1764         a "custom representation" for a WKView. As it has
1765         been superceded by PDFPlugin, we can remove both
1766         PDFViewController and the notion of a WKView custom
1767         representation.
1768
1769         * UIProcess/API/gtk/PageClientImpl.cpp:
1770         * UIProcess/API/gtk/PageClientImpl.h:
1771         * UIProcess/API/mac/PDFViewController.h: Removed.
1772         * UIProcess/API/mac/PDFViewController.mm: Removed.
1773         * UIProcess/API/mac/PageClientImpl.h:
1774         * UIProcess/API/mac/PageClientImpl.mm:
1775         * UIProcess/API/mac/WKView.mm:
1776         (-[WKView accessibilityFocusedUIElement]):
1777         (-[WKView accessibilityHitTest:]):
1778         (-[WKView accessibilityAttributeValue:]):
1779         (-[WKView printOperationWithPrintInfo:forFrame:]):
1780         * UIProcess/API/mac/WKViewInternal.h:
1781         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1782         * UIProcess/CoordinatedGraphics/WebView.cpp:
1783         * UIProcess/CoordinatedGraphics/WebView.h:
1784         * UIProcess/DrawingAreaProxy.h:
1785         * UIProcess/DrawingAreaProxyImpl.cpp:
1786         * UIProcess/DrawingAreaProxyImpl.h:
1787         * UIProcess/PageClient.h:
1788         * UIProcess/WebPageProxy.cpp:
1789         (WebKit::WebPageProxy::WebPageProxy):
1790         (WebKit::WebPageProxy::supportsTextEncoding):
1791         (WebKit::WebPageProxy::supportsTextZoom):
1792         (WebKit::WebPageProxy::setTextZoomFactor):
1793         (WebKit::WebPageProxy::setPageZoomFactor):
1794         (WebKit::WebPageProxy::setPageAndTextZoomFactors):
1795         (WebKit::WebPageProxy::findString):
1796         (WebKit::WebPageProxy::countStringMatches):
1797         (WebKit::WebPageProxy::didCommitLoadForFrame):
1798         * UIProcess/WebPageProxy.h:
1799         (WebKit::WebPageProxy::textZoomFactor):
1800         (WebKit::WebPageProxy::pageZoomFactor):
1801         * UIProcess/WebPageProxy.messages.in:
1802         * UIProcess/qt/QtPageClient.h:
1803         * WebKit2.xcodeproj/project.pbxproj:
1804         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1805         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
1806         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1807         (WebKit::WebFrameLoaderClient::committedLoad):
1808         (WebKit::WebFrameLoaderClient::finishedLoading):
1809         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
1810         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1811         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1812         * WebProcess/WebPage/DrawingArea.h:
1813         * WebProcess/WebPage/DrawingArea.messages.in:
1814         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1815         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
1816         (WebKit::DrawingAreaImpl::scroll):
1817         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1818         (WebKit::DrawingAreaImpl::display):
1819         * WebProcess/WebPage/DrawingAreaImpl.h:
1820         * WebProcess/WebPage/WebPage.cpp:
1821         * WebProcess/WebPage/WebPage.h:
1822         * WebProcess/WebPage/mac/WebPageMac.mm:
1823         (WebKit::WebPage::platformPreferencesDidChange):
1824         * mac/WebKit2.order:
1825
1826 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1827
1828         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
1829         https://bugs.webkit.org/show_bug.cgi?id=118797
1830
1831         Reviewed by Christophe Dumez.
1832
1833         Some mouseClick methods are used in test_ewk2_color_picker.cpp.
1834         But it is difficult to understand what they mean.
1835         So i would like to replace those with more meaningful method for readability.
1836
1837         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1838         (EWK2ColorPickerTest::clickButton):
1839         (TEST_F):
1840
1841 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
1842
1843         [WK2] Replace getRect() to pixelSnappedBoundingBox().
1844         https://bugs.webkit.org/show_bug.cgi?id=118588
1845
1846         Reviewed by Noam Rosenthal.
1847
1848         The Node::getRect() function was removed in the
1849         http://trac.webkit.org/changeset/128006, so use
1850         pixelSnappedBoundingBox() instead.
1851
1852         * WebProcess/WebPage/WebPage.cpp:
1853         (WebKit::WebPage::findZoomableAreaForPoint):
1854
1855 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1856
1857         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
1858         https://bugs.webkit.org/show_bug.cgi?id=118796
1859
1860         Reviewed by Christophe Dumez.
1861
1862         Some mouseClick methods are used in test_ewk2_context_menu.cpp.
1863         But it is difficult to understand what they mean.
1864         So i would like to replace those with more meaningful method for readability.
1865
1866         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
1867         (EWK2ContextMenuTest::testContextMenu):
1868         (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
1869         (EWK2ContextMenuTest::testContextMenuForSubmenu):
1870         (EWK2ContextMenuTest::finishTest):
1871         (EWK2ContextMenuTest::showContextMenu):
1872         (TEST_F):
1873
1874 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1875
1876         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
1877         https://bugs.webkit.org/show_bug.cgi?id=118792
1878
1879         Reviewed by Christophe Dumez.
1880
1881         Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
1882         But it is difficult to understand what they mean.
1883         So i would like to replace those with more meaningful method for readability.
1884
1885         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1886         (EWK2FileChooserRequestTest::clickFileInput):
1887         (TEST_F):
1888
1889 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1890
1891         [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
1892         https://bugs.webkit.org/show_bug.cgi?id=118790
1893
1894         Reviewed by Christophe Dumez.
1895
1896         All the static methods should be moved to EWK2TextCheckerTest.
1897
1898         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1899         (EWK2TextCheckerTest::resetCallbacksExecutionStats):
1900         (EWK2TextCheckerTest::onTimeout):
1901         (EWK2TextCheckerTest::onSettingChange):
1902         (EWK2TextCheckerTest::onSpellDocumentTag):
1903         (EWK2TextCheckerTest::onSpellDocumentTagClose):
1904         (EWK2TextCheckerTest::onSpellingCheck):
1905         (EWK2TextCheckerTest::onSpellingForKnownWord):
1906         (EWK2TextCheckerTest::onWordGuesses):
1907         (EWK2TextCheckerTest::onWordLearn):
1908         (EWK2TextCheckerTest::onWordIgnore):
1909         (EWK2TextCheckerTest::findContextMenuItem):
1910         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
1911         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
1912         (EWK2TextCheckerTest::checkClientSuggestionsForWord):
1913         (EWK2TextCheckerTest::selectLearnSpelling):
1914         (EWK2TextCheckerTest::selectIgnoreSpelling):
1915         (EWK2TextCheckerTest::countContextMenuItems):
1916         (EWK2TextCheckerTest::clickButton):
1917         (EWK2TextCheckerTest::showContextMenu):
1918         (EWK2TextCheckerTest::selectFirstWord):
1919
1920 2013-07-17  Tim Horton  <timothy_horton@apple.com>
1921
1922         Update blocked/missing plug-in UI
1923         https://bugs.webkit.org/show_bug.cgi?id=118347
1924         <rdar://problem/14209318>
1925
1926         Reviewed by Sam Weinig.
1927
1928         * Platform/CoreIPC/HandleMessage.h:
1929         (CoreIPC::callMemberFunction):
1930         Add a 6 argument -> 4 reply message handler.
1931         (It seems that FindPlugin is getting a little out of hand.)
1932
1933         * Shared/APIClientTraits.cpp:
1934         * Shared/APIClientTraits.h:
1935         * UIProcess/API/C/WKPage.h:
1936         * UIProcess/WebLoaderClient.cpp:
1937         (WebKit::WebLoaderClient::pluginLoadPolicy):
1938         * UIProcess/WebLoaderClient.h:
1939         Add an unavailability description out-argument to a new version of
1940         pluginLoadPolicy, so clients can override the text of the unavailable
1941         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
1942
1943         * UIProcess/WebPageProxy.cpp:
1944         (WebKit::WebPageProxy::findPlugin):
1945         * UIProcess/WebPageProxy.h:
1946         * UIProcess/WebPageProxy.messages.in:
1947         Plumb the unavailability description through to the WebProcess via
1948         the FindPlugin message.
1949
1950         * WebProcess/WebPage/WebPage.cpp:
1951         (WebKit::WebPage::createPlugin):
1952         Acquire the unavailability description from the client
1953         (via FindPlugin) and hand it to the RenderEmbeddedObject.
1954
1955 2013-07-17  Commit Queue  <commit-queue@webkit.org>
1956
1957         Unreviewed, rolling out r152701, r152703, r152739, r152754,
1958         and r152756.
1959         http://trac.webkit.org/changeset/152701
1960         http://trac.webkit.org/changeset/152703
1961         http://trac.webkit.org/changeset/152739
1962         http://trac.webkit.org/changeset/152754
1963         http://trac.webkit.org/changeset/152756
1964         https://bugs.webkit.org/show_bug.cgi?id=118821
1965
1966         this was a buggy fix and we're going to try something
1967         different (Requested by thorton on #webkit).
1968
1969         * Platform/CoreIPC/HandleMessage.h:
1970         * Shared/APIClientTraits.cpp:
1971         * Shared/APIClientTraits.h:
1972         * UIProcess/API/C/WKPage.h:
1973         * UIProcess/WebLoaderClient.cpp:
1974         (WebKit::WebLoaderClient::pluginLoadPolicy):
1975         * UIProcess/WebLoaderClient.h:
1976         * UIProcess/WebPageProxy.cpp:
1977         (WebKit::WebPageProxy::findPlugin):
1978         * UIProcess/WebPageProxy.h:
1979         * UIProcess/WebPageProxy.messages.in:
1980         * WebProcess/Plugins/PluginProcessConnection.cpp:
1981         (WebKit::PluginProcessConnection::didClose):
1982         * WebProcess/Plugins/PluginView.cpp:
1983         (WebKit::PluginView::pluginProcessCrashed):
1984         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1985         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1986         * WebProcess/WebCoreSupport/WebChromeClient.h:
1987         * WebProcess/WebPage/WebPage.cpp:
1988         (WebKit::WebPage::createPlugin):
1989         (WebKit::WebPage::canPluginHandleResponse):
1990
1991 2013-07-17  Alexey Proskuryakov  <ap@apple.com>
1992
1993         [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
1994         https://bugs.webkit.org/show_bug.cgi?id=118814
1995         <rdar://problem/14173389>
1996
1997         Reviewed by Brady Eidson.
1998
1999         Speculative fix. It's unclear how we end up with an invalid URL when committing
2000         a load.
2001
2002         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
2003         Added a null check.
2004
2005 2013-07-17  Commit Queue  <commit-queue@webkit.org>
2006
2007         Unreviewed, rolling out r152786 and r152789.
2008         http://trac.webkit.org/changeset/152786
2009         http://trac.webkit.org/changeset/152789
2010         https://bugs.webkit.org/show_bug.cgi?id=118807
2011
2012         overly platform specific and dirty API (and Sam says no)
2013         (Requested by thorton on #webkit).
2014
2015         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2016         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2017         * WebProcess/WebPage/PageOverlay.cpp:
2018         * WebProcess/WebPage/PageOverlay.h:
2019         * WebProcess/WebPage/WebPage.cpp:
2020         * WebProcess/WebPage/WebPage.h:
2021         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2022
2023 2013-07-17  Tim Horton  <timothy_horton@apple.com>
2024
2025         AX: VoiceOver not working with data detection page overlays
2026         https://bugs.webkit.org/show_bug.cgi?id=118680
2027
2028         Reviewed by Anders Carlsson.
2029
2030         Bump the API version after r152786.
2031
2032         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2033
2034 2013-07-17  Simon Cooper  <scooper@apple.com>
2035
2036         YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
2037         https://bugs.webkit.org/show_bug.cgi?id=118787
2038         <rdar://problem/14418799>
2039
2040         Reviewed by Alexey Proskuryakov.
2041
2042         Add support for built-in cameras, including the original iSight.
2043
2044         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2045         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2046
2047 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
2048
2049         AX: VoiceOver not working with data detection page overlays
2050         https://bugs.webkit.org/show_bug.cgi?id=118680
2051
2052         Reviewed by Tim Horton.
2053
2054         Expose API methods so that a client implementing data detectors is able to respond
2055         to the needs of accessibility clients like VoiceOver.
2056
2057         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2058         (PageOverlayClientImpl::supportsDataDetection):
2059         (PageOverlayClientImpl::dataDetectorExistsAtPoint):
2060         (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
2061         (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
2062         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2063         * WebProcess/WebPage/PageOverlay.cpp:
2064         (WebKit::PageOverlay::supportsDataDetection):
2065         (WebKit::PageOverlay::dataDetectorExistsAtPoint):
2066         (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
2067         (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
2068         * WebProcess/WebPage/PageOverlay.h:
2069         (WebKit::PageOverlay::Client::supportsDataDetection):
2070         (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
2071         (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
2072         (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
2073         * WebProcess/WebPage/WebPage.cpp:
2074         (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
2075         (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
2076         (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
2077         (WebKit::WebPage::pageOverlaySupportsDataDetection):
2078         * WebProcess/WebPage/WebPage.h:
2079         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2080         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
2081         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
2082         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2083
2084 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2085
2086         [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
2087         https://bugs.webkit.org/show_bug.cgi?id=118721
2088
2089         Reviewed by Christophe Dumez.
2090
2091         It should be defined as relevant test class specific to each test file for more readability.
2092         It could be helpful to remove unnecessary static methods.
2093
2094         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2095         (compareHostNames):
2096         (onCookiesChanged):
2097         (EWK2CookieManagerTest::getAcceptPolicy):
2098         (EWK2CookieManagerTest::getHostnamesWithCookies):
2099         (EWK2CookieManagerTest::freeHostNames):
2100         (EWK2CookieManagerTest::countHostnamesWithCookies):
2101         (TEST_F):
2102
2103 2013-07-16  Balazs Kelemen  <kbalazs@webkit.org>
2104
2105         [CMake] Undefined references should be detected at build time
2106         https://bugs.webkit.org/show_bug.cgi?id=110236
2107
2108         Reviewed by Christophe Dumez.
2109
2110         Add library dependencies that were not defined explicitly before.
2111
2112         * CMakeLists.txt:
2113         * PlatformEfl.cmake:
2114
2115 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2116
2117         [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
2118         https://bugs.webkit.org/show_bug.cgi?id=118780
2119
2120         Reviewed by Christophe Dumez.
2121
2122         It should be defined as relevant test class specific to each test file for more readability.
2123         It could be helpful to remove unnecessary static methods.
2124
2125         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
2126         (EWK2WindowFeaturesTest::createDefaultWindow):
2127         (EWK2WindowFeaturesTest::createWindow):
2128         (TEST_F):
2129
2130 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2131
2132         [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
2133         https://bugs.webkit.org/show_bug.cgi?id=118779
2134
2135         Reviewed by Christophe Dumez.
2136
2137         It should be defined as relevant test class specific to each test file for more readability.
2138         It could be helpful to remove unnecessary static methods.
2139
2140         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2141         (EWK2ViewTest::onLoadFinishedForRedirection):
2142         (EWK2ViewTest::serverCallbackNavigation):
2143         (EWK2ViewTest::onFormAboutToBeSubmitted):
2144         (EWK2ViewTest::fullScreenCallback):
2145         (EWK2ViewTest::fullScreenExitCallback):
2146         (EWK2ViewTest::checkAlert):
2147         (EWK2ViewTest::checkConfirm):
2148         (EWK2ViewTest::checkPrompt):
2149         (EWK2ViewTest::onTextFound):
2150         (EWK2ViewTest::onVibrate):
2151         (EWK2ViewTest::onCancelVibration):
2152         (EWK2ViewTest::loadVibrationHTMLString):
2153         (EWK2ViewTest::onContentsSizeChangedPortrait):
2154         (EWK2ViewTest::onContentsSizeChangedLandscape):
2155         (EWK2ViewTest::PageContentsAsMHTMLCallback):
2156         (EWK2ViewTest::PageContentsAsStringCallback):
2157         (TEST_F):
2158
2159 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2160
2161         [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
2162         https://bugs.webkit.org/show_bug.cgi?id=118777
2163
2164         Reviewed by Christophe Dumez.
2165
2166         It should be defined as relevant test class specific to each test file for more readability.
2167         It could be helpful to remove unnecessary static methods.
2168
2169         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
2170         (EWK2StorageManagerTest::OriginData::OriginData):
2171         (EWK2StorageManagerTest::getStorageOriginsCallback):
2172         (EWK2StorageManagerTest::timerCallback):
2173         (EWK2StorageManagerTest::checkOrigin):
2174         (TEST_F):
2175
2176 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2177
2178         [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
2179         https://bugs.webkit.org/show_bug.cgi?id=118775
2180
2181         Reviewed by Christophe Dumez.
2182
2183         It should be defined as relevant test class specific to each test file for more readability.
2184         It could be helpful to remove unnecessary static methods.
2185
2186         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
2187         (EWK2PopupMenuTest::checkBasicPopupMenuItem):
2188         (EWK2PopupMenuTest::selectItemAfterDelayed):
2189         (EWK2PopupMenuTest::showPopupMenu):
2190         (TEST_F):
2191
2192 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2193
2194         [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
2195         https://bugs.webkit.org/show_bug.cgi?id=118773
2196
2197         Reviewed by Christophe Dumez.
2198
2199         It should be defined as relevant test class specific to each test file for more readability.
2200         It could be helpful to remove unnecessary static methods.
2201
2202         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
2203         (EWK2FileChooserRequestTest::onFileChooserRequest):
2204         (EWK2FileChooserRequestTest::compareStrings):
2205         (EWK2FileChooserRequestTest::freeStringList):
2206         (TEST_F):
2207
2208 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2209
2210         [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase.
2211         https://bugs.webkit.org/show_bug.cgi?id=118772
2212
2213         Reviewed by Christophe Dumez.
2214
2215         It should be defined as relevant test class specific to each test file for more readability.
2216         It could be helpful to remove unnecessary static methods.
2217
2218         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2219         (EWK2FaviconDatabaseTest::serverCallback):
2220         (EWK2FaviconDatabaseTest::requestFaviconData):
2221         (TEST_F):
2222
2223 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2224
2225         [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase.
2226         https://bugs.webkit.org/show_bug.cgi?id=118771
2227
2228         Reviewed by Christophe Dumez.
2229
2230         It should be defined as relevant test class specific to each test file for more readability.
2231         It could be helpful to remove unnecessary static methods.
2232
2233         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
2234         (EWK2EinaSharedStringTest::checkString):
2235         (TEST_F):
2236
2237 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2238
2239         [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase.
2240         https://bugs.webkit.org/show_bug.cgi?id=118769
2241
2242         Reviewed by Christophe Dumez.
2243
2244         It should be defined as relevant test class specific to each test file for more readability.
2245         It could be helpful to remove unnecessary static methods.
2246
2247         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
2248         (EWK2DownloadJobTest::fileExists):
2249         (EWK2DownloadJobTest::serverCallback):
2250         (EWK2DownloadJobTest::on_download_requested):
2251         (EWK2DownloadJobTest::on_download_cancelled):
2252         (EWK2DownloadJobTest::on_download_failed):
2253         (EWK2DownloadJobTest::on_download_finished):
2254         (TEST_F):
2255
2256 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2257
2258         [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase.
2259         https://bugs.webkit.org/show_bug.cgi?id=118766
2260
2261         Reviewed by Christophe Dumez.
2262
2263         It should be defined as relevant test class specific to each test file for more readability.
2264         It could be helpful to remove unnecessary static methods.
2265
2266         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2267         (EWK2AuthRequestTest::serverCallback):
2268         (EWK2AuthRequestTest::onAuthenticationRequest):
2269         (EWK2AuthRequestTest::onLoadFinished):
2270         (TEST_F):
2271
2272 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2273
2274         [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase.
2275         https://bugs.webkit.org/show_bug.cgi?id=118767
2276
2277         Reviewed by Christophe Dumez.
2278
2279         It should be defined as relevant test class specific to each test file for more readability.
2280         It could be helpful to remove unnecessary static methods.
2281
2282         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
2283         (EWK2ContextMenuTest::checkBasicContextMenuItem):
2284         (EWK2ContextMenuTest::customItemSelected):
2285         (EWK2ContextMenuTest::showContextMenu):
2286         (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend):
2287         (EWK2ContextMenuTest::showContextMenuForSubmenu):
2288         (EWK2ContextMenuTest::hideContextMenu):
2289         (TEST_F):
2290
2291 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2292
2293         [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase.
2294         https://bugs.webkit.org/show_bug.cgi?id=118763
2295
2296         Reviewed by Christophe Dumez.
2297
2298         It should be defined as relevant test class specific to each test file for more readability.
2299         It could be helpful to remove unnecessary static methods.
2300
2301         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2302         (EWK2ContextTest::schemeRequestCallback):
2303         (TEST_F):
2304
2305 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2306
2307         [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase
2308         https://bugs.webkit.org/show_bug.cgi?id=118726
2309
2310         Reviewed by Christophe Dumez.
2311
2312         It should be defined as relevant test class specific to each test file for more readability.
2313         It could be helpful to remove unnecessary static methods.
2314
2315         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
2316         (EWK2DatabaseManagerTest::OriginData::OriginData):
2317         (EWK2DatabaseManagerTest::databaseOriginsCallback):
2318         (EWK2DatabaseManagerTest::timerCallback):
2319         (TEST_F):
2320
2321 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2322
2323         [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase.
2324         https://bugs.webkit.org/show_bug.cgi?id=118762
2325
2326         Reviewed by Christophe Dumez.
2327
2328         It should be defined as relevant test class specific to each test file for more readability.
2329         It could be helpful to remove unnecessary static methods.
2330
2331         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
2332         (EWK2ColorPickerTest::onColorPickerDone):
2333         (EWK2ColorPickerTest::setColorPickerColor):
2334         (EWK2ColorPickerTest::showColorPicker):
2335         (EWK2ColorPickerTest::hideColorPicker):
2336         (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
2337         (TEST_F):
2338
2339 2013-07-16  Gordon Sheridan  <gordon_sheridan@apple.com>
2340
2341         setPluginUnavailabilityReason can destroy renderObject before obscurity check
2342         https://bugs.webkit.org/show_bug.cgi?id=118770
2343         <rdar://problem/14462331>
2344
2345         Reviewed by Tim Horton.
2346
2347         * WebProcess/WebPage/WebPage.cpp:
2348         (WebKit::WebPage::createPlugin):
2349         Moved obscurity check to before renderObject is potentially destroyed.
2350
2351 2013-07-16  Alexey Proskuryakov  <ap@apple.com>
2352
2353         REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
2354         https://bugs.webkit.org/show_bug.cgi?id=118739
2355         <rdar://problem/14300350>
2356
2357         Reviewed by Daniel Bates.
2358
2359         EditorState tracking on UI side is very fragile. This is a targeted fix just for
2360         this specific scenario.
2361
2362         The issue was that we had a stale m_temporarilyClosedComposition flag, which was
2363         making UI process believe that a composition was closed from WebProcess side,
2364         and notify input method about that. It shouldn't have been a problem, because there
2365         is no composition at this point indeed, but this extra call is a problem for
2366         predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).
2367
2368         * UIProcess/mac/WebPageProxyMac.mm:
2369         (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when
2370         getting new EditorState in response to performing this action. There is certainly
2371         no composition after insertText, and all interested parties are on the same page
2372         already.
2373
2374 2013-07-16  Jessie Berlin  <jberlin@apple.com>
2375
2376         Fix some NSDictionary misuse pointed out by the clang static analyzer
2377         https://bugs.webkit.org/show_bug.cgi?id=118736
2378
2379         Reviewed by Anders Carlsson.
2380
2381         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2382         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
2383         Do not put a key with a nil value pair into the NSDictionary.
2384
2385 2013-07-16  Michael Brüning  <michael.bruning@digia.com>
2386
2387         [Qt] Replace Nokia with Qt Project in service name.
2388         https://bugs.webkit.org/show_bug.cgi?id=118729
2389
2390         Reviewed by Simon Hausmann.
2391
2392         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2393         (WebKit::ProcessLauncher::launchProcess):
2394
2395 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2396
2397         EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
2398         https://bugs.webkit.org/show_bug.cgi?id=118717
2399
2400         Reviewed by Christophe Dumez.
2401
2402         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2403         (EWK2BackForwardListTest::checkItem):
2404         (EWK2BackForwardListTest::urlFromTitle):
2405         (EWK2BackForwardListTest::freeEinaList):
2406         (TEST_F):
2407
2408 2013-07-16  Kangil Han  <kangil.han@samsung.com>
2409
2410         Use toHTMLSelectElement and dismiss isHTMLSelectElement
2411         https://bugs.webkit.org/show_bug.cgi?id=118714
2412
2413         Reviewed by Ryosuke Niwa.
2414
2415         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2416         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
2417
2418         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
2419         (WebKit::PDFPluginChoiceAnnotation::commit):
2420
2421 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2422
2423         Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
2424         https://bugs.webkit.org/show_bug.cgi?id=118699
2425
2426         Reviewed by Christophe Dumez.
2427
2428         Many mouseClick methods are used in test_ewk2_text_checker.cpp.
2429         But it is difficult to understand what they mean.
2430         So i would like to replace those with more meaningful method for readability.
2431
2432         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2433         (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
2434         (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
2435         (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
2436         (EWK2TextCheckerTest::showContextMenuWithFirstLineText):
2437         (EWK2TextCheckerTest::showContextMenuWithSecondLineText):
2438         (EWK2TextCheckerTest::selectFirstWordInFirstLineText):
2439         (EWK2TextCheckerTest::selectFirstWordInSecondLineText):
2440         (TEST_F):
2441
2442 2013-07-15  Kangil Han  <kangil.han@samsung.com>
2443
2444         Introduce toHTMLIFrameElement
2445         https://bugs.webkit.org/show_bug.cgi?id=118672
2446
2447         Reviewed by Ryosuke Niwa.
2448
2449         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2450
2451         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2452         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
2453
2454 2013-07-15  Tim Horton  <timothy_horton@apple.com>
2455
2456         Update blocked/missing plug-in UI
2457         https://bugs.webkit.org/show_bug.cgi?id=118347
2458         <rdar://problem/14209318>
2459
2460         Reviewed by Sam Weinig.
2461         Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
2462
2463         * Platform/CoreIPC/HandleMessage.h:
2464         (CoreIPC::callMemberFunction):
2465         Add a 6 argument -> 4 reply message handler.
2466         (It seems that FindPlugin is getting a little out of hand.)
2467
2468         * Shared/APIClientTraits.cpp:
2469         * Shared/APIClientTraits.h:
2470         * UIProcess/API/C/WKPage.h:
2471         * UIProcess/WebLoaderClient.cpp:
2472         (WebKit::WebLoaderClient::pluginLoadPolicy):
2473         * UIProcess/WebLoaderClient.h:
2474         Add an unavailability description out-argument to a new version of
2475         pluginLoadPolicy, so clients can override the text of the unavailable
2476         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
2477
2478         * UIProcess/WebPageProxy.cpp:
2479         (WebKit::WebPageProxy::findPlugin):
2480         * UIProcess/WebPageProxy.h:
2481         * UIProcess/WebPageProxy.messages.in:
2482         Plumb the unavailability description through to the WebProcess via
2483         the FindPlugin message.
2484
2485         * WebProcess/Plugins/PluginProcessConnection.cpp:
2486         (WebKit::PluginProcessConnection::didClose):
2487         Make a strongly referencing copy of the list of PluginProxies, so we can
2488         throw them away without the HashMap being mutated underneath us (see the comment).
2489
2490         * WebProcess/Plugins/PluginView.cpp:
2491         (WebKit::PluginView::pluginProcessCrashed):
2492         Invalidate the plug-in's widget before setting the plugin unavailability reason,
2493         because doing so would cause the plug-in's renderer to be torn down, making
2494         invalidate() crash.
2495
2496         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2497         (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
2498         * WebProcess/WebCoreSupport/WebChromeClient.h:
2499         Rename from shouldUnavailablePluginMessageBeButton to
2500         shouldUnavailablePluginMessageIncludeButton for accuracy.
2501
2502         * WebProcess/WebPage/WebPage.cpp:
2503         (WebKit::WebPage::createPlugin):
2504         Acquire the unavailability description from the client
2505         (via FindPlugin) and hand it to the RenderEmbeddedObject.
2506         (WebKit::WebPage::canPluginHandleResponse):
2507         Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.
2508
2509 2013-07-15  Simon Cooper  <scooper@apple.com>
2510
2511         PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
2512         https://bugs.webkit.org/show_bug.cgi?id=118690
2513         <rdar://problem/14255963>
2514
2515         Reviewed by Dean Jackson.
2516
2517         Silently deny access to FlashPlayerTrust. This location contains
2518         files containing lists of paths that Flash Player will
2519         "allow" access to (without asking the user). Since the plugin
2520         sandbox won't permit the access to the listed paths it is better
2521         to silently block attempts to read these "whitelists". The
2522         "whitelists" are created by other Adobe "installer" like
2523         applications.
2524
2525         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2526
2527 2013-07-14  Jon Lee  <jonlee@apple.com>
2528
2529         Calling Notification.requestPermission() without a callback crashes
2530         https://bugs.webkit.org/show_bug.cgi?id=118654
2531         <rdar://problem/14293352>
2532
2533         Reviewed by Alexey Proskuryakov.
2534
2535         When requestPermission() is called, we short-circuit if we know the permission was already set.
2536         The callback handler gets invoked. But now that callbacks are optional, we need to check to make
2537         sure a callback was provided.
2538
2539         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2540         (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.
2541
2542 2013-07-15  Anton Obzhirov  <a.obzhirov@samsung.com>
2543
2544         [GTK] Remote inspector server should send an error page if resources not found
2545         https://bugs.webkit.org/show_bug.cgi?id=117137
2546
2547         Reviewed by Gustavo Noronha Silva.
2548
2549         Sometimes it is difficult to understand why remote inspector fails to deliver the content.
2550         This patch gives an option to show error page with some basic explanation.
2551
2552         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2553         (WebKit::WebInspectorServer::platformResourceForPath):
2554
2555 2013-07-15  Simon Pena  <simon.pena@samsung.com>
2556
2557         [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
2558         https://bugs.webkit.org/show_bug.cgi?id=118530
2559
2560         Reviewed by Carlos Garcia Campos.
2561
2562         When a key event is started in the WebProcess (e.g. in the inspector)
2563         it doesn't have an associated GdkEvent queued. Adding a check in 
2564         WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
2565         key event to process.
2566
2567         In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
2568         this fix is in place. 
2569
2570         * UIProcess/gtk/WebPageProxyGtk.cpp:
2571         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
2572         not empty.
2573
2574 2013-07-15  Alberto Garcia  <berto@igalia.com>
2575
2576         [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
2577         https://bugs.webkit.org/show_bug.cgi?id=118052
2578
2579         Reviewed by Carlos Garcia Campos.
2580
2581         We don't need to check whether the drawing area is empty or not in
2582         order to set needsResizeOnMap.
2583
2584         It can also happen that the drawing area pointer is null (if
2585         e.g. the web process crashes), which is the reason for this
2586         SIGSEGV.
2587
2588         A test to prevent this was added in r88646 but was later moved to
2589         resizeWebKitWebViewBaseFromAllocation().
2590
2591         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2592         (webkitWebViewBaseSizeAllocate):
2593
2594 2013-07-10  Roger Fong  <roger_fong@apple.com>
2595
2596         Plugins that don't support snapshotting should not all autostart.
2597         https://bugs.webkit.org/show_bug.cgi?id=118572
2598         <rdar://problem/14324391>.
2599
2600         Reviewed by Dean Jackson.
2601
2602         * WebProcess/Plugins/PluginView.cpp:
2603         (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
2604         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
2605         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
2606         to the the DisplayingSnapshot state.
2607         * WebProcess/Plugins/PluginView.h:
2608
2609 2013-07-11  Jessie Berlin  <jberlin@apple.com>
2610
2611         WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the
2612         clang static analyzer)
2613         https://bugs.webkit.org/show_bug.cgi?id=118533
2614
2615         Reviewed by Anders Carlsson.
2616
2617         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
2618         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
2619
2620 2013-07-11  Sergio Correia  <sergio.correia@openbossa.org>
2621
2622         Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable
2623         https://bugs.webkit.org/show_bug.cgi?id=118568
2624
2625         Reviewed by Martin Robinson.
2626
2627         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2628         (WebKit::PluginProcessProxy::scanPlugin):
2629
2630 2013-07-11  Timothy Hatcher  <timothy@apple.com>
2631
2632         Revert r152267 and soft link WebInspectorUI.framework again.
2633
2634         https://bugs.webkit.org/show_bug.cgi?id=118544
2635
2636         Reviewed by David Kilzer.
2637
2638         * Configurations/WebKit2.xcconfig:
2639         * UIProcess/mac/WebInspectorProxyMac.mm:
2640         (WebKit::inspectorReallyUsesWebKitUserInterface):
2641         * WebKit2.xcodeproj/project.pbxproj:
2642         * WebProcess/WebPage/mac/WebInspectorMac.mm:
2643         (WebKit::inspectorReallyUsesWebKitUserInterface):
2644
2645 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
2646
2647         [Coordinated Graphics] Parameter of commitSceneState should be const
2648         https://bugs.webkit.org/show_bug.cgi?id=118564
2649
2650         Reviewed by Noam Rosenthal.
2651
2652         Parameter of commitSceneState should be const as there should not be any
2653         modifications to the passed CoordinatedGraphicsState.
2654
2655         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2656         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
2657         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2658
2659 2013-07-10  Mark Rowe  <mrowe@apple.com>
2660
2661         <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework.
2662
2663         Reviewed by Alexey Proskuryakov.
2664
2665         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2666         (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables
2667         specified in dynamic linker load commands are passed to the subprocess that we spawn to create
2668         the MIME type property list.
2669
2670 2013-07-10  Brady Eidson  <beidson@apple.com>
2671
2672         Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy.
2673         <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535
2674
2675         Reviewed by Alexey Proskuryakov.
2676
2677         * Shared/Plugins/NPObjectProxy.cpp:
2678         (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread.
2679         (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread.
2680
2681 2013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
2682
2683         Remove the meshType from CoordinatedCustomFilterOperation
2684         https://bugs.webkit.org/show_bug.cgi?id=118529
2685
2686         Reviewed by Noam Rosenthal.
2687
2688         Following the removal of the meshType from CustomFilterOperation in r149153,
2689         remove also the meshType from CoordinatedCustomFilterOperation.
2690
2691         No new tests, no new functionality.
2692
2693         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2694         (CoreIPC::::encode): Remove dead comment.
2695         (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation
2696         call.
2697
2698 2013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
2699
2700         [EFL] tooltip callback doesn't work.
2701         https://bugs.webkit.org/show_bug.cgi?id=118522
2702
2703         Reviewed by Christophe Dumez.
2704
2705         Add missing code to connect didChangeTooltip callback.
2706
2707         * UIProcess/efl/ViewClientEfl.cpp:
2708         (WebKit::ViewClientEfl::ViewClientEfl):
2709
2710 2013-07-09  Jer Noble  <jer.noble@apple.com>
2711
2712         Reviewed by Simon Fraser.
2713
2714         Remember the scroll position and restore after exiting full-screen mode.
2715         https://bugs.webkit.org/show_bug.cgi?id=61956
2716         <rdar://problem/9544461>
2717
2718         Call into the main FrameView to save the scroll position before swapping the
2719         WebView into the full-screen window, and restore the scroll position after 
2720         swapping the WebView back into the browser window.
2721
2722         * UIProcess/mac/WKFullScreenWindowController.mm:
2723         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2724         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
2725
2726         In WebKit2, this requires some communication between the WebProcess and the
2727         UIProcess, so add two new messages to WebFullScreenManager to be called by
2728         its proxy.
2729
2730         * UIProcess/WebFullScreenManagerProxy.h:
2731         * UIProcess/WebFullScreenManagerProxy.cpp:
2732         (WebKit::WebFullScreenManagerProxy::saveScrollPosition):
2733         (WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
2734         * WebProcess/FullScreen/WebFullScreenManager.h:
2735         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
2736         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2737         (WebKit::WebFullScreenManager::saveScrollPosition):
2738         (WebKit::WebFullScreenManager::restoreScrollPosition):
2739
2740 2013-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2741
2742         [GTK] Runtime critical warning when unloading a module that failed to load
2743         https://bugs.webkit.org/show_bug.cgi?id=118425
2744
2745         Reviewed by Martin Robinson.
2746
2747         * Platform/gtk/ModuleGtk.cpp:
2748         (WebKit::Module::load): Show an error message when the module
2749         fails to load.
2750         (WebKit::Module::unload): Check module pointer before calling
2751         unload method.
2752
2753 2013-07-05  Tim Horton  <timothy_horton@apple.com>
2754
2755         [wk2] Add API to lock the scroll position at the top or bottom of the page
2756         https://bugs.webkit.org/show_bug.cgi?id=118429
2757         <rdar://problem/14120323>
2758
2759         Reviewed by Anders Carlsson.
2760
2761         * Shared/WebPageCreationParameters.cpp:
2762         (WebKit::WebPageCreationParameters::encode):
2763         (WebKit::WebPageCreationParameters::decode):
2764         * Shared/WebPageCreationParameters.h:
2765         Pass the current ScrollPinningBehavior across to the WebPage upon creation.
2766
2767         * UIProcess/API/C/WKPage.cpp:
2768         (WKPageGetScrollPinningBehavior):
2769         (WKPageSetScrollPinningBehavior):
2770         * UIProcess/API/C/WKPagePrivate.h:
2771         SPI to get/set the WebPageProxy's current ScrollPinningBehavior.
2772         Convert between WK API type and WebCore enum.
2773
2774         * UIProcess/WebPageProxy.cpp:
2775         (WebKit::WebPageProxy::WebPageProxy):
2776         (WebKit::WebPageProxy::creationParameters):
2777         Send ScrollPinningBehavior when creating a WebPage.
2778
2779         (WebKit::WebPageProxy::setScrollPinningBehavior):
2780         Pass ScrollPinningBehavior changes across to the WebProcess (and save it
2781         in WebPageProxy so it can be sent back across if the WebProcess crashes).
2782
2783         * UIProcess/WebPageProxy.h:
2784         (WebKit::WebPageProxy::scrollPinningBehavior):
2785         Getter/setter and storage for m_scrollPinningBehavior.
2786
2787         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2788         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2789         Inform new FrameViews of the current ScrollPinningBehavior.
2790
2791         * WebProcess/WebPage/WebPage.cpp:
2792         (WebKit::WebPage::WebPage):
2793         Set our ScrollPinningBehavior based on our creation parameters.
2794
2795         (WebKit::WebPage::setScrollPinningBehavior):
2796         Inform the FrameView of ScrollPinningBehavior changes.
2797
2798         * WebProcess/WebPage/WebPage.h:
2799         (WebKit::WebPage::scrollPinningBehavior): Added.
2800         (WebKit::WebPage::setScrollPinningBehavior): Added.
2801         Add storage for m_scrollPinningBehavior.
2802
2803         * WebProcess/WebPage/WebPage.messages.in:
2804         Add SetScrollPinningBehavior message.
2805
2806 2013-07-05  Krzysztof Wolanski  <k.wolanski@samsung.com>
2807
2808         [EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
2809         https://bugs.webkit.org/show_bug.cgi?id=118392
2810
2811         Reviewed by Christophe Dumez.
2812
2813         Simulate behavior of Learn and Ignore Word in the text field.
2814
2815         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2816         (EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick):
2817         Select the entire word in the text field.
2818
2819         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2820         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2821         (onSpellingForKnownWord):
2822         (onWordLearn):
2823         (onWordIgnore):
2824         (selectLearnSpelling):
2825         (selectIgnoreSpelling):
2826
2827 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2828
2829         [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
2830         https://bugs.webkit.org/show_bug.cgi?id=111434
2831
2832         Reviewed by Carlos Garcia Campos.
2833
2834         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
2835         (testNotInitialized):
2836         (testSetDirectory):
2837         (testClearDatabase):
2838         (testGetFavicon):
2839         (testGetFaviconURI): Removed gconstpointer parameter.
2840         (testWebViewFavicon): Fixed to make it work together with the
2841         other tests and removed gconstpointer parameter.
2842         (testFaviconDatabase): Created to call all tests in the proper
2843         order.
2844         (beforeAll): Changed to call only testFaviconDatabase instead of
2845         the separate tests.
2846
2847 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2848
2849         TestWebKitFaviconDatabase/clear-database is not testing things properly
2850         https://bugs.webkit.org/show_bug.cgi?id=118404
2851
2852         Reviewed by Carlos Garcia Campos.
2853
2854         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
2855         (testClearDatabase): Check for an existing icon that can make the
2856         test fail if clear database is not working.
2857
2858 2013-07-04  Anders Carlsson  <andersca@apple.com>
2859
2860         Paint the page background if we haven't received our first update
2861         https://bugs.webkit.org/show_bug.cgi?id=118402
2862         <rdar://problem/13893308>
2863
2864         Reviewed by Simon Fraser.
2865
2866         Make sure that we always paint something when we haven't received our first update from the web process.
2867
2868         * UIProcess/API/mac/WKView.mm:
2869         (-[WKView drawRect:]):
2870         * UIProcess/DrawingAreaProxyImpl.h:
2871         (WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate):
2872
2873 2013-07-04  Anders Carlsson  <andersca@apple.com>
2874
2875         Crash when createPluginInternal ends up destroying the plug-in
2876         https://bugs.webkit.org/show_bug.cgi?id=118397
2877         <rdar://problem/14155051>
2878
2879         Reviewed by Simon Fraser.
2880
2881         Keep the WebProcessConnection object alive while calling createPluginInternal and handle
2882         the IPC connection going away.
2883
2884         * PluginProcess/WebProcessConnection.cpp:
2885         (WebKit::WebProcessConnection::createPluginAsynchronously):
2886
2887 2013-07-03  Gordon Sheridan  <gordon_sheridan@apple.com>
2888
2889         Implement mechanism to detect (partially) hidden blocked plugins.
2890         https://bugs.webkit.org/show_bug.cgi?id=117998
2891
2892         Reviewed by Dean Jackson.
2893
2894         * Shared/Plugins/Netscape/PluginInformation.h:
2895         * Shared/Plugins/Netscape/PluginInformation.cpp:
2896         (WebKit::plugInInformationReplacementObscuredKey):
2897         Add key for plugInInformation dictionaries.
2898
2899         (WebKit::createPluginInformationDictionary):
2900         Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary.
2901
2902         * Shared/API/c/WKPluginInformation.h:
2903         * Shared/API/c/WKPluginInformation.cpp:
2904         (WKPluginInformationReplacementObscuredKey):
2905         Provide the C API for the plugInInformationReplacementObscuredKey().
2906
2907         * UIProcess/WebPageProxy.h:
2908         * UIProcess/WebPageProxy.cpp:
2909         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2910         Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary().
2911
2912         * UIProcess/WebPageProxy.messages.in:
2913         Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message.
2914
2915         * WebProcess/WebPage/WebPage.cpp:
2916         (WebKit::WebPage::createPlugin):
2917         Invoke isReplacementObscured() method for blocked plugins.
2918
2919 2013-07-03  Alexey Proskuryakov  <ap@apple.com>
2920
2921         <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
2922         <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites
2923
2924         Reviewed by Sam Weinig.
2925
2926         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2927         semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now).
2928
2929 2013-07-03  Simon Pena  <simon.pena@samsung.com>
2930
2931         WebTextCheckerClient doesn't initialize output arguments.
2932         https://bugs.webkit.org/show_bug.cgi?id=83683
2933
2934         Reviewed by Martin Robinson.
2935
2936         Callers of checkSpellingOfString and checkGrammarOfString expect
2937         certain default values when no misspelled (or bad grammar) string
2938         is found. They try to do that by initialising the reply arguments
2939         that go into the IPC calls, but these values are ultimately ignored (see
2940         HandleMessage.h, where the replyArguments are declared).
2941
2942         In the past, this seems to have led to various issues, (see
2943         TextCheckingHelper::findFirstMisspelling in TextCheckingHelper.cpp),
2944         where these return values are asserted and checked to be in the right range.
2945
2946         This patch initialises the values, so even if no available client
2947         implements the methods (or if the implementation forgets to do it) the callers
2948         will have their expected output.
2949
2950         However, and for a general case, we probably need a way to tell the caller
2951         that any existing value in the output arguments will be ignored.
2952
2953         * UIProcess/WebTextCheckerClient.cpp:
2954         (WebKit::WebTextCheckerClient::checkSpellingOfString):
2955         (WebKit::WebTextCheckerClient::checkGrammarOfString):
2956
2957
2958 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
2959
2960         [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected
2961         https://bugs.webkit.org/show_bug.cgi?id=116867
2962
2963         Reviewed by Anders Carlsson.
2964
2965         We did not reset the clients on WebPageProxy::close(), so right
2966         clicking on a link after starting the navigation to some other
2967         page was causing crashes because code was trying to access an
2968         already freed m_contextMenuClient.
2969
2970         There were some other clients that could potentially trigger the
2971         same issues. Reset them all to null to prevent this situation.
2972
2973         * UIProcess/WebPageProxy.cpp:
2974         (WebKit::WebPageProxy::close):
2975
2976 2013-07-03  Simon Pena  <simon.pena@samsung.com>
2977
2978         Output arguments used in IPC calls should be returned initialised
2979         https://bugs.webkit.org/show_bug.cgi?id=118354
2980
2981         Reviewed by Anders Carlsson.
2982
2983         When Download::shouldDecodeSourceDataOfMIMEType and Download::retrieveDestinationWithSuggestedFilename
2984         call DownloadProxy::shouldDecodeSourceDataOfMIMEType and DownloadProxy::decideDestinationWithSuggestedFilename
2985         through IPC, they assume the output arguments result and allowOverwrite have
2986         been initialised.
2987
2988         This patch initialises these arguments also in the unlikely event that a
2989         m_webContext is not available.
2990
2991         * UIProcess/Downloads/DownloadProxy.cpp:
2992         (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
2993         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
2994
2995 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
2996
2997         [WK2][GTK] Invalid ASSERTs in WebResources loading code
2998         https://bugs.webkit.org/show_bug.cgi?id=118352
2999
3000         Reviewed by Carlos Garcia Campos.
3001
3002         The WebKitWebView keeps track of the resources being loaded in a
3003         map. A couple of ASSERTs verify that every loaded resource is
3004         stored in that map.
3005
3006         The map that is cleared each time a new load starts so there is a
3007         small chance that we get notifications for resources that
3008         correspond to previous page loads
3009         (and thus are not stored in the map). We should remove the ASSERT
3010         which is not valid anymore.
3011
3012         * UIProcess/API/gtk/WebKitWebView.cpp:
3013         (webkitWebViewGetLoadingWebResource):
3014
3015 2013-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3016
3017         [GTK] Migrate WebKitWebContext to GTask
3018         https://bugs.webkit.org/show_bug.cgi?id=117153
3019
3020         Reviewed by Gustavo Noronha Silva.
3021
3022         * UIProcess/API/gtk/WebKitWebContext.cpp:
3023         (webkitWebContextGetPluginThread):
3024         (webkit_web_context_get_plugins):
3025         (webkit_web_context_get_plugins_finish):
3026
3027 2013-07-02  Zan Dobersek  <zdobersek@igalia.com>
3028
3029         [WK2] Invalidate FontCache before purging MemoryCache upon WebProcess termination/closure
3030         https://bugs.webkit.org/show_bug.cgi?id=118280
3031
3032         Reviewed by Darin Adler.
3033
3034         Invalidate the FontCache before disabling and purging the MemoryCache in WebProcess::didClose
3035         and WebProcess::terminate. This frees up additional references to objects that were held
3036         by the FontCache, reducing the amount of 'LEAK: *' output when exiting MiniBrowser or
3037         WebKitTestRunner in debug builds.
3038
3039         * WebProcess/WebProcess.cpp:
3040         (WebKit::WebProcess::terminate):
3041         (WebKit::WebProcess::didClose):
3042
3043 2013-07-02  Jessie Berlin  <jberlin@apple.com>
3044
3045         The callback for WKPageGetPlugInInformation needs info about whether or not there are any
3046         non-playing instances of the plug-in on the page
3047         https://bugs.webkit.org/show_bug.cgi?id=118330
3048
3049         Reviewed by Anders Carlsson.
3050
3051         Add another key value pair to the dictionary passed to the callback.
3052
3053         * Shared/API/c/WKPluginInformation.cpp:
3054         (WKPlugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
3055         * Shared/API/c/WKPluginInformation.h:
3056
3057         * Shared/Plugins/Netscape/PluginInformation.cpp:
3058         (WebKit::plugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
3059         (WebKit::createPlugInInformationDictionary):
3060         Add the information about whether or not the page contains a non-playing instance of that
3061         plug-in to the plug-in information dictionary.
3062         * Shared/Plugins/Netscape/PluginInformation.h:
3063
3064         * UIProcess/WebPageProxy.h:
3065         * UIProcess/WebPageProxy.messages.in:
3066         * UIProcess/mac/WebPageProxyMac.mm:
3067         (WebKit::WebPageProxy::containsPlugInCallback):
3068         Check if any of the MIME types of the plug-in instances that are present on the page but are
3069         not playing match the instance of plug-in being searched for.
3070         * WebProcess/WebPage/mac/WebPageMac.mm:
3071         (WebKit::addPlugInMimeTypesFromNodeListForNonPlayingPlugIns):
3072         Based roughly off of addPlugInsFromNodeListMatchingPlugInOrigin in
3073         HTMLPlugInImageElement.cpp.
3074         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
3075         Based roughly off of HTMLPlugInImageElement::restartSimilarPlugIns.
3076
3077 2013-07-02  Alexey Proskuryakov  <ap@apple.com>
3078
3079         security/block-test.html fails when NetworkProcess is enabled
3080         https://bugs.webkit.org/show_bug.cgi?id=118320
3081         <rdar://problem/14309423>
3082
3083         Reviewed by Geoff Garen.
3084
3085         * NetworkProcess/NetworkResourceLoader.cpp:
3086         (WebKit::NetworkResourceLoader::wasBlocked):
3087         (WebKit::NetworkResourceLoader::cannotShowURL):
3088         Implemented missing ResourceHandleClient functions.
3089
3090 2013-07-02  Ada Chan  <adachan@apple.com>
3091
3092         Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage().
3093         https://bugs.webkit.org/show_bug.cgi?id=118268
3094
3095         Reviewed by Beth Dakin.
3096
3097         * WebProcess/WebPage/mac/PageBannerMac.mm:
3098         (WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage()
3099         can be null if this method is called after the web page is closed.
3100
3101 2013-07-02  Jae Hyun Park  <jae.park@company100.net>
3102
3103         Implement CoordinatedSurface for Threaded Coordinated Graphics
3104         https://bugs.webkit.org/show_bug.cgi?id=109661
3105
3106         Reviewed by Noam Rosenthal.
3107
3108         This is a preparation patch for Threaded Coordianted Graphics.
3109
3110         This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
3111         backend. Also, this patch moves common implementation to CoordinatedSurface to
3112         prevent duplication of code.
3113
3114         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
3115         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
3116         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
3117
3118 2013-07-01  Alexey Proskuryakov  <ap@apple.com>
3119
3120         Clean up private browsing session tracking
3121         https://bugs.webkit.org/show_bug.cgi?id=118266
3122         <rdar://problem/13078036>
3123
3124         Reviewed by Brady Eidson.
3125
3126         Instead of counting API calls, we now watch actual WebPreferences objects.
3127
3128         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
3129         Removed code that used to notify WebContext. It's now done by WebPreferences.
3130
3131         * UIProcess/WebContext.h:
3132         * UIProcess/WebContext.cpp:
3133         (WebKit::WebContext::ensureNetworkProcess): Instead of counting the number of times
3134         API was called, rely on WebPreferences tracking.
3135         (WebKit::WebContext::willStartUsingPrivateBrowsing): Ditto. This function is
3136         now only called when we detect a change in private browsing state.
3137         (WebKit::WebContext::willStopUsingPrivateBrowsing): Ditto.
3138         (WebKit::WebContext::createNewWebProcess): Tell the new process to create a private
3139         browsing session if needed.
3140
3141         * UIProcess/WebPreferences.h:
3142         * UIProcess/WebPreferences.cpp:
3143         (WebKit::WebPreferences::addPageGroup): Count how many page groups use private
3144         browsing, and notify WebContext when a session is needed. Note that we don't notify
3145         WebContext about WebPreferences without any page groups, because it's likely
3146         that preferences will be updated by the client before groups are associated.
3147         (WebKit::WebPreferences::removePageGroup): Ditto.
3148         (WebKit::WebPreferences::updateBoolValueForKey): Perform special handling for
3149         private browsing mode changes.
3150         (WebKit::WebPreferences::updatePrivateBrowsingValue): Notify WebContext when
3151         it's time to create or destroy a private browsing session.
3152         (WebKit::WebPreferences::anyPageGroupsAreUsingPrivateBrowsing): A getter for
3153         WebContext to know when any page groups are in private browsing mode.
3154
3155         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
3156         Don't create a private browsing session implicitly, UI process takes care of it.
3157
3158 2013-07-01  Timothy Hatcher  <timothy@apple.com>
3159
3160         Link to WebInspectorUI.framework at build time instead of soft linking.
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=118261
3163
3164         Reviewed by Joseph Pecoraro.
3165
3166         * Configurations/WebKit2.xcconfig:
3167         * UIProcess/mac/WebInspectorProxyMac.mm:
3168         (WebKit::inspectorReallyUsesWebKitUserInterface):
3169         * WebKit2.xcodeproj/project.pbxproj:
3170         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3171         (WebKit::inspectorReallyUsesWebKitUserInterface):
3172
3173 2013-07-01  Tim Horton  <timothy_horton@apple.com>
3174
3175         [wk2] TiledCoreAnimationDrawingArea should support scrolling its exposed rect
3176         https://bugs.webkit.org/show_bug.cgi?id=118173
3177         <rdar://problem/14301166>
3178
3179         Reviewed by Anders Carlsson.
3180
3181         Offset the exposed rect passed from the WKView by the main frame's current scroll position
3182         before sending it to our TiledBackings, so that it is in the same coordinate space as their
3183         ordinary visibleRects.
3184
3185         This has the side effect of making clips-to-exposed-rect testable (though useless) in Safari.
3186
3187         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3188         Add updateScrolledExposedRect() and m_scrolledExposedRect.
3189
3190         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3191         (WebKit::TiledCoreAnimationDrawingArea::scroll):
3192         Call updateScrolledExposedRect when the main frame scrolls.
3193
3194         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
3195         Remove a FIXME about this change.
3196         Call updateScrolledExposedRect instead of passing down the unscrolled rect.
3197
3198         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
3199         Call updateScrolledExposedRect, because that method will short-circuit if
3200         setClipsToExposedRect is false, so we need to update here for correctness
3201         if we get a setExposedRect(), setClipsToExposedRect(true) pair.
3202
3203         (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
3204         Update m_scrolledExposedRect and propagate it to our TiledBackings.
3205
3206         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3207         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3208         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3209         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
3210         Use the scrolled exposed rect.
3211
3212 2013-07-01  Ada Chan  <adachan@apple.com>
3213
3214         Properly hide the header and footer banners if they are set to null.
3215         https://bugs.webkit.org/show_bug.cgi?id=118219
3216
3217         Reviewed by Beth Dakin.
3218         
3219         Call Page::addFooterWithHeight(0) to remove the parent layer that hosts the banner when
3220         the footer banner is detached. Similarly for the header banner.
3221
3222         * WebProcess/WebPage/mac/PageBannerMac.mm:
3223         (WebKit::PageBanner::detachFromPage):
3224
3225 2013-07-01  Jochen Eisinger  <jochen@chromium.org>
3226
3227         Remove support for consumable user gestures
3228         https://bugs.webkit.org/show_bug.cgi?id=118247
3229
3230         Reviewed by Geoffrey Garen.
3231
3232         * WebProcess/Notifications/WebNotificationManager.cpp:
3233         (WebKit::WebNotificationManager::didClickNotification):
3234         * WebProcess/Plugins/PluginView.cpp:
3235         (WebKit::PluginView::performFrameLoadURLRequest):
3236         (WebKit::PluginView::evaluate):
3237         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3238         (WebKit::WebContextMenuClient::searchWithGoogle):
3239
3240 2013-06-27  Jer Noble  <jer.noble@apple.com>
3241
3242         Audio in apps which embed WebViews is corrupted.
3243         https://bugs.webkit.org/show_bug.cgi?id=118163
3244
3245         Reviewed by Maciej Stachowiak.
3246
3247         Expose the WebCore lowPowerVideoAudioBufferSizeEnabled setting to WebKit2 clients.
3248
3249         * Shared/WebPreferencesStore.h:
3250         * WebProcess/WebPage/WebPage.cpp:
3251         (WebKit::WebPage::updatePreferences):
3252
3253 2013-07-01  Sam Weinig  <sam@webkit.org>
3254
3255         WKPageLoadDataWithUserData neglects to set the base URL that is passed in
3256         <rdar://problem/14306784>
3257         https://bugs.webkit.org/show_bug.cgi?id=118256
3258
3259         Reviewed by Anders Carlsson.
3260
3261         * WebProcess/WebPage/WebPage.cpp:
3262         (WebKit::WebPage::loadData):
3263         Pass the baseURL, not blankURL(), and remove an unnecessary multiplication by sizeof(uint8_t) which is always 1.
3264
3265 2013-07-01  Kangil Han  <kangil.han@samsung.com>
3266
3267         Adopt toHTMLTextAreaElement for code cleanup
3268         https://bugs.webkit.org/show_bug.cgi?id=118226
3269
3270         Reviewed by Andreas Kling.
3271
3272         To enhance readability, this patch adopts toHTMLTextAreaElement.
3273         This also helps out to reduce duplicated use of static_cast.
3274
3275         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3276         (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
3277         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
3278         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
3279         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3280         (WebKit::WebEditorClient::textDidChangeInTextArea):
3281         * WebProcess/WebPage/WebFrame.cpp:
3282         (WebKit::WebFrame::containsAnyFormControls):
3283
3284 2013-06-28  Andreas Kling  <akling@apple.com>
3285
3286         Fix Windows builds after deprecatedCharactersWithNullTermination() removal.
3287
3288         * Platform/CoreIPC/win/ConnectionWin.cpp:
3289         (CoreIPC::Connection::createServerAndClientIdentifiers):
3290
3291 2013-06-28  Tim Horton  <timothy_horton@apple.com>
3292
3293         [wk2] WKView shouldn't force scrolling off if shouldClipToVisibleRect is set
3294         https://bugs.webkit.org/show_bug.cgi?id=118174
3295         <rdar://problem/14301175>
3296
3297         Reviewed by Anders Carlsson.
3298
3299         * UIProcess/API/mac/WKView.mm:
3300         (-[WKView _updateViewExposedRect]):
3301         Pass whether or not clips-to-visibleRect is enabled down to the WebPageProxy.
3302
3303         (-[WKView setMinimumSizeForAutoLayout:]):
3304         Disable scrolling when using autolayout instead of when using clips-to-visibleRect.
3305
3306         (-[WKView setShouldClipToVisibleRect:]):
3307         Clipping to the WKView's visibleRect does not strictly require scrolling to be disabled,
3308         and in fact there are cases (RTL/TB pagination) where we *must* scroll, even when the view
3309         is big enough to fit the content (the case clip-to-visibleRect was added for).
3310
3311         * UIProcess/WebPageProxy.cpp:
3312         (WebKit::WebPageProxy::WebPageProxy):
3313         * UIProcess/WebPageProxy.h:
3314         * UIProcess/mac/WebPageProxyMac.mm:
3315         (WebKit::WebPageProxy::viewExposedRectChanged):
3316         (WebKit::WebPageProxy::exposedRectChangedTimerFired):
3317         Keep track of and forward to the drawing area whether or not clips-to-visibleRect is enabled.
3318
3319         * WebProcess/WebPage/DrawingArea.h:
3320         (WebKit::DrawingArea::setClipsToExposedRect): Added.
3321         (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame): Added a missing space.
3322
3323         * WebProcess/WebPage/WebPage.cpp:
3324         (WebKit::WebPage::viewExposedRectChanged):
3325         * WebProcess/WebPage/WebPage.h:
3326         * WebProcess/WebPage/WebPage.messages.in:
3327         Forward clips-to-visibleRect enabled state to the drawing area.
3328
3329         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3330         Add storage for m_clipsToExposedRect.
3331
3332         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3333         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3334         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3335         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
3336         (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
3337         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3338         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
3339         Check m_clipsToExposedRect instead of the main-frame's isScrollable() to determine
3340         whether we should tell our TiledBackings to clip to the exposed rect we provide.
3341
3342         We don't need to listen to mainFrameScrollabilityChanged anymore.
3343
3344 2013-06-28  Gavin Barraclough  <barraclough@apple.com>
3345
3346         Stale occlusion state after moving page back into window
3347         https://bugs.webkit.org/show_bug.cgi?id=118202
3348
3349         Reviewed by Anders Carlsson.
3350         
3351         We need to update the occlusion state when the page goes back into the window.
3352
3353         * UIProcess/API/mac/WKView.mm:
3354         (-[WKView viewDidMoveToWindow]):
3355             - update occlusion state.
3356
3357 2013-06-28  Gwang Yoon Hwang  <ryumiel@company100.net>
3358
3359         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
3360         https://bugs.webkit.org/show_bug.cgi?id=104360
3361
3362         Reviewed by Noam Rosenthal.
3363
3364         The CoordinatedLayerTreeHost has too many responsibilities. It
3365         implements LayerTreeHost, GraphicsLayerClient,
3366         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
3367         UpdateAtlas::Client, GraphicsLayerFactory and
3368         WebCustomFilterProgramProxyClient.
3369
3370         This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
3371
3372         This patch introduces a new class called CompositingCoordinator, which
3373         takes the responsibility of managing compositing resources in
3374         WebProcess.
3375
3376         CoordinatedLayerTreeHost is responsible only for the scheduling and
3377         IPC-specific stuff, which are relevant only for WebKit2.
3378
3379         No new tests, covered by existing tests.
3380
3381         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3382         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
3383         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3384         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
3385         (WebKit::CoordinatedLayerTreeHost::invalidate):
3386         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
3387         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
3388         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3389         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
3390         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
3391         (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
3392         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
3393         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
3394         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
3395         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
3396         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
3397         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
3398         (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
3399         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
3400         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
3401         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
3402         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
3403         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
3404         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3405         * WebProcess/WebPage/LayerTreeHost.h:
3406
3407 2013-06-28  Anders Carlsson  <andersca@apple.com>
3408
3409         Make the UI process run the Java Updater
3410         https://bugs.webkit.org/show_bug.cgi?id=118197
3411         <rdar://problem/14255677>
3412
3413         Reviewed by Sam Weinig.
3414
3415         Patch the relevant NSWorkspace method and pipe through the request to launch the Java updater to the UI process.
3416
3417         * PluginProcess/PluginProcess.h:
3418         * PluginProcess/mac/PluginProcessMac.mm:
3419         (WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
3420         (WebKit::initializeCocoaOverrides):
3421         (WebKit::PluginProcess::launchApplicationAtURL):
3422         * UIProcess/Plugins/PluginProcessProxy.h:
3423         * UIProcess/Plugins/PluginProcessProxy.messages.in:
3424         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3425         (WebKit::isJavaUpdaterURL):
3426         (WebKit::shouldLaunchApplicationAtURL):
3427         (WebKit::PluginProcessProxy::launchApplicationAtURL):
3428
3429 2013-06-28  Tim Horton  <timothy_horton@apple.com>
3430
3431         WARN_UNUSED_RESULT can't be used in API headers, but WKBundlePageExtendIncrementalRenderingSuppression tries to
3432         https://bugs.webkit.org/show_bug.cgi?id=118196
3433         <rdar://problem/14303613>
3434
3435         Reviewed by Anders Carlsson.
3436
3437         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3438
3439 2013-06-28  Andreas Kling  <akling@apple.com>
3440
3441         Don't fire process-became-responsive callback when disconnecting it.
3442         <http://webkit.org/b/118166>
3443
3444         Reviewed by Anders Carlsson.
3445
3446         When disconnecting from a web process, call ResponsivenessTimer::invalidate() instead of
3447         stop() to avoid firing the didBecomeResponsive() callback.
3448
3449         This lets the UI process react faster to actually unresponsive processes.
3450
3451         * UIProcess/WebProcessProxy.cpp:
3452         (WebKit::WebProcessProxy::disconnect):
3453
3454 2013-06-28  Sergio Villar Senin  <svillar@igalia.com>
3455
3456         [WK2][GTK] 100% CPU usage rendering a page with animations
3457         https://bugs.webkit.org/show_bug.cgi?id=117703
3458
3459         Reviewed by Martin Robinson.
3460
3461         Unconditionally update the value of m_lastFlushTime in
3462         ::flushAndRenderLayers. By doing that we avoid a neverending
3463         sequence of layer flushes that happened when m_lastFlushTime==0
3464         and flushPendingLayerChanges() was false. In that situation the
3465         value m_lastFlushTime was never updated so a new flush was always
3466         rescheduled.
3467
3468         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3469         (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
3470
3471 2013-06-28  Andres Gomez  <agomez@igalia.com>
3472
3473         [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings
3474         https://bugs.webkit.org/show_bug.cgi?id=117538
3475
3476         Reviewed by Carlos Garcia Campos.
3477
3478         If the XDG specification is not working for the "Downloads"
3479         directory, let's use HOME as fallback.
3480
3481         * UIProcess/API/gtk/WebKitDownload.cpp:
3482         (webkitDownloadDecideDestination):
3483
3484 2013-06-28  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
3485
3486         [EFL][WK2] Add spellcheck API tests in unit tests.
3487         https://bugs.webkit.org/show_bug.cgi?id=118123
3488
3489         Reviewed by Christophe Dumez.
3490
3491         According to discussion in bug https://bugs.webkit.org/show_bug.cgi?id=113742
3492         we're moving spelling tests from layout tests to unit tests.
3493
3494         * UIProcess/API/efl/tests/resources/spelling_selection_tests.html: Added.
3495         New file is needed to make tests, with and without spellcheck attribute.
3496         File contains basic site with content editable fields and buttons which select
3497         different parts of misspelled words.
3498
3499         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
3500         (countContextMenuItems):
3501         Added method used to count number of items in context menu.
3502
3503 2013-06-27  Kangil Han  <kangil.han@samsung.com>
3504
3505         Adopt is/toHTMLInputElement for code cleanup
3506         https://bugs.webkit.org/show_bug.cgi?id=118130
3507
3508         Reviewed by Antti Koivisto.
3509
3510         To enhance readability, this patch adopts is/toHTMLInputElement.
3511         This also helps out to reduce duplicated use of static_cast.
3512
3513         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3514         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
3515         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
3516         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
3517         (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
3518         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
3519         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
3520         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3521         (WebKit::WebChromeClient::focusedNodeChanged):
3522         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3523         (WebKit::WebEditorClient::textFieldDidBeginEditing):
3524         (WebKit::WebEditorClient::textFieldDidEndEditing):
3525         (WebKit::WebEditorClient::textDidChangeInTextField):
3526         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
3527         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
3528         * WebProcess/WebPage/WebFrame.cpp:
3529         (WebKit::WebFrame::containsAnyFormControls):
3530         * WebProcess/WebPage/WebPage.cpp:
3531         (WebKit::WebPage::editorState):
3532
3533 2013-06-27  Eunmi Lee  <eunmi15.lee@samsung.com>
3534
3535         [EFL][WK2] Add WK2 C API to handle touch events.
3536         https://bugs.webkit.org/show_bug.cgi?id=108915
3537
3538         Reviewed by Gyuyoung Kim.
3539
3540         Touch events for our target platforms differ (XInput2, Wayland, Tizen) so
3541         for the EFL port we want to be able to feed events manually.
3542
3543         To keep our current API for desktop EFL/Enlightenment working, we convert
3544         our currently limited EFL events to the new EFL specific C EwkTouchPoint
3545         and EwkTouchEvent type.
3546
3547         EwkTouchPoint and EwkTouchEvent are exposed as WKTouchPointRef and
3548         WKTouchEventRef, so they are opaque in the applications.
3549
3550         The WKViewSendTouchEvent can be used for any use-case (platform/product)
3551         not involving the EFL events.
3552
3553         At the same time we make sure to avoid using WK2 internals in our EFL API
3554         implementation.
3555
3556         * PlatformEfl.cmake:
3557         * Shared/API/c/efl/WKBaseEfl.h:
3558         * Shared/APIObject.h:
3559         * Shared/NativeWebTouchEvent.h:
3560         (WebKit::NativeWebTouchEvent::nativeEvent):
3561         * Shared/efl/NativeWebTouchEventEfl.cpp:
3562         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3563         * Shared/efl/WebEventFactory.cpp:
3564         (WebKit::toWebPlatformTouchPointState):
3565         (WebKit::toWebEventType):
3566         (WebKit::toWebEventModifiers):
3567         (WebKit::WebEventFactory::createWebTouchEvent):
3568         * Shared/efl/WebEventFactory.h:
3569         * UIProcess/API/C/efl/WKAPICastEfl.h:
3570         * UIProcess/API/C/efl/WKEventEfl.cpp: Added.
3571         (WKTouchPointCreate):
3572         (WKTouchEventCreate):
3573         * UIProcess/API/C/efl/WKEventEfl.h: Added.
3574         * UIProcess/API/C/efl/WKViewEfl.cpp:
3575         (WKViewSendTouchEvent):
3576         * UIProcess/API/C/efl/WKViewEfl.h:
3577         * UIProcess/API/efl/EwkView.cpp:
3578         (toWKTouchPointState):
3579         (toWKEventModifiers):
3580         (EwkView::feedTouchEvent):
3581         (EwkView::feedTouchEvents):
3582         * UIProcess/efl/EwkTouchEvent.cpp: Added.
3583         (WebKit::EwkTouchEvent::EwkTouchEvent):
3584         * UIProcess/efl/EwkTouchEvent.h: Added.
3585         (WebKit::EwkTouchEvent::create):
3586         (WebKit::EwkTouchEvent::eventType):
3587         (WebKit::EwkTouchEvent::touchPoints):
3588         (WebKit::EwkTouchEvent::modifiers):
3589         (WebKit::EwkTouchEvent::timestamp):
3590         (WebKit::EwkTouchEvent::type):
3591         * UIProcess/efl/EwkTouchPoint.cpp: Added.
3592         (WebKit::EwkTouchPoint::EwkTouchPoint):
3593         * UIProcess/efl/EwkTouchPoint.h: Added.
3594         (WebKit::EwkTouchPoint::create):
3595         (WebKit::EwkTouchPoint::id):
3596         (WebKit::EwkTouchPoint::state):
3597         (WebKit::EwkTouchPoint::screenPosition):
3598         (WebKit::EwkTouchPoint::position):
3599         (WebKit::EwkTouchPoint::radius):
3600         (WebKit::EwkTouchPoint::rotationAngle):
3601         (WebKit::EwkTouchPoint::forceFactor):
3602         (WebKit::EwkTouchPoint::type):
3603         * UIProcess/efl/WebViewEfl.cpp:
3604         (WebKit::WebViewEfl::sendTouchEvent):
3605         * UIProcess/efl/WebViewEfl.h:
3606
3607 2013-06-27  Csaba Osztrogonác  <ossy@webkit.org>
3608
3609         Fix cast-align warnings in WebKit2/Platform/CoreIPC
3610         https://bugs.webkit.org/show_bug.cgi?id=117987
3611
3612         Reviewed by Rob Buis, WK2 signed-off by Anders Carlsson.
3613
3614         * Platform/CoreIPC/ArgumentDecoder.cpp:
3615         (CoreIPC::ArgumentDecoder::decode):
3616         * Platform/CoreIPC/ArgumentEncoder.cpp:
3617         (CoreIPC::ArgumentEncoder::encode):
3618
3619 2013-06-27  Commit Queue  <commit-queue@webkit.org>
3620
3621         Unreviewed, rolling out r152074.
3622         http://trac.webkit.org/changeset/152074
3623         https://bugs.webkit.org/show_bug.cgi?id=118137
3624
3625         It caused lots of layout and API test crash on Qt Wk2.
3626         (Requested by kadam on #webkit).
3627
3628         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3629         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
3630         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3631         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
3632         (WebKit::CoordinatedLayerTreeHost::invalidate):
3633         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
3634         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
3635         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
3636         (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges):
3637         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
3638         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
3639         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
3640         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
3641         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
3642         (WebKit::CoordinatedLayerTreeHost::detachLayer):
3643         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
3644         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
3645         (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
3646         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
3647         (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
3648         (WebKit::CoordinatedLayerTreeHost::createImageBacking):
3649         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
3650         (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
3651         (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
3652         (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
3653         (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
3654         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
3655         (WebKit::CoordinatedLayerTreeHost::paintContents):
3656         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
3657         (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
3658         (WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
3659         (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
3660         (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
3661         (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
3662         (WebKit::CoordinatedLayerTreeHost::mainContentsLayer):
3663         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3664         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
3665         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
3666         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
3667         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
3668         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
3669         (WebKit::CoordinatedLayerTreeHost::paintToSurface):
3670         (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
3671         (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
3672         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
3673         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3674         * WebProcess/WebPage/LayerTreeHost.h:
3675         (WebKit::LayerTreeHost::setVisibleContentsRect):
3676         (WebKit::LayerTreeHost::renderNextFrame):
3677         (WebKit::LayerTreeHost::purgeBackingStores):
3678
3679 2013-06-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3680
3681         Fixing some compiler warnings
3682         https://bugs.webkit.org/show_bug.cgi?id=117791
3683
3684         Reviewed by Martin Robinson.
3685
3686         * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Properly
3687         initialized GDBusInterfaceVTable.
3688         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
3689         (webkitWebPageCreate): Added missing fields to the
3690         WKBundlePageLoaderClient.
3691
3692 2013-06-27  Iago Toral Quiroga  <itoral@igalia.com>
3693
3694         Use consistent file names for WidgetBackingStoreGtkX11 class
3695         https://bugs.webkit.org/show_bug.cgi?id=118124
3696
3697         Reviewed by Carlos Garcia Campos.
3698
3699         * UIProcess/cairo/BackingStoreCairo.cpp:
3700
3701 2013-06-27  Alberto Garcia  <agarcia@igalia.com>
3702
3703         [GTK] [WK2] Check value of WEBKIT_INJECTED_BUNDLE_PATH
3704         https://bugs.webkit.org/show_bug.cgi?id=118055
3705
3706         Reviewed by Carlos Garcia Campos.
3707
3708         If the directory pointed at by WEBKIT_INJECTED_BUNDLE_PATH does
3709         not exist, fall back to the system directory.
3710
3711         This makes MiniBrowser work outside the build tree.
3712
3713         * UIProcess/API/gtk/WebKitWebContext.cpp:
3714         (injectedBundleDirectory):
3715
3716 2013-06-26  Simon Cooper  <scooper@apple.com>
3717
3718         Sometimes the Flash Player plugin cannot make outgoing connections
3719         https://bugs.webkit.org/show_bug.cgi?id=118110
3720         <rdar://problem/14270933>
3721
3722         Reviewed by Alexey Proskuryakov.
3723
3724         Allow outgoing and incoming UDP data. Tidy up the QuickTime
3725         profile as it gets the UDP ability from the common profile.
3726
3727         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
3728         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3729
3730 2013-06-26  Simon Cooper  <scooper@apple.com>
3731
3732         Flash Player: deny ipc-posix-sem 59918130
3733         https://bugs.webkit.org/show_bug.cgi?id=118107
3734         <rdar://problem/14271105>
3735
3736         Reviewed by Alexey Proskuryakov.
3737
3738         Allow same-sandbox scoped semaphores on Mavericks. Permit the
3739         named semaphore for older releases.
3740
3741         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3742
3743 2013-06-26  Gwang Yoon Hwang  <ryumiel@company100.net>
3744
3745         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
3746         https://bugs.webkit.org/show_bug.cgi?id=104360
3747
3748         Reviewed by Noam Rosenthal.
3749
3750         The CoordinatedLayerTreeHost has too many responsibilities. It
3751         implements LayerTreeHost, GraphicsLayerClient,
3752         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
3753         UpdateAtlas::Client, GraphicsLayerFactory and
3754         WebCustomFilterProgramProxyClient.
3755
3756         This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
3757
3758         This patch introduces a new class called CompositingCoordinator, which
3759         takes the responsibility of managing compositing resources in
3760         WebProcess.
3761
3762         CoordinatedLayerTreeHost is responsible only for the scheduling and
3763         IPC-specific stuff, which are relevant only for WebKit2.
3764
3765         No new tests, covered by existing tests.
3766
3767         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3768         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
3769         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3770         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
3771         (WebKit::CoordinatedLayerTreeHost::invalidate):
3772         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
3773         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
3774         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3775         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
3776         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
3777         (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
3778         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
3779         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
3780         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
3781         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
3782         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
3783         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
3784         (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
3785         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
3786         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
3787         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
3788         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
3789         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
3790         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3791         * WebProcess/WebPage/LayerTreeHost.h:
3792
3793 2013-06-26  Simon Cooper  <scooper@apple.com>
3794
3795         Silverlight deny ipc-posix-sem LC_Mutex playing Amazon Prime videos
3796         https://bugs.webkit.org/show_bug.cgi?id=118102
3797         <rdar://problem/14194077>
3798
3799         Reviewed by Alexey Proskuryakov.
3800
3801         Allow same-sandbox scoped semaphores on Mavericks. Permit the
3802         named semaphore for older releases.
3803
3804         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
3805
3806 2013-06-26  Simon Cooper  <scooper@apple.com>
3807
3808         Update ColorSync shared memory names in plug-in sandbox profile
3809         https://bugs.webkit.org/show_bug.cgi?id=118099
3810
3811         Reviewed by Alexey Proskuryakov.
3812
3813         Update the common profile to use the names used in Mavericks
3814
3815         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3816
3817 2013-06-26  Anders Carlsson  <andersca@apple.com>
3818
3819         Deprecate StringImpl::charactersWithNullTermination
3820         https://bugs.webkit.org/show_bug.cgi?id=118108
3821
3822         Reviewed by Beth Dakin.
3823
3824         Rename calls to charactersWithNullTermination to deprecatedCharactersWithNullTermination.
3825
3826         * Platform/CoreIPC/win/ConnectionWin.cpp:
3827         (CoreIPC::Connection::createServerAndClientIdentifiers):
3828
3829 2013-06-26  Simon Cooper  <scooper@apple.com>
3830
3831         QuickTime plug-in cannot update com.apple.quicktime.plugin.preferences.plist file
3832         https://bugs.webkit.org/show_bug.cgi?id=118098
3833         <rdar://problem/13888138>
3834
3835         Reviewed by Alexey Proskuryakov.
3836
3837         Allow the preference file to be written
3838
3839         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
3840
3841 2013-06-24  Simon Cooper  <scooper@apple.com>
3842
3843         Silverlight triggers sandbox violations: deny network-bind 0.0.0.0:0
3844         https://bugs.webkit.org/show_bug.cgi?id=117966
3845         <rdar://problem/13927918>
3846
3847         Reviewed by Sam Weinig.
3848
3849         Allow assigning (via bind) an ephemeral port before connecting
3850
3851         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
3852         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3853         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
3854         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
3855
3856 2013-06-24  Simon Cooper  <scooper@apple.com>
3857
3858         PluginProcess deny file-read-data /Network/Library under addVolumeTracker
3859         https://bugs.webkit.org/show_bug.cgi?id=117965
3860         <rdar://problem/14121247>
3861
3862         Reviewed by Alexey Proskuryakov.
3863
3864         Silently deny reading /Network/Applications and 
3865         /Network/Library.
3866
3867         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3868
3869 2013-06-24  Kangil Han  <kangil.han@samsung.com>
3870
3871         Adopt is/toHTMLFormElement for code cleanup
3872         https://bugs.webkit.org/show_bug.cgi?id=117937
3873
3874         Reviewed by Andreas Kling.
3875
3876         This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859
3877
3878         To enhance readibility, this patch adopts is/toHTMLFormElement.
3879         This also helps out to reduce duplicated use of static_cast.
3880
3881         * WebProcess/WebPage/WebFrame.cpp:
3882         (WebKit::WebFrame::containsAnyFormElements):
3883
3884 2013-06-24  Simon Cooper  <scooper@apple.com>
3885
3886         deny file-read-data /Library/CoreMediaIO/Plug-Ins/DAL
3887         https://bugs.webkit.org/show_bug.cgi?id=117964
3888         <rdar://problem/14036864>
3889
3890         Reviewed by Alexey Proskuryakov.
3891
3892         Permit reading of the /Library/CoreMediaIO/Plug-Ins/DAL
3893         subdirectory.
3894
3895         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3896
3897 2013-06-24  Simon Cooper  <scooper@apple.com>
3898
3899         Repeating sandbox violations when playing Amazon Prime videos with Flash
3900         https://bugs.webkit.org/show_bug.cgi?id=117953
3901         <rdar://problem/14193693>
3902
3903         Reviewed by Alexey Proskuryakov.
3904
3905         Add some missing "standard" files for network service lookups
3906
3907         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3908
3909 2013-06-24  Simon Cooper  <scooper@apple.com>
3910
3911         Plug-in sandbox violations attempting to access com.apple.CoreGraphics.plist
3912         https://bugs.webkit.org/show_bug.cgi?id=117963
3913         <rdar://problem/14084234>
3914
3915         Reviewed by Alexey Proskuryakov.
3916
3917         Permit the reading of the com.apple.CoreGraphics preference file
3918
3919         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3920
3921 2013-06-24  Simon Cooper  <scooper@apple.com>
3922
3923         com.oracle.javadeployment.plist is not correctly specified in the JavaApplet plugin profile
3924         https://bugs.webkit.org/show_bug.cgi?id=117961
3925         <rdar://problem/14223823>
3926
3927         Reviewed by Alexey Proskuryakov.
3928
3929         Remove the trailing extraneous .plist from the preference file rule
3930
3931         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
3932
3933 2013-06-24  Simon Cooper  <scooper@apple.com>
3934
3935         PluginProcess sandbox violations on com.apple.networkConnect.plist when resetting Safari
3936         https://bugs.webkit.org/show_bug.cgi?id=117958
3937         <rdar://problem/13938149>
3938
3939         Reviewed by Alexey Proskuryakov.
3940
3941         Allow reading the com.apple.networkConnect plist.
3942
3943         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
3944
3945 2013-06-24  Simon Cooper  <scooper@apple.com>
3946
3947         Java sandbox violation ipc-posix-shm-read-data /tmp/com.apple.csseed.67
3948         https://bugs.webkit.org/show_bug.cgi?id=117954
3949         <rdar://problem/14166577>
3950
3951         Reviewed by Alexey Proskuryakov.
3952
3953         Permit read access to this shared memory segment
3954
3955         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3956
3957 2013-06-24  Simon Cooper  <scooper@apple.com>
3958
3959         Plugin Sandbox violation in /Library/Audio/Sounds/Banks
3960         https://bugs.webkit.org/show_bug.cgi?id=117957
3961         <rdar://problem/14163582>
3962
3963         Reviewed by Alexey Proskuryakov.
3964
3965         Permit read access to subdirectories under /Library/Audio/Sounds
3966
3967         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3968
3969 2013-06-24  Nick Diego Yamane  <nick.yamane@openbossa.org>
3970
3971         Make sure m_iconDatabaseImpl is not null before closing it
3972         https://bugs.webkit.org/show_bug.cgi?id=117943
3973
3974         Reviewed by Simon Fraser.
3975
3976         Since r150474 WebIconDatabase is closed unconditionally in
3977         TestController destructor, in that case WebKitTestRunner crashes
3978         when no icon database path is set. This misbehavior was observed in
3979         ports such as efl and nix.
3980         In this patch, WebIconDatabase::close() calls m_iconDatabaseImpl->close()
3981         only if m_iconDatabaseImpl is not null, as it's already being done in other
3982         WebIconDatabase's methods, such as isOpen().
3983
3984         * UIProcess/WebIconDatabase.cpp:
3985         (WebKit::WebIconDatabase::close):
3986
3987 2013-06-24  Ruth Fong  <ruth_fong@apple.com>
3988
3989         Expose the mediaHasAudio() function in WK2
3990         https://bugs.webkit.org/show_bug.cgi?id=117946
3991         <rdar://problem/14250527>
3992
3993         Reviewed by Beth Dakin.
3994
3995         Exposes the WebCore::HTMLMediaElement::mediaHasAudio() function
3996         in WK2.
3997
3998         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
3999         (WKBundleHitTestResultMediaHasAudio): Added.
4000         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
4001         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
4002         (WebKit::InjectedBundleHitTestResult::mediaHasAudio): Added.
4003         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
4004
4005 2013-06-24  Anders Carlsson  <andersca@apple.com>
4006
4007         REGRESSION (r147591): can't type in Adobe Connect
4008         https://bugs.webkit.org/show_bug.cgi?id=117947
4009         <rdar://problem/14223539>
4010
4011         Reviewed by Andreas Kling.
4012
4013         With the change in r147591, it is now possible for a plug-in element to be focused before the plug-in
4014         starts. Handle this by focusing the plug-in right after it's started if necessary.
4015
4016         * WebProcess/Plugins/PluginView.cpp:
4017         (WebKit::PluginView::didInitializePlugin):
4018
4019 2013-06-24  Simon Fraser  <simon.fraser@apple.com>
4020
4021         Move displayID stuff from Widget to Chrome
4022         https://bugs.webkit.org/show_bug.cgi?id=117944
4023
4024         Reviewed by Anders Carlsson.
4025
4026         In r151877 I polluted Widget with displayID-related stuff. This would
4027         be better on HostWindow, so move it there. This is a net code reduction,
4028         and eliminates PlatformScreenMac.h, and the NSScreen category.
4029
4030         * WebProcess/WebPage/WebPage.cpp:
4031         (WebKit::WebPage::windowScreenDidChange): Go via chrome().
4032
4033 2013-06-24  Krzysztof Wolanski  <k.wolanski@samsung.com>
4034
4035         [EFL][WK2] Implement unit test callback: onWordGuesses.
4036         https://bugs.webkit.org/show_bug.cgi?id=117794
4037
4038         Reviewed by Christophe Dumez.
4039
4040         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
4041         (onWordGuesses):
4042         Add client suggestions for the word.
4043
4044         (checkClientSuggestionsForWord):
4045         Verify the suggestions that were given by the client.
4046
4047 2013-06-17  Darin Adler  <darin@apple.com>
4048
4049         Sort all the Xcode project files
4050         https://bugs.webkit.org/show_bug.cgi?id=117696
4051
4052         Reviewed by Anders Carlsson.
4053
4054         * WebKit2.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
4055
4056 2013-06-22  Dean Jackson  <dino@apple.com>
4057
4058         Slightly reduce width threshold on detection of primary snapshotted Plug-In
4059         https://bugs.webkit.org/show_bug.cgi?id=117914
4060         <rdar://problem/14136687>
4061
4062         Reviewed by Simon Fraser.
4063
4064         We've noticed some content that should be detected as the primary snapshotted plug-in,
4065         but is just a bit smaller than our 450x300 minimum threshold. Reduce the width to 400.
4066
4067         * WebProcess/WebPage/WebPage.cpp: Change primarySnapshottedPlugInMinimumWidth from 450 to 400.
4068
4069 2013-06-22  Simon Fraser  <simon.fraser@apple.com>
4070
4071         screen.availWidth always returns width of primary display
4072         https://bugs.webkit.org/show_bug.cgi?id=117863
4073
4074         Reviewed by Geoffrey Garen.
4075     
4076         In WebKit2, Widgets have no platformWidget, so trying to get to the
4077         NSScreen via the platform widget's window never succeeded, and we always
4078         fell back on getting info for the main display.
4079
4080         However, we were already pushing the WKView's displayID down to the
4081         WebProcess for the requestAnimationFrame infrastructure, so use that.
4082         
4083         The WebProcess would not receive a displayID for a WKView until the window
4084         was activated; fix by calling -doWindowDidChangeScreen when the view
4085         moves to a window, rather than doing it from -_windowDidBecomeKey:.
4086         
4087         * UIProcess/API/mac/WKView.mm:
4088         (-[WKView viewDidMoveToWindow]):
4089         (-[WKView _windowDidBecomeKey:]):
4090
4091 2013-06-21  Carlos Garcia Campos  <cgarcia@igalia.com>
4092
4093         [GTK] Do not try to load videos in unit tests
4094         https://bugs.webkit.org/show_bug.cgi?id=117866
4095
4096         Reviewed by Philippe Normand.
4097
4098         It makes the tests slower, and generates and error because we use
4099         a fake src.
4100
4101         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
4102         (testContextMenuDefaultMenu): Use preload='none' in video tag.
4103         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
4104         (testWebViewMouseTarget): Ditto.
4105
4106 2013-06-21  Christophe Dumez  <ch.dumez@sisa.samsung.com>
4107
4108         REGRESSION (r150663): Using webkitAudioContext in Inspector makes it undefined everywhere
4109         https://bugs.webkit.org/show_bug.cgi?id=117825
4110
4111         Reviewed by Kentaro Hara.
4112
4113         Use Settings to enable Web Audio instead of&nbs