<http://webkit.org/b/91024> Build against the latest SDK when targeting older OS...
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-07-11  Mark Rowe  <mrowe@apple.com>
2
3         <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
4
5         Reviewed by Dan Bernstein.
6
7         The deployment target is already set to the version that we're targeting, and it's that setting
8         which determines which functionality from the SDK is available to us.
9
10         * Configurations/Base.xcconfig:
11
12 2012-07-11  Mark Rowe  <mrowe@apple.com>
13
14         <http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes
15
16         Reviewed by Dan Bernstein.
17
18         * UIProcess/mac/WKFullScreenWindowController.mm:
19         (convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
20         but otherwise provides a compatibility implementation of it.
21         (-[WKFullScreenWindowController enterFullScreen:]): Call our new helper.
22
23 2012-07-11  Mark Rowe  <mrowe@apple.com>
24
25         <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
26
27         This removal was handled by a script that translates the relevant macros in to the equivalent checks
28         using the system availability macros.
29
30         Reviewed by Filip Pizlo.
31
32         * Shared/DictionaryPopupInfo.cpp:
33         * Shared/DictionaryPopupInfo.h:
34         * Shared/mac/PasteboardTypes.mm:
35         * Shared/mac/WebEventFactory.mm:
36         * UIProcess/API/mac/PDFViewController.mm:
37         * UIProcess/API/mac/PageClientImpl.mm:
38         * UIProcess/API/mac/WKView.mm:
39         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
40         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
41         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
42         * UIProcess/Launcher/mac/EnvironmentVariables.h:
43         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
44         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
45         * UIProcess/WebPageProxy.cpp:
46         * UIProcess/WebPageProxy.h:
47         * UIProcess/WebPageProxy.messages.in:
48         * UIProcess/mac/TextCheckerMac.mm:
49         * UIProcess/mac/WKFullScreenWindowController.mm:
50         * UIProcess/mac/WebContextMac.mm:
51         * UIProcess/mac/WebPageProxyMac.mm:
52         * WebKit2Prefix.h:
53         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
54         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
55         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
56         * WebProcess/WebCoreSupport/WebEditorClient.h:
57         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
58         * WebProcess/WebPage/WebPage.cpp:
59         * WebProcess/WebPage/WebPage.h:
60         * WebProcess/WebPage/WebPage.messages.in:
61         * WebProcess/WebPage/mac/WebPageMac.mm:
62         * WebProcess/com.apple.WebProcess.sb.in:
63         * WebProcess/mac/KeychainItemShimMethods.mm:
64         * WebProcess/mac/SecItemShimMethods.mm:
65         * WebProcess/mac/WebProcessMac.mm:
66         * WebProcess/mac/WebProcessMainMac.mm:
67         * WebProcess/mac/WebProcessShim.mm:
68
69 2012-07-11  Simon Fraser  <simon.fraser@apple.com>
70
71         pagesPerView param is misnamed for WKPageSetPageLength()
72         https://bugs.webkit.org/show_bug.cgi?id=91033
73
74         Rubber-stamped by Dan Bernstein.
75
76         The name of the second parameter to WKPageSetPageLength(),
77         'pagesPerView', was confusing; it's a page size (normally width)
78         in pixels.
79
80         * UIProcess/API/C/WKPagePrivate.h:
81
82 2012-07-11  Anders Carlsson  <andersca@apple.com>
83
84         Add -Wtautological-compare and -Wsign-compare warning flags
85         https://bugs.webkit.org/show_bug.cgi?id=90994
86
87         Reviewed by Mark Rowe.
88
89         * Configurations/Base.xcconfig:
90
91 2012-07-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
92
93         [Qt][WK2] Test actual rendering results in API tests
94         https://bugs.webkit.org/show_bug.cgi?id=80609
95
96         Reviewed by Alexis Menard.
97
98         Added a very basic test to tst_QQuickWebView to make sure rendering actually occurs.
99
100         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
101         (tst_QQuickWebView):
102         (tst_QQuickWebView::basicRenderingSanity):
103
104 2012-07-11  Mark Rowe  <mrowe@apple.com>
105
106         Add a Mountain Lion version of libWebKitSystemInterface.a.
107
108         Reviewed by John Sullivan.
109
110         * Configurations/DebugRelease.xcconfig: Look for the library under its expected name.
111
112 2012-07-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
113
114         [Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment.
115         https://bugs.webkit.org/show_bug.cgi?id=90641
116
117         Reviewed by Jocelyn Turcotte.
118
119         Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in
120         LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when
121         WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible
122         tiles are also synchronously updated.
123
124         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
125         (WebView::WebView):
126         (WebView::viewNeedsDisplay):
127         (WebView::frameLoaded):
128         (WebView):
129         (WebView::onRepaintDone):
130         (WebView::finishForceRepaint):
131         (WebView::finishFirstLayoutForFrame):
132         (tst_qrawwebview::doNoBackground1):
133         (tst_qrawwebview::doNoBackground2):
134         (tst_qrawwebview::doNoBackground3):
135         (tst_qrawwebview::run):
136             The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to
137             generating the pixel results. This has exposed a timing bug in the test - setting the
138             transparentBackground property of a page has to be done before it's created. This has
139             been fixed in the test.
140
141         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
142         (WebKit::LayerTreeCoordinator::forceRepaint):
143         (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
144         (WebKit):
145
146 2012-07-11  MORITA Hajime  <morrita@google.com>
147
148         WebCoreSupport needs objects each of which follows major WebCore objects
149         https://bugs.webkit.org/show_bug.cgi?id=88499
150
151         Reviewed by Alexey Proskuryakov.
152
153         Added exporting symbols.
154
155         * win/WebKit2.def:
156         * win/WebKit2CFLite.def:
157
158 2012-07-11  Sheriff Bot  <webkit.review.bot@gmail.com>
159
160         Unreviewed, rolling out r122318.
161         http://trac.webkit.org/changeset/122318
162         https://bugs.webkit.org/show_bug.cgi?id=90961
163
164         It made 11 fast/events/touch fail (Requested by bbandix on
165         #webkit).
166
167         * UIProcess/API/qt/qquickwebview.cpp:
168         * UIProcess/API/qt/qquickwebview_p.h:
169
170 2012-07-11  Keunsoon Lee  <keunsoon.lee@samsung.com>
171
172         [EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
173         https://bugs.webkit.org/show_bug.cgi?id=90688
174
175         Reviewed by Hajime Morita.
176
177         Return meaningful error for each case.
178
179         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
180         (WebKit::cancelledError): create ResourceError for "request canceled".
181         (WebKit::blockedError): create ResourceError for "request blocked".
182         (WebKit::cannotShowURLError): create ResourceError for "cannot show url".
183         (WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change".
184         (WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype".
185         (WebKit::fileDoesNotExistError): create ResourceError for "File does not exist".
186         (WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load".
187
188 2012-07-11  Andras Becsi  <andras.becsi@nokia.com>
189
190         [Qt][WK2] Fix wheel scrolling for simple pages
191         https://bugs.webkit.org/show_bug.cgi?id=90793
192
193         Reviewed by Kenneth Rohde Christiansen.
194
195         Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize
196         instead of setting the view size manually and scheduling a relayout.
197         Since setFixedLayoutSize forces a relayout it also updates the scrollbars
198         after the visible rect is available.
199         This fixes scrolling with wheel events for a QML WebView loading a simple
200         local page which previously ended up in a state where scrolling was disabled
201         because the scrollbar update happened before the correct visible rect size was
202         available.
203
204         Add a QML test and infrastructure to QWebKitTest to cover this case.
205
206         * UIProcess/API/qt/qwebkittest.cpp:
207         (QWebKitTest::wheelEvent):
208         * UIProcess/API/qt/qwebkittest_p.h:
209         * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added.
210         * UIProcess/API/qt/tests/qmltests/common/test4.html: Added.
211         * WebProcess/WebPage/WebPage.cpp:
212         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
213
214 2012-07-11  Andras Becsi  <andras.becsi@nokia.com>
215
216         [Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
217         https://bugs.webkit.org/show_bug.cgi?id=90875
218
219         Reviewed by Kenneth Rohde Christiansen.
220
221         Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
222         method to filter touch events too, and because Flickable filters child
223         mouse events the canvas calls this function before propagating the touch
224         event to the WebView. Since Flickable does not accept touch events the
225         canvas tries to propagate a synthesized mouse event through the base
226         class childMouseEventFilter function which is accepted by Flickable and
227         interferes with the input events we send to Flicakble hence messes up
228         the internal state of the WebView.
229         This patch reimplements the virtual childMouseEventFilter method so that all
230         the mouse and touch events can be processed by WebKit before they arrive to
231         Flickable.
232
233         * UIProcess/API/qt/qquickwebview.cpp:
234         (QQuickWebView::childMouseEventFilter):
235         * UIProcess/API/qt/qquickwebview_p.h:
236
237 2012-07-10  Christophe Dumez  <christophe.dumez@intel.com>
238
239         [WK2][EFL] Add Battery Status Provider
240         https://bugs.webkit.org/show_bug.cgi?id=90543
241
242         Reviewed by Kenneth Rohde Christiansen.
243
244         Define a battery status provider for WebKit2 EFL which
245         relies on WebCore::BatteryProviderEfl.
246
247         * CMakeLists.txt: Add WebCore/Modules/battery to include
248         paths.
249         * PlatformEfl.cmake: Add BatteryProvider class to CMake.
250         * UIProcess/API/efl/BatteryProvider.cpp: Added.
251         (toBatteryProvider):
252         (startUpdatingCallback):
253         (stopUpdatingCallback):
254         (BatteryProvider::~BatteryProvider):
255         (BatteryProvider::create):
256         (BatteryProvider::BatteryProvider):
257         (BatteryProvider::startUpdating):
258         (BatteryProvider::stopUpdating):
259         (BatteryProvider::didChangeBatteryStatus):
260         * UIProcess/API/efl/BatteryProvider.h: Added.
261         (BatteryProvider):
262         * UIProcess/API/efl/ewk_context.cpp:
263         (_Ewk_Context): Add BatteryProvider to Ewk_Context.
264         (createDefaultEwkContext):
265         (ewk_context_default_get):
266
267 2012-07-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
268
269         [Qt] Enable antialiasing for TextureMapper
270         https://bugs.webkit.org/show_bug.cgi?id=90915
271
272         Reviewed by Martin Robinson.
273
274         Enable the new antialiasing functionality for WebLayerTreeRendering.
275         This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.
276
277         * UIProcess/WebLayerTreeRenderer.cpp:
278         (WebKit::WebLayerTreeRenderer::ensureRootLayer):
279
280 2012-07-10  Adam Barth  <abarth@webkit.org>
281
282         WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
283         https://bugs.webkit.org/show_bug.cgi?id=90910
284
285         Reviewed by Eric Seidel.
286
287         * Shared/WebPreferencesStore.h:
288         (WebKit):
289         * UIProcess/API/C/WKPreferences.cpp:
290         (WKPreferencesSetHixie76WebSocketProtocolEnabled):
291         (WKPreferencesGetHixie76WebSocketProtocolEnabled):
292         * WebProcess/InjectedBundle/InjectedBundle.cpp:
293         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
294         * WebProcess/WebPage/WebPage.cpp:
295         (WebKit::WebPage::updatePreferences):
296
297 2012-07-10  Helder Correia  <helder.correia@nokia.com>
298
299         [Qt] Repaint counter for accelerated compositing
300         https://bugs.webkit.org/show_bug.cgi?id=90116
301
302         Reviewed by Noam Rosenthal.
303
304         No new tests, just introducing a debug feature.
305
306         For this feature to be enabled, the environment variable
307         QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
308         both repaint counters and tile borders will be painted.
309
310         Important notes:
311         - Only WebKit2 is targetted for now.
312         - There is no integration with Preferences. That aproach was
313         taken initially but revealed complex and overkill for such a
314         debugging-only functionality. Thus, to disable it simply restart with
315         the environment variable unset or set to some other value.
316
317         A Qt-specific drawRepaintCounter() function was added to
318         TextureMapperGL. A QImage is used as scratch buffer to paint borders and
319         counters. It is then uploaded to a BitmapTexture acquired from the pool
320         and finally draw by TextureMapper. The actual compositing happens inside
321         LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile
322         now has a repaint counter which gets incremented in
323         LayerBackingStore::updateTile().
324
325         * UIProcess/texmap/LayerBackingStore.cpp:
326         (WebKit::LayerBackingStore::updateTile):
327         (WebKit):
328         (WebKit::shouldShowTileDebugVisuals):
329         (WebKit::LayerBackingStore::paintToTextureMapper):
330         * UIProcess/texmap/LayerBackingStore.h:
331         (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
332         (LayerBackingStoreTile):
333         (WebKit::LayerBackingStoreTile::incrementRepaintCount):
334         (WebKit::LayerBackingStoreTile::repaintCount):
335
336 2012-07-10  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
337
338         [WK2] Add Vibration API support for WebKit2
339         https://bugs.webkit.org/show_bug.cgi?id=90058
340
341         Reviewed by Anders Carlsson.
342
343         Add support for Vibration API to WebKit2.
344
345         * CMakeLists.txt:
346         * DerivedSources.pri:
347         * GNUmakefile.list.am:
348         * Platform/CoreIPC/MessageID.h:
349         * Shared/API/c/WKBase.h:
350         * Shared/APIObject.h:
351         * Target.pri:
352         * UIProcess/API/C/WKAPICast.h:
353         (WebKit):
354         * UIProcess/API/C/WKVibration.cpp: Added.
355         (WKVibrationGetTypeID):
356         (WKVibrationSetProvider):
357         * UIProcess/API/C/WKVibration.h: Added.
358         * UIProcess/WebVibrationProvider.cpp: Added.
359         (WebKit):
360         (WebKit::WebVibrationProvider::vibrate):
361         (WebKit::WebVibrationProvider::cancelVibration):
362         * UIProcess/WebVibrationProvider.h: Added.
363         (WebKit):
364         (WebVibrationProvider):
365         * UIProcess/WebVibrationProxy.cpp: Added.
366         (WebKit):
367         (WebKit::WebVibrationProxy::create):
368         (WebKit::WebVibrationProxy::WebVibrationProxy):
369         (WebKit::WebVibrationProxy::~WebVibrationProxy):
370         (WebKit::WebVibrationProxy::invalidate):
371         (WebKit::WebVibrationProxy::initializeProvider):
372         (WebKit::WebVibrationProxy::didReceiveMessage):
373         (WebKit::WebVibrationProxy::vibrate):
374         (WebKit::WebVibrationProxy::cancelVibration):
375         * UIProcess/WebVibrationProxy.h: Added.
376         (CoreIPC):
377         (WebKit):
378         (WebVibrationProxy):
379         (WebKit::WebVibrationProxy::clearContext):
380         (WebKit::WebVibrationProxy::type):
381         * UIProcess/WebVibrationProxy.messages.in: Added.
382         * WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added.
383         (WebKit):
384         (WebKit::WebVibrationClient::vibrate):
385         (WebKit::WebVibrationClient::cancelVibration):
386         (WebKit::WebVibrationClient::vibrationDestroyed):
387         * WebProcess/WebCoreSupport/WebVibrationClient.h: Added.
388         (WebKit):
389         (WebVibrationClient):
390         (WebKit::WebVibrationClient::WebVibrationClient):
391         (WebKit::WebVibrationClient::~WebVibrationClient):
392
393 2012-07-10  Carlos Garcia Campos  <cgarcia@igalia.com>
394
395         [GTK] Add API to clear the cache to WebKit2 GTK+
396         https://bugs.webkit.org/show_bug.cgi?id=90856
397
398         Reviewed by Martin Robinson.
399
400         * UIProcess/API/gtk/WebKitWebContext.cpp:
401         (webkit_web_context_clear_cache): Call
402         WKResourceCacheManagerClearCacheForAllOrigins() to clear all
403         resources currently cached.
404         * UIProcess/API/gtk/WebKitWebContext.h:
405         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
406
407 2012-07-10  Sheriff Bot  <webkit.review.bot@gmail.com>
408
409         Unreviewed, rolling out r122178.
410         http://trac.webkit.org/changeset/122178
411         https://bugs.webkit.org/show_bug.cgi?id=90857
412
413         browser tests, PrerenderBrowserTest.PrerenderFavicon and other
414         tests, started to fail (Requested by hayato on #webkit).
415
416         * win/WebKit2.def:
417
418 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
419
420         Add ENABLE_DIALOG_ELEMENT and skeleton files
421         https://bugs.webkit.org/show_bug.cgi?id=90521
422
423         Reviewed by Kent Tamura.
424
425         * Configurations/FeatureDefines.xcconfig:
426
427 2012-07-09  Pete Williamson  <petewil@google.com>
428
429         Export the iconURL list to make it available to the Internals class for testing
430         https://bugs.webkit.org/show_bug.cgi?id=88665
431
432         Reviewed by Kent Tamura.
433
434         * win/WebKit2.def: export the DocumentL::iconURLs function
435
436 2012-07-09  Christophe Dumez  <christophe.dumez@intel.com>
437
438         [WK2] Add missing Battery Status API integration to WebContext and WebPage
439         https://bugs.webkit.org/show_bug.cgi?id=90784
440
441         Reviewed by Anders Carlsson.
442
443         Integrate Battery Status API to WebPage, WebContext and
444         properly route messages to the WebBatteryManagerProxy.
445         Without this, the Battery Status tests are crashing for
446         WebKit2.
447
448         * UIProcess/API/C/WKContext.cpp:
449         (WKContextGetBatteryManager):
450         * UIProcess/API/C/WKContext.h:
451         * UIProcess/WebContext.cpp:
452         (WebKit::WebContext::WebContext):
453         (WebKit::WebContext::~WebContext):
454         (WebKit::WebContext::disconnectProcess):
455         (WebKit::WebContext::didReceiveMessage):
456         * UIProcess/WebContext.h:
457         (WebKit):
458         (WebContext):
459         (WebKit::WebContext::batteryManagerProxy):
460         * UIProcess/WebProcessProxy.cpp:
461         (WebKit::WebProcessProxy::didReceiveMessage):
462         * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
463         (WebKit::WebBatteryClient::setController):
464         (WebKit):
465         * WebProcess/WebCoreSupport/WebBatteryClient.h:
466         (WebBatteryClient):
467         * WebProcess/WebPage/WebPage.cpp:
468         (WebKit::WebPage::WebPage):
469
470 2012-07-09  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
471
472         [EFL] [WK2] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
473         https://bugs.webkit.org/show_bug.cgi?id=90464
474
475         Reviewed by Daniel Bates.
476
477         HashMap has the property that 0 is the empty value for integer
478         keys, so do not use 0 as a key in the HashMap.
479
480         * Platform/efl/WorkQueueEfl.cpp:
481         (WorkQueue::dispatchAfterDelay):
482
483 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
484
485         [GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
486         https://bugs.webkit.org/show_bug.cgi?id=90773
487
488         Reviewed by Martin Robinson.
489
490         * UIProcess/API/gtk/WebKitSettings.cpp:
491         (webKitSettingsSetProperty):
492         (webKitSettingsGetProperty):
493         (webkit_settings_class_init):
494         (webkit_settings_get_enable_page_cache):
495         (webkit_settings_set_enable_page_cache):
496         * UIProcess/API/gtk/WebKitSettings.h:
497         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
498         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
499         (testWebKitSettings):
500
501 2012-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
502
503         Unreviewed, rolling out r122107.
504         http://trac.webkit.org/changeset/122107
505         https://bugs.webkit.org/show_bug.cgi?id=90794
506
507         Build failure on Mac debug bots (Requested by falken_ on
508         #webkit).
509
510         * Configurations/FeatureDefines.xcconfig:
511
512 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
513
514         [GTK] Fix inspector detach when inspector was attached by the client
515         https://bugs.webkit.org/show_bug.cgi?id=90763
516
517         Reviewed by Martin Robinson.
518
519         When the inspector is detached, we are unconditionally removing it
520         from the inspected view, but if the inspector was attached by the
521         client, the parent might be another widget.
522
523         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
524         (WebKit::WebInspectorProxy::platformDetach): Remove the inspector
525         view from its parent widget.
526
527 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
528
529         Add ENABLE_DIALOG_ELEMENT and skeleton files
530         https://bugs.webkit.org/show_bug.cgi?id=90521
531
532         Reviewed by Kent Tamura.
533
534         * Configurations/FeatureDefines.xcconfig:
535
536 2012-07-09  Dan Bernstein  <mitz@apple.com>
537
538         Fix the Mac build when codesign_allocate is not installed at /usr/bin.
539
540         * PluginProcess/mac/add-entitlements.sh: Let codesign(1) know where the codesign_allocate
541         tool is by setting the CODESIGN_ALLOCATE environment variable to its path as obtained with
542         xcrun.
543
544 2012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
545
546         [WK2] Add support for Network Information API
547         https://bugs.webkit.org/show_bug.cgi?id=89870
548
549         Reviewed by Anders Carlsson.
550
551         Add Network Information API support for WebKit2.
552
553         * CMakeLists.txt:
554         * DerivedSources.pri:
555         * GNUmakefile.am:
556         * GNUmakefile.list.am:
557         * Platform/CoreIPC/MessageID.h:
558         * Shared/API/c/WKBase.h:
559         * Shared/APIObject.h:
560         * Shared/WebNetworkInfo.cpp: Added.
561         (WebKit):
562         (WebKit::WebNetworkInfo::WebNetworkInfo):
563         (WebKit::WebNetworkInfo::~WebNetworkInfo):
564         (WebKit::WebNetworkInfo::Data::encode):
565         (WebKit::WebNetworkInfo::Data::decode):
566         * Shared/WebNetworkInfo.h: Added.
567         (WebKit):
568         (WebNetworkInfo):
569         (Data):
570         (WebKit::WebNetworkInfo::create):
571         (WebKit::WebNetworkInfo::bandwidth):
572         (WebKit::WebNetworkInfo::metered):
573         (WebKit::WebNetworkInfo::data):
574         (WebKit::WebNetworkInfo::type):
575         * Target.pri:
576         * UIProcess/API/C/WKAPICast.h:
577         (WebKit):
578         * UIProcess/API/C/WKNetworkInfoManager.cpp: Added.
579         (WKNetworkInfoManagerGetTypeID):
580         * UIProcess/API/C/WKNetworkInfoManager.h: Added.
581         * UIProcess/WebNetworkInfoManagerProxy.cpp: Added.
582         (WebKit):
583         (WebKit::WebNetworkInfoManagerProxy::create):
584         (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
585         (WebKit::WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy):
586         (WebKit::WebNetworkInfoManagerProxy::invalidate):
587         (WebKit::WebNetworkInfoManagerProxy::initializeProvider):
588         (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation):
589         (WebKit::WebNetworkInfoManagerProxy::didReceiveMessage):
590         (WebKit::WebNetworkInfoManagerProxy::startUpdating):
591         (WebKit::WebNetworkInfoManagerProxy::stopUpdating):
592         (WebKit::WebNetworkInfoManagerProxy::getBandwidth):
593         (WebKit::WebNetworkInfoManagerProxy::isMetered):
594         * UIProcess/WebNetworkInfoManagerProxy.h: Added.
595         (CoreIPC):
596         (WebKit):
597         (WebNetworkInfoManagerProxy):
598         (WebKit::WebNetworkInfoManagerProxy::clearContext):
599         (WebKit::WebNetworkInfoManagerProxy::type):
600         * UIProcess/WebNetworkInfoManagerProxy.messages.in: Added.
601         * UIProcess/WebNetworkInfoProvider.cpp: Added.
602         (WebKit):
603         (WebKit::WebNetworkInfoProvider::startUpdating):
604         (WebKit::WebNetworkInfoProvider::stopUpdating):
605         (WebKit::WebNetworkInfoProvider::bandwidth):
606         (WebKit::WebNetworkInfoProvider::metered):
607         * UIProcess/WebNetworkInfoProvider.h: Added.
608         (WebKit):
609         (WebNetworkInfoProvider):
610         * WebKit2.pri:
611         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Added.
612         (WebKit):
613         (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
614         (WebKit::WebNetworkInfoManager::~WebNetworkInfoManager):
615         (WebKit::WebNetworkInfoManager::didReceiveMessage):
616         (WebKit::WebNetworkInfoManager::registerWebPage):
617         (WebKit::WebNetworkInfoManager::unregisterWebPage):
618         (WebKit::WebNetworkInfoManager::bandwidth):
619         (WebKit::WebNetworkInfoManager::metered):
620         (WebKit::WebNetworkInfoManager::didChangeNetworkInformation):
621         * WebProcess/NetworkInfo/WebNetworkInfoManager.h: Added.
622         (CoreIPC):
623         (WebKit):
624         (WebNetworkInfoManager):
625         * WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Added.
626         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Added.
627         (WebKit):
628         (WebKit::WebNetworkInfoClient::~WebNetworkInfoClient):
629         (WebKit::WebNetworkInfoClient::bandwidth):
630         (WebKit::WebNetworkInfoClient::metered):
631         (WebKit::WebNetworkInfoClient::startUpdating):
632         (WebKit::WebNetworkInfoClient::stopUpdating):
633         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Added.
634         (WebKit):
635         (WebNetworkInfoClient):
636         (WebKit::WebNetworkInfoClient::WebNetworkInfoClient):
637         * WebProcess/WebProcess.cpp:
638         (WebKit::WebProcess::WebProcess):
639         (WebKit::WebProcess::didReceiveMessage):
640         * WebProcess/WebProcess.h:
641         (WebProcess):
642         (WebKit::WebProcess::networkInfoManager):
643
644 2012-07-06  Jessie Berlin  <jberlin@apple.com>
645
646         WKContext should ask for its injected bundle initialization user data when it needs it so the
647         client doesn't have to keep it up to date.
648         https://bugs.webkit.org/show_bug.cgi?id=90627
649
650         Reviewed by Anders Carlsson.
651
652         Add a getInjectedBundleInitializationUserData callback to WKContextInjectedBundleClient.
653
654         * Shared/APIClientTraits.cpp:
655         Allow the WKContextInjectedBundleClient API to be versioned.
656         * Shared/APIClientTraits.h:
657
658         * UIProcess/API/C/WKContext.h:
659         Add the callback and bump the version of WKContextInjectedBundleClient.
660
661         * UIProcess/WebContext.cpp:
662         (WebKit::WebContext::ensureWebProcess):
663         Prefer any user data returned when the callback is invoked over that set with
664         WKContextSetInitializationUserDataForInjectedBundle.
665
666         * UIProcess/WebContextInjectedBundleClient.cpp:
667         (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
668         Invoke the callback if the client has registered for it.
669         * UIProcess/WebContextInjectedBundleClient.h:
670
671 2012-07-06  Jessie Berlin  <jberlin@apple.com>
672
673         WebContext::injectedBundleInitializationUserData() is unused, should be removed
674         https://bugs.webkit.org/show_bug.cgi?id=90486
675
676         Reviewed by Anders Carlsson.
677
678         * UIProcess/WebContext.h:
679         Remove it.
680
681 2012-07-06  Carlos Garcia Campos  <cgarcia@igalia.com>
682
683         [GTK] Add site specific quirks setting to WebKit2 GTK+ API
684         https://bugs.webkit.org/show_bug.cgi?id=90663
685
686         Reviewed by Martin Robinson.
687
688         * UIProcess/API/gtk/WebKitSettings.cpp:
689         (webKitSettingsSetProperty):
690         (webKitSettingsGetProperty):
691         (webkit_settings_class_init):
692         (webkit_settings_get_enable_site_specific_quirks):
693         (webkit_settings_set_enable_site_specific_quirks):
694         * UIProcess/API/gtk/WebKitSettings.h:
695         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
696         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
697         (testWebKitSettings):
698
699 2012-07-06  Dominik Röttsches  <dominik.rottsches@intel.com>
700
701         ProcessLauncher's WorkQueue's name is too long on Windows
702         https://bugs.webkit.org/show_bug.cgi?id=44041
703
704         Reviewed by Andreas Kling.
705
706         Shorten thread name for process launcher so that we can silence the warning
707         for thread names getting truncated under VisualStudio -
708         see createThread() in  Threading.cpp.
709
710         * UIProcess/Launcher/ProcessLauncher.cpp:
711         (WebKit::processLauncherWorkQueue):
712
713 2012-07-06  Christophe Dumez  <christophe.dumez@intel.com>
714
715         [EFL] WebKit-EFL headers do not build with gcc < 4.6
716         https://bugs.webkit.org/show_bug.cgi?id=90681
717
718         Unreviewed EFL build fix.
719
720         Remove several forward declarations from ewk_view
721         header to avoid typedef redefinitions which are
722         illegal in C.
723
724         * UIProcess/API/efl/ewk_view.h:
725
726 2012-07-06  Csaba Osztrogonác  <ossy@webkit.org>
727
728         [Qt] Buildfix for newer Qt5
729         https://bugs.webkit.org/show_bug.cgi?id=90519
730
731         Reviewed by Tor Arne Vestbø.
732
733         * UIProcess/API/qt/qwebkittest.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h.
734
735 2012-07-06  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
736
737         [Qt] Adjust to changed generation of master include file
738
739         The responsiblity for creating the master include was moved out of syncqt.
740         @ignore_for_master_contents still stays, as syncqt (ab-)uses this for
741         determining whether a header is private.
742
743         https://bugs.webkit.org/show_bug.cgi?id=90461
744
745         Reviewed by Tor Arne Vestbø.
746
747         * UIProcess/API/qt/tests/bytearraytestdata.h:
748         * UIProcess/API/qt/tests/testwindow.h:
749
750 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
751
752         [WK2][EFL] Ewk_View needs to report load status changes
753         https://bugs.webkit.org/show_bug.cgi?id=90566
754
755         Reviewed by Kenneth Rohde Christiansen.
756
757         Add new "load,finished", "load,provisional,failed",
758         "load,provisional,redirect" and "load,provisional,started"
759         signals on the Ewk_View to notify the client of different
760         load state changes.
761
762         * UIProcess/API/efl/ewk_view.cpp:
763         (ewk_view_load_finished):
764         (ewk_view_load_provisional_failed):
765         (ewk_view_load_provisional_redirect):
766         (ewk_view_load_provisional_started):
767         * UIProcess/API/efl/ewk_view.h:
768         * UIProcess/API/efl/ewk_view_loader_client.cpp:
769         (didFinishLoadForFrame):
770         (didFailLoadWithErrorForFrame):
771         (didStartProvisionalLoadForFrame):
772         (didReceiveServerRedirectForProvisionalLoadForFrame):
773         (didFailProvisionalLoadWithErrorForFrame):
774         (ewk_view_loader_client_attach):
775         * UIProcess/API/efl/ewk_view_private.h:
776
777 2012-07-05  Luiz Agostini  <luiz.agostini@nokia.com>
778
779         [Qt] Transform should be applied to the clip rect in QRawWebView::paint
780         https://bugs.webkit.org/show_bug.cgi?id=90652
781
782         Reviewed by Kenneth Rohde Christiansen.
783
784         Applying the transformation matrix to the clip rect in QRawWebView::paint.
785
786         * UIProcess/API/qt/raw/qrawwebview.cpp:
787         (QRawWebView::paint):
788
789 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
790
791         [WK2][EFL] Ewk_View should provide API to set/get device pixel ratio
792         https://bugs.webkit.org/show_bug.cgi?id=90590
793
794         Reviewed by Kenneth Rohde Christiansen.
795
796         Add API to Ewk_View so retrieve and set the device
797         pixel ratio.
798
799         * UIProcess/API/efl/ewk_view.cpp:
800         (ewk_view_device_pixel_ratio_set):
801         (ewk_view_device_pixel_ratio_get):
802         * UIProcess/API/efl/ewk_view.h:
803
804 2012-07-05  Anders Carlsson  <andersca@apple.com>
805
806         Type-ahead doesn't work in options inside optgroups
807         https://bugs.webkit.org/show_bug.cgi?id=90647
808         <rdar://problem/5604894>
809
810         Reviewed by Dan Bernstein.
811
812         Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
813
814         * UIProcess/mac/WebPopupMenuProxyMac.mm:
815         (WebKit::WebPopupMenuProxyMac::populate):
816
817 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
818
819         [WK2] Add C API for Battery Status API
820         https://bugs.webkit.org/show_bug.cgi?id=90545
821
822         Reviewed by Anders Carlsson.
823
824         Add C API for WKBatteryManager and WKBatteryStatus
825         so that clients can support the Battery Status API
826         in WebKit2.
827
828         * CMakeLists.txt:
829         * GNUmakefile.list.am:
830         * Target.pri:
831         * UIProcess/API/C/WKBatteryManager.cpp:
832         (WKBatteryManagerProviderDidChangeBatteryStatus):
833         (WKBatteryManagerProviderUpdateBatteryStatus):
834         * UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
835         (WKBatteryStatusGetTypeID):
836         (WKBatteryStatusCreate):
837         * UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
838
839 2012-07-05  Sheriff Bot  <webkit.review.bot@gmail.com>
840
841         Unreviewed, rolling out r121899.
842         http://trac.webkit.org/changeset/121899
843         https://bugs.webkit.org/show_bug.cgi?id=90623
844
845         Unauthorized WK2 API breakage (Requested by andersca on
846         #webkit).
847
848         * Shared/API/c/WKSharedAPICast.h:
849         (WebKit::toCopiedURLAPI):
850
851 2012-07-05  Balazs Kelemen  <kbalazs@webkit.org>
852
853         [Qt] WTR crashes if a URL is passed as a parameter
854         https://bugs.webkit.org/show_bug.cgi?id=88093
855
856         Reviewed by Zoltan Herczeg.
857
858         * Shared/API/c/WKSharedAPICast.h:
859         (WebKit::toCopiedURLAPI):
860         Don't special case null string. It's handled
861         fine by WebURL and passing 0 is not suitable
862         to the API.
863
864 2012-07-05  Dongwoo Im  <dw.im@samsung.com>
865
866         [EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default.
867         https://bugs.webkit.org/show_bug.cgi?id=88608
868
869         Reviewed by Hajime Morita.
870
871         * WebProcess/WebCoreSupport/WebChromeClient.h:
872         (WebKit::WebChromeClient::isProtocolHandlerRegistered): Add a stub function.
873         (WebKit::WebChromeClient::unregisterProtocolHandler): Add a stub function.
874         (WebChromeClient):
875
876 2012-07-05  Ryuan Choi  <ryuan.choi@samsung.com>
877
878         [Wk2][EFL] EFL needs a WebKitTestRunner
879         https://bugs.webkit.org/show_bug.cgi?id=87659
880
881         Reviewed by Kenneth Rohde Christiansen.
882
883         * PlatformEfl.cmake: Added WKImageCairo.cpp in source list.
884
885 2012-07-05  Hyerim Bae  <hyerim.bae@samsung.com>
886
887         [EFL][WK2] Add ewk_view_reload_bypass_cache API.
888         https://bugs.webkit.org/show_bug.cgi?id=89413
889
890         Reviewed by Kenneth Rohde Christiansen.
891
892         Add API, which is for reloading documents without cache.
893
894         * UIProcess/API/efl/ewk_view.cpp:
895         (ewk_view_reload_bypass_cache):
896         * UIProcess/API/efl/ewk_view.h:
897
898 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
899
900         [WK2][EFL] Ewk_View needs API to load HTML data
901         https://bugs.webkit.org/show_bug.cgi?id=90540
902
903         Reviewed by Kenneth Rohde Christiansen.
904
905         Add method to Ewk_View to load provided HTML data.
906         This is used for e.g. when an URL cannot be reached
907         and we need to display an error page.
908
909         * UIProcess/API/efl/ewk_view.cpp:
910         (ewk_view_html_load):
911         * UIProcess/API/efl/ewk_view.h:
912
913 2012-07-05  Christophe Dumez  <christophe.dumez@intel.com>
914
915         [WK2][EFL] Ewk_View needs to report new resource requests
916         https://bugs.webkit.org/show_bug.cgi?id=90577
917
918         Reviewed by Kenneth Rohde Christiansen.
919
920         Add new "resource,request,new" signal to Ewk_View to
921         notify clients of the resource requests being initiated.
922         New Ewk_Url_Request and Ewk_Web_Resource types are
923         introduced in order to provide the clients with the
924         needed information regarding the resource requests.
925
926         * PlatformEfl.cmake:
927         * UIProcess/API/efl/EWebKit2.h:
928         * UIProcess/API/efl/ewk_url_request.cpp: Added.
929         (_Ewk_Url_Request):
930         (ewk_url_request_ref):
931         (ewk_url_request_unref):
932         (ewk_url_request_url_get):
933         (ewk_request_first_party_get):
934         (ewk_url_request_http_method_get):
935         (ewk_url_request_new):
936         * UIProcess/API/efl/ewk_url_request.h: Added.
937         * UIProcess/API/efl/ewk_url_request_private.h: Added.
938         * UIProcess/API/efl/ewk_view.cpp:
939         (ewk_view_base_add):
940         (ewk_view_resource_load_initiated):
941         * UIProcess/API/efl/ewk_view.h:
942         * UIProcess/API/efl/ewk_view_private.h:
943         * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Added.
944         (didInitiateLoadForResource):
945         (ewk_view_resource_load_client_attach):
946         * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Added.
947         * UIProcess/API/efl/ewk_web_resource.cpp: Added.
948         (_Ewk_Web_Resource):
949         (ewk_web_resource_ref):
950         (ewk_web_resource_unref):
951         (ewk_web_resource_uri_get):
952         (ewk_web_resource_new):
953         (ewk_web_resource_main_get):
954         * UIProcess/API/efl/ewk_web_resource.h: Added.
955         * UIProcess/API/efl/ewk_web_resource_private.h: Added.
956
957 2012-07-04  John Mellor  <johnme@chromium.org>
958
959         Text Autosizing: Add compile flag and runtime setting
960         https://bugs.webkit.org/show_bug.cgi?id=87394
961
962         This patch renames Font Boosting to Text Autosizing.
963
964         Reviewed by Adam Barth.
965
966         * Configurations/FeatureDefines.xcconfig:
967
968 2012-07-04  Christophe Dumez  <christophe.dumez@intel.com>
969
970         [EFL][WK2] Ewk_View should report load errors
971         https://bugs.webkit.org/show_bug.cgi?id=90479
972
973         Reviewed by Kenneth Rohde Christiansen.
974
975         The Ewk_View now emits a "load,error" signal when the
976         main frame fails loading. Information about the error
977         is provided via the new Ewk_Web_Error type.
978
979         * PlatformEfl.cmake:
980         * UIProcess/API/efl/EWebKit2.h:
981         * UIProcess/API/efl/ewk_view.cpp:
982         (ewk_view_load_error):
983         * UIProcess/API/efl/ewk_view.h:
984         * UIProcess/API/efl/ewk_view_loader_client.cpp:
985         (didFailLoadWithErrorForFrame):
986         (ewk_view_loader_client_attach):
987         * UIProcess/API/efl/ewk_view_private.h:
988         * UIProcess/API/efl/ewk_web_error.cpp: Added.
989         (_Ewk_Web_Error):
990         (ewk_web_error_free):
991         (ewk_web_error_domain_get):
992         (ewk_web_error_url_get):
993         (ewk_web_error_code_get):
994         (ewk_web_error_description_get):
995         (ewk_web_error_cancellation_get):
996         (ewk_web_error_new):
997         * UIProcess/API/efl/ewk_web_error.h: Added.
998         * UIProcess/API/efl/ewk_web_error_private.h: Added.
999
1000 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
1001
1002         [WK2][EFL] Ewk_View should report the load progress
1003         https://bugs.webkit.org/show_bug.cgi?id=90457
1004
1005         Reviewed by Kenneth Rohde Christiansen.
1006
1007         The Ewk_View now reports the estimated load progress
1008         of the page via the new "load,progress".
1009         A method is also added to Ewk_View in order to
1010         retrieve the current load progress.
1011
1012         * UIProcess/API/efl/ewk_view.cpp:
1013         (ewk_view_load_progress_get):
1014         (ewk_view_load_progress_changed):
1015         * UIProcess/API/efl/ewk_view.h:
1016         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1017         (didChangeProgress):
1018         (ewk_view_loader_client_attach):
1019         * UIProcess/API/efl/ewk_view_private.h:
1020
1021 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
1022
1023         [WK2] Add support for Battery Status API
1024         https://bugs.webkit.org/show_bug.cgi?id=89558
1025
1026         Reviewed by Anders Carlsson.
1027
1028         Add support for Battery Status API to WebKit2.
1029
1030         * CMakeLists.txt:
1031         * DerivedSources.pri:
1032         * GNUmakefile.am:
1033         * GNUmakefile.list.am:
1034         * Platform/CoreIPC/MessageID.h:
1035         * Shared/API/c/WKBase.h:
1036         * Shared/APIObject.h:
1037         * Shared/WebBatteryStatus.cpp: Added.
1038         (WebKit):
1039         (WebKit::WebBatteryStatus::WebBatteryStatus):
1040         (WebKit::WebBatteryStatus::~WebBatteryStatus):
1041         (WebKit::WebBatteryStatus::Data::encode):
1042         (WebKit::WebBatteryStatus::Data::decode):
1043         * Shared/WebBatteryStatus.h: Added.
1044         (WebKit):
1045         (WebBatteryStatus):
1046         (Data):
1047         (WebKit::WebBatteryStatus::create):
1048         (WebKit::WebBatteryStatus::isCharging):
1049         (WebKit::WebBatteryStatus::chargingTime):
1050         (WebKit::WebBatteryStatus::dischargingTime):
1051         (WebKit::WebBatteryStatus::level):
1052         (WebKit::WebBatteryStatus::data):
1053         (WebKit::WebBatteryStatus::type):
1054         * Target.pri:
1055         * UIProcess/API/C/WKAPICast.h:
1056         (WebKit):
1057         * UIProcess/API/C/WKBatteryManager.cpp: Added.
1058         (WKBatteryManagerGetTypeID):
1059         * UIProcess/API/C/WKBatteryManager.h: Added.
1060         * UIProcess/WebBatteryManagerProxy.cpp: Added.
1061         (WebKit):
1062         (WebKit::WebBatteryManagerProxy::create):
1063         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
1064         (WebKit::WebBatteryManagerProxy::~WebBatteryManagerProxy):
1065         (WebKit::WebBatteryManagerProxy::invalidate):
1066         (WebKit::WebBatteryManagerProxy::initializeProvider):
1067         (WebKit::WebBatteryManagerProxy::didReceiveMessage):
1068         (WebKit::WebBatteryManagerProxy::startUpdating):
1069         (WebKit::WebBatteryManagerProxy::stopUpdating):
1070         (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
1071         (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
1072         * UIProcess/WebBatteryManagerProxy.h: Added.
1073         (CoreIPC):
1074         (WebKit):
1075         (WebBatteryManagerProxy):
1076         (WebKit::WebBatteryManagerProxy::clearContext):
1077         (WebKit::WebBatteryManagerProxy::type):
1078         * UIProcess/WebBatteryManagerProxy.messages.in: Added.
1079         * UIProcess/WebBatteryProvider.cpp: Added.
1080         (WebKit):
1081         (WebKit::WebBatteryProvider::startUpdating):
1082         (WebKit::WebBatteryProvider::stopUpdating):
1083         * UIProcess/WebBatteryProvider.h: Added.
1084         (WebKit):
1085         (WebBatteryProvider):
1086         * WebKit2.pri:
1087         * WebProcess/Battery/WebBatteryManager.cpp: Added.
1088         (WebKit):
1089         (WebKit::WebBatteryManager::WebBatteryManager):
1090         (WebKit::WebBatteryManager::~WebBatteryManager):
1091         (WebKit::WebBatteryManager::didReceiveMessage):
1092         (WebKit::WebBatteryManager::registerWebPage):
1093         (WebKit::WebBatteryManager::unregisterWebPage):
1094         (WebKit::WebBatteryManager::didChangeBatteryStatus):
1095         (WebKit::WebBatteryManager::updateBatteryStatus):
1096         * WebProcess/Battery/WebBatteryManager.h: Added.
1097         (CoreIPC):
1098         (WebKit):
1099         (WebBatteryManager):
1100         * WebProcess/Battery/WebBatteryManager.messages.in: Added.
1101         * WebProcess/WebCoreSupport/WebBatteryClient.cpp: Added.
1102         (WebKit):
1103         (WebKit::WebBatteryClient::startUpdating):
1104         (WebKit::WebBatteryClient::stopUpdating):
1105         (WebKit::WebBatteryClient::batteryControllerDestroyed):
1106         * WebProcess/WebCoreSupport/WebBatteryClient.h: Added.
1107         (WebKit):
1108         (WebBatteryClient):
1109         (WebKit::WebBatteryClient::WebBatteryClient):
1110         (WebKit::WebBatteryClient::~WebBatteryClient):
1111         * WebProcess/WebProcess.cpp:
1112         (WebKit::WebProcess::WebProcess):
1113         (WebKit::WebProcess::didReceiveMessage):
1114         * WebProcess/WebProcess.h:
1115         (WebProcess):
1116         (WebKit::WebProcess::batteryManager):
1117
1118 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1119
1120         [Qt] Make use of .qmake.cache for caching features
1121
1122         Instead of loading() features from the files that need them (and re-running
1123         a bunch of checks), we now run feature detection as part of configure.pro,
1124         and have build-webkit write the computed feature-defines and CONFIG to
1125         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1126         when building WebKit.pro.
1127
1128         At some point we'll be able to selectivly prevent running of config tests
1129         in configure.pro, which means we don't need a separate code-path for
1130         the build-webkit --help case.
1131
1132         We should also move the code in build-webkit that now uses .webkit.config
1133         to detect clean builds, to use .qmake.cache, since we now store the same
1134         thing there.
1135
1136         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1137
1138         Reviewed by Tor Arne Vestbø.
1139
1140         * DerivedSources.pri:
1141         * Target.pri:
1142
1143 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
1144
1145         Unreviewed, rolling out r121766.
1146         http://trac.webkit.org/changeset/121766
1147         https://bugs.webkit.org/show_bug.cgi?id=90465
1148
1149         It caused flakey build errors on the bots (Requested by Ossy
1150         on #webkit).
1151
1152         * DerivedSources.pri:
1153         * Target.pri:
1154
1155 2012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1156
1157         [GTK] Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+ API
1158         https://bugs.webkit.org/show_bug.cgi?id=90386
1159
1160         Reviewed by Martin Robinson.
1161
1162         * UIProcess/API/gtk/WebKitWebView.cpp:
1163         (webkit_web_view_class_init): Add context-menu-dismissed signal.
1164         (contextMenuDismissed): Emit context-menu-dismissed signal.
1165         (webkitWebViewPopulateContextMenu): Connect to deactivate signal
1166         of the GtkMenu and emit WebKitWebView::context-menu-dismissed when
1167         the gtk menu is deactivated.
1168         * UIProcess/API/gtk/WebKitWebView.h:
1169         (_WebKitWebViewClass): Add virtual methos for
1170         context-menu-dismissed signal.
1171         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
1172         (testContextMenuDismissed):
1173         (beforeAll):
1174         * UIProcess/gtk/WebContextMenuProxyGtk.h:
1175         (WebKit::WebContextMenuProxyGtk::gtkMenu): Get the GtkMenu built
1176         for the context menu proxy.
1177
1178 2012-07-03  Piotr Roguski  <p.roguski@samsung.com>
1179
1180         [EFL][WK2] Added missing WebPageProxy::ViewIsFocused flag to WebPageProxy::viewStateDidChange()
1181         call in _ewk_view_smart_focus_out() function.
1182         https://bugs.webkit.org/show_bug.cgi?id=89877
1183
1184         Reviewed by Andreas Kling.
1185
1186         Although name of the flag suggest it should be used only on focus in,
1187         omitting it in case of focus out will prevent WebPageProxy::viewStateDidChange()
1188         from sending Messages::WebPage::SetFocused(false).
1189
1190         * UIProcess/API/efl/ewk_view.cpp:
1191         (_ewk_view_smart_focus_out):
1192
1193 2012-07-03  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1194
1195         [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal)
1196         https://bugs.webkit.org/show_bug.cgi?id=88679
1197
1198         Reviewed by Csaba Osztrogonác.
1199
1200         Viewport parameters cannot be calculated while viewport is not visible and 
1201         viewport size is 0, so let's delay calculation of viewport parameters until view 
1202         becomes visible.
1203
1204         * UIProcess/qt/QtViewportHandler.cpp:
1205         (WebKit::QtViewportHandler::pageContentsSizeChanged):
1206
1207 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1208
1209         [Qt] Make use of .qmake.cache for caching features
1210
1211         Instead of loading() features from the files that need them (and re-running
1212         a bunch of checks), we now run feature detection as part of configure.pro,
1213         and have build-webkit write the computed feature-defines and CONFIG to
1214         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1215         when building WebKit.pro.
1216
1217         At some point we'll be able to selectivly prevent running of config tests
1218         in configure.pro, which means we don't need a separate code-path for
1219         the build-webkit --help case.
1220
1221         We should also move the code in build-webkit that now uses .webkit.config
1222         to detect clean builds, to use .qmake.cache, since we now store the same
1223         thing there.
1224
1225         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1226
1227         Reviewed by Tor Arne Vestbø.
1228
1229         * DerivedSources.pri:
1230         * Target.pri:
1231
1232 2012-07-03  Alexis Menard  <alexis.menard@openbossa.org>
1233
1234         [Qt] When calling accept() on the FilePickerContextObject with an empty list, early return and call reject().
1235         https://bugs.webkit.org/show_bug.cgi?id=89755
1236
1237         Reviewed by Simon Hausmann.
1238
1239         When calling accept with an empty list of files we can just bailout
1240         and call reject(). Any other processing is pointless.
1241
1242        * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
1243        * UIProcess/qt/QtDialogRunner.cpp:
1244         (WebKit::FilePickerContextObject::accept):
1245
1246 2012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
1247
1248         [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
1249         https://bugs.webkit.org/show_bug.cgi?id=90376
1250
1251         Reviewed by Csaba Osztrogonác.
1252
1253         layoutTestController.dumpConfigurationForViewport still need
1254         to use the constant target DPI of 160.
1255         * WebProcess/WebPage/WebPage.cpp:
1256         (WebKit::WebPage::viewportConfigurationAsText):
1257
1258 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
1259
1260         [EFL][WK2] Add API to deliver a Web Intent to a frame
1261         https://bugs.webkit.org/show_bug.cgi?id=90067
1262
1263         Reviewed by Kenneth Rohde Christiansen.
1264
1265         Add ewk_view_intent_deliver() method on the Ewk_View
1266         to deliver a Web Intent to the view's main frame.
1267
1268         * UIProcess/API/efl/ewk_view.cpp:
1269         (ewk_view_intent_deliver):
1270         * UIProcess/API/efl/ewk_view.h:
1271
1272 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
1273
1274         [EFL][WK2] Add API to inspect a Web Intent service
1275         https://bugs.webkit.org/show_bug.cgi?id=90066
1276
1277         Reviewed by Kenneth Rohde Christiansen.
1278
1279         Add EFL API to inspect a Web Intent Service and emit
1280         a signal on the view when a new intent service
1281         registers.
1282
1283         * PlatformEfl.cmake:
1284         * UIProcess/API/efl/EWebKit2.h:
1285         * UIProcess/API/efl/ewk_intent_service.cpp: Added.
1286         (_Ewk_Intent_Service):
1287         (ewk_intent_service_ref):
1288         (ewk_intent_service_unref):
1289         (ewk_intent_service_action_get):
1290         (ewk_intent_service_type_get):
1291         (ewk_intent_service_href_get):
1292         (ewk_intent_service_title_get):
1293         (ewk_intent_service_disposition_get):
1294         (ewk_intent_service_new):
1295         * UIProcess/API/efl/ewk_intent_service.h: Added.
1296         * UIProcess/API/efl/ewk_intent_service_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
1297         * UIProcess/API/efl/ewk_view.cpp:
1298         (ewk_view_intent_service_register):
1299         * UIProcess/API/efl/ewk_view.h:
1300         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1301         (registerIntentServiceForFrame):
1302         (ewk_view_loader_client_attach):
1303         * UIProcess/API/efl/ewk_view_private.h:
1304
1305 2012-07-02  Christophe Dumez  <christophe.dumez@intel.com>
1306
1307         [WK2][EFL] Free Ewk_Intent calloc'd memory with free() instead of delete
1308         https://bugs.webkit.org/show_bug.cgi?id=90433
1309
1310         Reviewed by Kenneth Rohde Christiansen.
1311
1312         Free calloc'd memory with free() instead of delete in Ewk_Intent.
1313         Add blank lines before return statements for consistency.
1314
1315         * UIProcess/API/efl/ewk_intent.cpp:
1316         (ewk_intent_unref):
1317         (ewk_intent_action_get):
1318         (ewk_intent_type_get):
1319         (ewk_intent_service_get):
1320         (ewk_intent_suggestions_get):
1321         (ewk_intent_extra_get):
1322         (ewk_intent_extra_names_get):
1323         (ewk_intent_new):
1324
1325 2012-07-02  Martin Robinson  <mrobinson@igalia.com>
1326
1327         [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
1328         https://bugs.webkit.org/show_bug.cgi?id=90308
1329
1330         Reviewed by Noam Rosenthal.
1331
1332         * UIProcess/texmap/LayerBackingStore.cpp:
1333         (WebKit::LayerBackingStore::paintToTextureMapper): Update the method to call paint with
1334         the new argument.
1335
1336 2012-07-02  Benjamin Poulain  <bpoulain@apple.com>
1337
1338         Do not do any logging initialization when logging is disabled
1339         https://bugs.webkit.org/show_bug.cgi?id=90228
1340
1341         Reviewed by Simon Fraser.
1342
1343         * Platform/Logging.cpp:
1344         * Platform/Logging.h:
1345         * UIProcess/WebContext.cpp:
1346         (WebKit::WebContext::WebContext):
1347         * WebProcess/WebProcess.cpp:
1348         (WebKit::WebProcess::WebProcess):
1349
1350 2012-07-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
1351
1352         [Qt][WK2] New API tests introduced in r121620 fail
1353         https://bugs.webkit.org/show_bug.cgi?id=90372
1354
1355         Reviewed by Luiz Agostini.
1356
1357         Updated the pixel comparison to produce more predictable results.
1358
1359         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
1360         (compareImages):
1361
1362 2012-07-02  Alexis Menard  <alexis.menard@openbossa.org>
1363
1364         [Qt] Fix WebProcess crash on Mac when accessing a site with video tag.
1365         https://bugs.webkit.org/show_bug.cgi?id=90384
1366
1367         Reviewed by Jocelyn Turcotte.
1368
1369         We need to initialize the private symbols used by MediaPlayerPrivateQTKit
1370         otherwise they will be null and it will lead to a crash. We copy WebSystemInterface
1371         files for WK2 just like the Mac port as WK2 may have different needs than WK1 layer (we
1372         may add or remove symbols in here). It doesn't fix the video rendering yet but it's
1373         first step.
1374
1375         * Target.pri:
1376         * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Added.
1377         * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Added.
1378         (InitWebCoreSystemInterfaceForWK2):
1379         * WebProcess/qt/WebProcessMainQt.cpp:
1380         (WebKit::WebProcessMainQt):
1381
1382 2012-07-02  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1383
1384         [EFL] [WK2] Remove content sniffer and decoder initialization from WebProcess
1385         https://bugs.webkit.org/show_bug.cgi?id=90275
1386
1387         Reviewed by Martin Robinson.
1388
1389         Do not initialize content sniffer and decoder in the WebProcess
1390         because the initialization is now done in WebCore.
1391
1392         * WebProcess/efl/WebProcessMainEfl.cpp:
1393         (WebKit::WebProcessMainEfl):
1394
1395 2012-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1396
1397         Unreviewed, rolling out r120329, r121113, and r121138.
1398         http://trac.webkit.org/changeset/120329
1399         http://trac.webkit.org/changeset/121113
1400         http://trac.webkit.org/changeset/121138
1401         https://bugs.webkit.org/show_bug.cgi?id=90368
1402
1403         Introduced noticeable keyboard-related spins due to
1404         synchronous IPC. (Requested by kling on #webkit).
1405
1406         * UIProcess/WebPageProxy.cpp:
1407         (WebKit::WebPageProxy::handleKeyboardEvent):
1408         (WebKit::WebPageProxy::didReceiveEvent):
1409         * UIProcess/WebPageProxy.h:
1410         (WebPageProxy):
1411         * UIProcess/WebPageProxy.messages.in:
1412         * WebProcess/WebPage/WebPage.cpp:
1413         (WebKit::WebPage::keyEvent):
1414
1415 2012-07-01  Christophe Dumez  <christophe.dumez@intel.com>
1416
1417         [EFL][WK2] Add API to inspect a Web Intent
1418         https://bugs.webkit.org/show_bug.cgi?id=89749
1419
1420         Reviewed by Kenneth Rohde Christiansen.
1421
1422         Add EFL API to inspect a Web Intent and emit a signal
1423         on the view when a new intent request is made.
1424
1425         * PlatformEfl.cmake:
1426         * UIProcess/API/efl/EWebKit2.h:
1427         * UIProcess/API/efl/ewk_intent.cpp: Added.
1428         (_Ewk_Intent):
1429         (ewk_intent_ref):
1430         (ewk_intent_unref):
1431         (ewk_intent_action_get):
1432         (ewk_intent_type_get):
1433         (ewk_intent_service_get):
1434         (ewk_intent_suggestions_get):
1435         (ewk_intent_extra_get):
1436         (ewk_intent_extra_names_get):
1437         (ewk_intent_new):
1438         * UIProcess/API/efl/ewk_intent.h: Added.
1439         * UIProcess/API/efl/ewk_intent_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
1440         * UIProcess/API/efl/ewk_view.cpp:
1441         (ewk_view_intent_request_new):
1442         * UIProcess/API/efl/ewk_view.h:
1443         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1444         (didReceiveIntentForFrame):
1445         (ewk_view_loader_client_attach):
1446         * UIProcess/API/efl/ewk_view_private.h:
1447
1448 2012-06-29  Luiz Agostini  <luiz.agostini@nokia.com>
1449
1450         [Qt][WK2] Private non-QtQuick API
1451         https://bugs.webkit.org/show_bug.cgi?id=84532
1452
1453         Reviewed by Noam Rosenthal.
1454
1455         Adding new private non-QtQuick API. This new C++ API makes it possible
1456         to have control over the lower levels of WebKit without going via QML.
1457
1458         This is a first version of the API, enough to show pages on the screen.
1459         Many features are not implemented.
1460
1461         * Target.pri:
1462         * UIProcess/API/qt/raw/qrawwebview.cpp: Added.
1463         * UIProcess/API/qt/raw/qrawwebview_p.h: Added.
1464         * UIProcess/API/qt/raw/qrawwebview_p_p.h: Added.
1465
1466         The tests for the new API are pixel tests. They use QRawWebView to load
1467         html files and generate images, and them compare those images to the ones
1468         in UIProcess/API/qt/tests/html/resources.
1469
1470         * UIProcess/API/qt/tests/html/bluesquare.html: Added.
1471         * UIProcess/API/qt/tests/html/redsquare.html: Added.
1472         * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Added.
1473         * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Added.
1474         * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Added.
1475         * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Added.
1476         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Added.
1477
1478 2012-06-29  Christophe Dumez  <christophe.dumez@intel.com>
1479
1480         [WK2] Move intent delivery code from the frame to the page
1481         https://bugs.webkit.org/show_bug.cgi?id=89974
1482
1483         Reviewed by Anders Carlsson.
1484
1485         Move the intent delivery code from the frame to the page
1486         and add the corresponding C API for WKPage.
1487
1488         * UIProcess/API/C/WKPage.cpp:
1489         (WKPageDeliverIntentToFrame):
1490         * UIProcess/API/C/WKPage.h:
1491         * UIProcess/WebFrameProxy.cpp:
1492         (WebKit::WebFrameProxy::stopLoading):
1493         * UIProcess/WebFrameProxy.h:
1494         (WebKit):
1495         * UIProcess/WebPageProxy.cpp:
1496         (WebKit):
1497         (WebKit::WebPageProxy::deliverIntentToFrame):
1498         * UIProcess/WebPageProxy.h:
1499         (WebPageProxy):
1500
1501 2012-06-29  Dan Bernstein  <mitz@apple.com>
1502
1503         Can’t get basic element info from a WKRenderObject
1504         https://bugs.webkit.org/show_bug.cgi?id=90301
1505
1506         Reviewed by Anders Carlsson.
1507
1508         Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
1509         and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
1510         for getting element info, while leaving the WKRenderLayer API in place for now for Safari.
1511
1512         * Shared/API/c/WKRenderLayer.cpp:
1513         (WKRenderLayerGetRenderer): Added this wrapper.
1514         (WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
1515         (WKRenderLayerCopyElementTagName): Changed to go through the renderer.
1516         (WKRenderLayerCopyElementID): Ditto.
1517         (WKRenderLayerGetElementClassNames): Ditto.
1518         * Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments
1519         about removing older API.
1520         * Shared/API/c/WKRenderObject.cpp:
1521         (WKRenderObjectCopyElementTagName): Added this wrapper.
1522         (WKRenderObjectCopyElementID): Ditto.
1523         (WKRenderObjectGetElementClassNames): Ditto.
1524         * Shared/API/c/WKRenderObject.h:
1525         * Shared/UserMessageCoders.h:
1526         (WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
1527         WebRenderLayer, and added the renderer. Added the element info to the encoding of
1528         WebRenderObject.
1529         (WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.
1530         * Shared/WebRenderLayer.cpp:
1531         (WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
1532         variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
1533         the element-related member variables that were removed.
1534         * Shared/WebRenderLayer.h:
1535         (WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
1536         info.
1537         (WebKit::WebRenderLayer::renderer): Added this getter.
1538         (WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
1539         element info.
1540         * Shared/WebRenderObject.cpp:
1541         (WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
1542         parameter.
1543         (WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
1544         parameter. When it is false, the m_children array remains null. Added initialization of
1545         member variables with the element’s tag name, id and class list.
1546         * Shared/WebRenderObject.h:
1547         (WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
1548         a shallow WebRenderObject.
1549         (WebRenderObject): Changed to take element tag name, id and class list.
1550         (WebKit::WebRenderObject::elementTagName): Added this getter.
1551         (WebKit::WebRenderObject::elementID): Ditto.
1552         (WebKit::WebRenderObject::elementClassNames): Ditto.
1553         (WebKit::WebRenderObject::WebRenderObject): 
1554
1555 2012-06-29  Tony Chang  <tony@chromium.org>
1556
1557         Unreviewed, rolling out r121572.
1558         http://trac.webkit.org/changeset/121572
1559         https://bugs.webkit.org/show_bug.cgi?id=90249
1560
1561         Breaks Mac build since it depends on r121547, which was rolled
1562         out
1563
1564         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1565         (WebKit::NPN_GetValue):
1566         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1567         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1568         * WebProcess/WebCoreSupport/WebEditorClient.h:
1569
1570 2012-06-29  Eric Seidel  <eric@webkit.org>
1571
1572         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
1573         https://bugs.webkit.org/show_bug.cgi?id=90249
1574
1575         Reviewed by Ryosuke Niwa.
1576
1577         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1578         (WebKit::NPN_GetValue):
1579         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1580         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1581         * WebProcess/WebCoreSupport/WebEditorClient.h:
1582
1583 2012-06-29  Konrad Piascik  <kpiascik@rim.com>
1584
1585         Don't hardcode target dpi of 160 (it should be 96 on desktop)
1586         https://bugs.webkit.org/show_bug.cgi?id=88114
1587
1588         Reviewed by Adam Barth.
1589
1590         Updated the call to computeViewportAttributes.
1591
1592         * WebProcess/WebPage/WebPage.cpp:
1593         (WebKit::WebPage::sendViewportAttributesChanged):
1594         (WebKit::WebPage::viewportConfigurationAsText):
1595
1596 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1597
1598         Unreviewed, rolling out r121529.
1599         http://trac.webkit.org/changeset/121529
1600         https://bugs.webkit.org/show_bug.cgi?id=90260
1601
1602         Failed to compile on Chromium WebKitMacBuilder (Requested by
1603         keishi on #webkit).
1604
1605         * UIProcess/mac/WKFullScreenWindowController.mm:
1606         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1607         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
1608         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1609         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1610         (InitWebCoreSystemInterface):
1611
1612 2012-06-29  Eric Seidel  <eric@webkit.org>
1613
1614         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
1615         https://bugs.webkit.org/show_bug.cgi?id=90252
1616
1617         Reviewed by Ryosuke Niwa.
1618
1619         * UIProcess/mac/WKFullScreenWindowController.mm:
1620         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1621         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
1622         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1623         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1624         (InitWebCoreSystemInterface):
1625
1626 2012-06-28  MORITA Hajime  <morrita@google.com>
1627
1628         [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
1629         https://bugs.webkit.org/show_bug.cgi?id=89732
1630
1631         Reviewed by Dimitri Glazkov.
1632
1633         * win/WebKit2.def:
1634         * win/WebKit2CFLite.def:
1635
1636 2012-06-28  John Sullivan  <sullivan@apple.com>
1637
1638         <https://bugs.webkit.org/show_bug.cgi?id=90216>
1639         <rdar://problem/11766518>
1640         Undo handling in WebKit2 is not robust against some page-closing code paths
1641
1642         Reviewed by Enrica Casucci.
1643
1644         * UIProcess/API/mac/PageClientImpl.h:
1645         Declared public function viewWillMoveToAnotherWindow().
1646         
1647         * UIProcess/API/mac/PageClientImpl.mm:
1648         (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
1649         New function, calls clearAllEditCommands() to remove any Undo actions from the stack.
1650         This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed.
1651
1652         * UIProcess/API/mac/WKView.mm:
1653         (-[WKView viewWillMoveToWindow:]):
1654         Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow().
1655
1656 2012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
1657
1658         [WK2] Add C API to inspect a Web Intent service
1659         https://bugs.webkit.org/show_bug.cgi?id=89276
1660
1661         Reviewed by Anders Carlsson.
1662
1663         Add C API for Web intent service so that it can be queried
1664         on client side.
1665
1666         * CMakeLists.txt:
1667         * GNUmakefile.list.am:
1668         * Target.pri:
1669         * UIProcess/API/C/WKIntentServiceInfo.cpp: Added.
1670         (WKIntentServiceInfoGetTypeID):
1671         (WKIntentServiceInfoCopyAction):
1672         (WKIntentServiceInfoCopyType):
1673         (WKIntentServiceInfoCopyHref):
1674         (WKIntentServiceInfoCopyTitle):
1675         (WKIntentServiceInfoCopyDisposition):
1676         * UIProcess/API/C/WKIntentServiceInfo.h: Added.
1677
1678 2012-06-28  Balazs Kelemen  <kbalazs@webkit.org>
1679
1680         [Qt] KURL assert at fast/loader/opaque-base-url.html
1681         https://bugs.webkit.org/show_bug.cgi?id=89468
1682
1683         Reviewed by Simon Hausmann.
1684
1685         Don't use the KURL(ParsedURLStringTag, const String&) constructor.
1686         We cannot be sure that the url in encode was valid and even if it
1687         was the message could have been corrupted.
1688         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1689         (CoreIPC::::encode):
1690         (CoreIPC::::decode):
1691
1692 2012-06-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1693
1694         Unreviewed. Fix the build without TEXTURE_MAPPER_GL.
1695
1696         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1697         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1698         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1699         (WebKit::WebPage::platformInitialize):
1700
1701 2012-06-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1702
1703         JSLock should be per-JSGlobalData
1704         https://bugs.webkit.org/show_bug.cgi?id=89123
1705
1706         Reviewed by Geoffrey Garen.
1707
1708         Changed all sites that used JSLock to instead use the new JSLockHolder
1709         and pass in the correct JS context that the code is about to interact with that 
1710         needs protection. Also added a couple JSLocks to places that didn't already 
1711         have it that needed it.
1712
1713         * Shared/mac/WebMemorySampler.mac.mm:
1714         (WebKit::WebMemorySampler::sampleWebKit):
1715         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1716         (WebKit::InjectedBundle::javaScriptObjectsCount):
1717         (WebKit::InjectedBundle::reportException):
1718         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1719         (WebKit::JSNPObject::callMethod):
1720         (WebKit::JSNPObject::callObject):
1721         (WebKit::JSNPObject::callConstructor):
1722         (WebKit::JSNPObject::put):
1723         (WebKit::JSNPObject::deleteProperty):
1724         (WebKit::JSNPObject::getOwnPropertyNames):
1725         (WebKit::JSNPObject::propertyGetter):
1726         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1727         (WebKit::NPJSObject::hasMethod):
1728         (WebKit::NPJSObject::invoke):
1729         (WebKit::NPJSObject::invokeDefault):
1730         (WebKit::NPJSObject::hasProperty):
1731         (WebKit::NPJSObject::getProperty):
1732         (WebKit::NPJSObject::setProperty):
1733         (WebKit::NPJSObject::removeProperty):
1734         (WebKit::NPJSObject::enumerate):
1735         (WebKit::NPJSObject::construct):
1736         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1737         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1738         (WebKit::NPRuntimeObjectMap::evaluate):
1739         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
1740         * WebProcess/WebPage/WebFrame.cpp:
1741         (WebKit::WebFrame::jsWrapperForWorld):
1742         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
1743         * WebProcess/WebPage/WebPage.cpp:
1744         (WebKit::WebPage::runJavaScriptInMainFrame):
1745         * WebProcess/WebProcess.cpp:
1746         (WebKit::WebProcess::getWebCoreStatistics):
1747
1748 2012-06-27  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1749
1750         REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
1751         https://bugs.webkit.org/show_bug.cgi?id=89871
1752
1753         Reviewed by Simon Hausmann.
1754
1755         Added proper event synchronization to the test case.
1756
1757         * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
1758
1759 2012-06-27  Brady Eidson  <beidson@apple.com>
1760
1761         https://bugs.webkit.org/show_bug.cgi?id=87513
1762         WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.
1763
1764         Reviewed by Darin Adler.
1765
1766         - We think a null entry might somehow be getting in the list so we now try to prevent that.
1767         - We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
1768         - A lot of index math - especially tracking "no current index" - was implicit or wrong.
1769         - Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
1770         - The session state data reading and writing code was fragile and needed an overhaul.
1771         - This includes adding a new V1 format of the session data that is easier to validate when reading back in.
1772
1773         * UIProcess/WebBackForwardList.cpp:
1774         (WebKit::WebBackForwardList::~WebBackForwardList):
1775         (WebKit::WebBackForwardList::pageClosed):
1776         (WebKit::WebBackForwardList::addItem):
1777         (WebKit::WebBackForwardList::goToItem):
1778         (WebKit::WebBackForwardList::backListCount):
1779         (WebKit::WebBackForwardList::forwardListCount):
1780         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1781         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1782         (WebKit::WebBackForwardList::clear):
1783
1784         * UIProcess/WebBackForwardList.h:
1785         (WebBackForwardList):
1786
1787         * UIProcess/cf/WebBackForwardListCF.cpp:
1788         (WebKit::createEmptySessionHistoryDictionary):
1789         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
1790         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
1791         (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
1792         (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
1793         (WebKit::extractBackForwardListEntriesFromArray):
1794
1795 2012-06-27  Zan Dobersek  <zandobersek@gmail.com>
1796
1797         [Gtk] Add support for the Gamepad API
1798         https://bugs.webkit.org/show_bug.cgi?id=87503
1799
1800         Reviewed by Carlos Garcia Campos.
1801
1802         Add the Gamepad feature dependencies libraries to the LIBADD
1803         list for the libwebkitgtk2 library.
1804
1805         * GNUmakefile.am:
1806
1807 2012-06-26  Simon Hausmann  <simon.hausmann@nokia.com>
1808
1809         [Qt] Avoid use of deprecated Qt API
1810
1811         Reviewed by Tor Arne Vestbø.
1812
1813         QGuiApplication::inputPanel() has been deprecated in favour of
1814         inputMethod().
1815
1816         * UIProcess/qt/QtWebPageEventHandler.cpp:
1817         (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
1818         (WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
1819         (WebKit::setInputPanelVisible):
1820         (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
1821         (WebKit::QtWebPageEventHandler::updateTextInputState):
1822
1823 2012-06-26  Christophe Dumez  <christophe.dumez@intel.com>
1824
1825         [WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
1826         https://bugs.webkit.org/show_bug.cgi?id=89948
1827
1828         Reviewed by Martin Robinson.
1829
1830         Properly initialize didInitializeState in
1831         TextChecker::state().
1832
1833         * UIProcess/gtk/TextCheckerGtk.cpp:
1834         (WebKit::TextChecker::state):
1835
1836 2012-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
1837
1838         [Qt] Make it possible to build WebKit without QtWidgets
1839         https://bugs.webkit.org/show_bug.cgi?id=78109
1840
1841         Reviewed by Tor Arne Vestbø.
1842
1843         * WebKit2.pri: Add missing WK2 specific dependencies.
1844         * qt/MainQt.cpp: Do the QStyle initialization hook only if we are
1845         compiling with QtWidgets support.
1846         (WebKit):
1847         (main):
1848
1849 2012-06-25  Raphael Kubo da Costa  <rakuco@webkit.org>
1850
1851         [EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
1852         https://bugs.webkit.org/show_bug.cgi?id=89804
1853
1854         Reviewed by Hajime Morita.
1855
1856         The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
1857         includes) on Mac and Linux, even though that is not mandated by
1858         POSIX and breaks other platforms (such as FreeBSD). Fix that by
1859         explicitly including unistd.h, which is where the typedef is
1860         supposed to come from.
1861
1862         * Platform/PlatformProcessIdentifier.h:
1863
1864 2012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
1865
1866         [WK2][Qt][EFL] Extract common code from LayerTreeHostQt
1867         https://bugs.webkit.org/show_bug.cgi?id=89837
1868
1869         Reviewed by Noam Rosenthal.
1870
1871         Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
1872         I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
1873         I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
1874         Also WebGraphicsLayer moved under that directory.
1875
1876         * CMakeLists.txt:
1877         * DerivedSources.pri:
1878         * GNUmakefile.list.am:
1879         * Platform/CoreIPC/MessageID.h:
1880         * Target.pri:
1881         * UIProcess/API/qt/qquickwebpage.cpp:
1882         (QQuickWebPagePrivate::paint):
1883         (QQuickWebPage::updatePaintNode):
1884         (QQuickWebPagePrivate::updateSize):
1885         * UIProcess/DrawingAreaProxy.cpp:
1886         (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
1887         * UIProcess/DrawingAreaProxy.h:
1888         (WebKit):
1889         (WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
1890         (DrawingAreaProxy):
1891         * UIProcess/DrawingAreaProxyImpl.cpp:
1892         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1893         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1894         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
1895         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
1896         * UIProcess/DrawingAreaProxyImpl.h:
1897         (WebKit):
1898         (DrawingAreaProxyImpl):
1899         * UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.
1900         (WebKit):
1901         (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
1902         (WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
1903         (WebKit::LayerTreeCoordinatorProxy::updateViewport):
1904         (WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
1905         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
1906         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1907         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
1908         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
1909         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
1910         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
1911         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
1912         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
1913         (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
1914         (WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
1915         (WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
1916         (WebKit::LayerTreeCoordinatorProxy::setContentsSize):
1917         (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
1918         (WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
1919         (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
1920         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1921         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
1922         * UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
1923         (WebKit):
1924         (LayerTreeCoordinatorProxy):
1925         (WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):
1926         * UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
1927         * UIProcess/WebLayerTreeRenderer.cpp:
1928         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
1929         (WebKit::WebLayerTreeRenderer::updateViewport):
1930         (WebKit::WebLayerTreeRenderer::renderNextFrame):
1931         (WebKit::WebLayerTreeRenderer::purgeBackingStores):
1932         (WebKit::WebLayerTreeRenderer::detach):
1933         * UIProcess/WebLayerTreeRenderer.h:
1934         (WebKit):
1935         (WebLayerTreeRenderer):
1936         * UIProcess/WebPageProxy.cpp:
1937         (WebKit::WebPageProxy::didReceiveMessage):
1938         * WebKit2.pri:
1939         * WebProcess/WebPage/DrawingArea.h:
1940         (DrawingArea):
1941         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1942         (WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):
1943         * WebProcess/WebPage/DrawingAreaImpl.h:
1944         (DrawingAreaImpl):
1945         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.
1946         (WebKit):
1947         (WebKit::LayerTreeCoordinator::create):
1948         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
1949         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1950         (WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
1951         (WebKit::LayerTreeCoordinator::scheduleLayerFlush):
1952         (WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
1953         (WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
1954         (WebKit::LayerTreeCoordinator::setRootCompositingLayer):
1955         (WebKit::LayerTreeCoordinator::invalidate):
1956         (WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
1957         (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
1958         (WebKit::LayerTreeCoordinator::forceRepaint):
1959         (WebKit::LayerTreeCoordinator::sizeDidChange):
1960         (WebKit::LayerTreeCoordinator::didInstallPageOverlay):
1961         (WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
1962         (WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
1963         (WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
1964         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1965         (WebKit::LayerTreeCoordinator::syncLayerState):
1966         (WebKit::LayerTreeCoordinator::syncLayerChildren):
1967         (WebKit::LayerTreeCoordinator::syncCanvas):
1968         (WebKit::LayerTreeCoordinator::syncLayerFilters):
1969         (WebKit::LayerTreeCoordinator::attachLayer):
1970         (WebKit::LayerTreeCoordinator::detachLayer):
1971         (WebKit::updateOffsetFromViewportForSelf):
1972         (WebKit::updateOffsetFromViewportForLayer):
1973         (WebKit::LayerTreeCoordinator::syncFixedLayers):
1974         (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
1975         (WebKit::LayerTreeCoordinator::layerFlushTimerFired):
1976         (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
1977         (WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
1978         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1979         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1980         (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
1981         (WebKit::LayerTreeCoordinator::notifySyncRequired):
1982         (WebKit::LayerTreeCoordinator::paintContents):
1983         (WebKit::LayerTreeCoordinator::showDebugBorders):
1984         (WebKit::LayerTreeCoordinator::showRepaintCounter):
1985         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1986         (WebKit::LayerTreeCoordinator::createTile):
1987         (WebKit::LayerTreeCoordinator::updateTile):
1988         (WebKit::LayerTreeCoordinator::removeTile):
1989         (WebKit::LayerTreeCoordinator::visibleContentsRect):
1990         (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
1991         (WebKit::LayerTreeCoordinator::renderNextFrame):
1992         (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
1993         (WebKit::LayerTreeCoordinator::purgeBackingStores):
1994         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1995         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.
1996         (WebKit):
1997         (LayerTreeCoordinator):
1998         (WebKit::LayerTreeCoordinator::layerTreeContext):
1999         (WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
2000         (WebKit::LayerTreeCoordinator::pauseRendering):
2001         (WebKit::LayerTreeCoordinator::resumeRendering):
2002         (WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):
2003         * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
2004         * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.
2005         (WebCore):
2006         (WebCore::layerByIDMap):
2007         (WebCore::WebGraphicsLayer::layerByID):
2008         (WebCore::toWebLayerID):
2009         (WebCore::WebGraphicsLayer::didChangeLayerState):
2010         (WebCore::WebGraphicsLayer::didChangeChildren):
2011         (WebCore::WebGraphicsLayer::didChangeFilters):
2012         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
2013         (WebCore::WebGraphicsLayer::didChangeGeometry):
2014         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2015         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2016         (WebCore::WebGraphicsLayer::willBeDestroyed):
2017         (WebCore::WebGraphicsLayer::setChildren):
2018         (WebCore::WebGraphicsLayer::addChild):
2019         (WebCore::WebGraphicsLayer::addChildAtIndex):
2020         (WebCore::WebGraphicsLayer::addChildAbove):
2021         (WebCore::WebGraphicsLayer::addChildBelow):
2022         (WebCore::WebGraphicsLayer::replaceChild):
2023         (WebCore::WebGraphicsLayer::removeFromParent):
2024         (WebCore::WebGraphicsLayer::setPosition):
2025         (WebCore::WebGraphicsLayer::setAnchorPoint):
2026         (WebCore::WebGraphicsLayer::setSize):
2027         (WebCore::WebGraphicsLayer::setTransform):
2028         (WebCore::WebGraphicsLayer::setChildrenTransform):
2029         (WebCore::WebGraphicsLayer::setPreserves3D):
2030         (WebCore::WebGraphicsLayer::setMasksToBounds):
2031         (WebCore::WebGraphicsLayer::setDrawsContent):
2032         (WebCore::WebGraphicsLayer::setContentsOpaque):
2033         (WebCore::WebGraphicsLayer::setBackfaceVisibility):
2034         (WebCore::WebGraphicsLayer::setOpacity):
2035         (WebCore::WebGraphicsLayer::setContentsRect):
2036         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2037         (WebCore::WebGraphicsLayer::setContentsToCanvas):
2038         (WebCore::WebGraphicsLayer::setFilters):
2039         (WebCore::WebGraphicsLayer::setContentsToImage):
2040         (WebCore::WebGraphicsLayer::setMaskLayer):
2041         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
2042         (WebCore::WebGraphicsLayer::setNeedsDisplay):
2043         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2044         (WebCore::WebGraphicsLayer::id):
2045         (WebCore::WebGraphicsLayer::syncCompositingState):
2046         (WebCore::toWebGraphicsLayer):
2047         (WebCore::WebGraphicsLayer::syncChildren):
2048         (WebCore::WebGraphicsLayer::syncFilters):
2049         (WebCore::WebGraphicsLayer::syncLayerState):
2050         (WebCore::WebGraphicsLayer::syncCanvas):
2051         (WebCore::WebGraphicsLayer::ensureImageBackingStore):
2052         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2053         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
2054         (WebCore::WebGraphicsLayer::setRootLayer):
2055         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2056         (WebCore::WebGraphicsLayer::setContentsScale):
2057         (WebCore::WebGraphicsLayer::effectiveContentsScale):
2058         (WebCore::WebGraphicsLayer::adjustContentsScale):
2059         (WebCore::WebGraphicsLayer::createBackingStore):
2060         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
2061         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
2062         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
2063         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2064         (WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
2065         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2066         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
2067         (WebCore::WebGraphicsLayer::beginContentUpdate):
2068         (WebCore::WebGraphicsLayer::createTile):
2069         (WebCore::WebGraphicsLayer::updateTile):
2070         (WebCore::WebGraphicsLayer::removeTile):
2071         (WebCore::WebGraphicsLayer::updateContentBuffers):
2072         (WebCore::WebGraphicsLayer::purgeBackingStores):
2073         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
2074         (WebCore::WebGraphicsLayer::adjustVisibleRect):
2075         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
2076         (WebCore::createWebGraphicsLayer):
2077         (WebCore::WebGraphicsLayer::initFactory):
2078         (WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
2079         * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.
2080         (WebCore):
2081         (WebKit):
2082         (WebGraphicsLayerClient):
2083         (WebGraphicsLayer):
2084         (WebCore::WebGraphicsLayer::image):
2085         (WebCore::WebGraphicsLayer::fixedToViewport):
2086         (WebCore::WebGraphicsLayer::setFixedToViewport):
2087         (WebCore::WebGraphicsLayer::maskTarget):
2088         (WebCore::WebGraphicsLayer::setMaskTarget):
2089         * WebProcess/WebPage/LayerTreeHost.cpp:
2090         (WebKit::LayerTreeHost::create):
2091         * WebProcess/WebPage/LayerTreeHost.h:
2092         (LayerTreeHost):
2093         * WebProcess/WebPage/WebPage.cpp:
2094         (WebKit::WebPage::didReceiveMessage):
2095
2096 2012-06-25  Anders Carlsson  <andersca@apple.com>
2097
2098         [Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
2099         https://bugs.webkit.org/show_bug.cgi?id=89611
2100         <rdar://problem/11714023>
2101
2102         Reviewed by Sam Weinig.
2103
2104         Make sure to send the response along to the plug-in in the case where the stream was empty.
2105
2106         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2107         (WebKit::WebFrameLoaderClient::finishedLoading):
2108
2109 2012-06-25  YoungTaeck Song  <youngtaeck.song@samsung.com>
2110
2111         [WK2][Qt][EFL] Move LayerBackingStore into common directory
2112         https://bugs.webkit.org/show_bug.cgi?id=89838
2113
2114         Reviewed by Noam Rosenthal.
2115
2116         Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.
2117
2118         * Target.pri:
2119         * UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.
2120         (WebKit):
2121         (WebKit::LayerBackingStoreTile::swapBuffers):
2122         (WebKit::LayerBackingStoreTile::setBackBuffer):
2123         (WebKit::LayerBackingStore::createTile):
2124         (WebKit::LayerBackingStore::removeTile):
2125         (WebKit::LayerBackingStore::updateTile):
2126         (WebKit::LayerBackingStore::texture):
2127         (WebKit::LayerBackingStore::paintToTextureMapper):
2128         (WebKit::LayerBackingStore::commitTileOperations):
2129         * UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.
2130         (WebKit):
2131         (LayerBackingStoreTile):
2132         (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
2133         (WebKit::LayerBackingStoreTile::scale):
2134         (LayerBackingStore):
2135         (WebKit::LayerBackingStore::create):
2136         (WebKit::LayerBackingStore::LayerBackingStore):
2137
2138 2012-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2139
2140         [GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
2141         https://bugs.webkit.org/show_bug.cgi?id=89858
2142
2143         Reviewed by Xan Lopez.
2144
2145         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2146         (testWebViewPermissionRequests): Make runtime warnings non-fatal
2147         for test /webkit2/WebKitWebView/permission-requests.
2148
2149 2012-06-25  Huang Dongsung  <luxtella@company100.net>
2150
2151         [GTK] Remove unused code in LayerTreeHostGtk.
2152         https://bugs.webkit.org/show_bug.cgi?id=89854
2153
2154         LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
2155         virtual float deviceScaleFactor() const;
2156
2157         Reviewed by Martin Robinson.
2158
2159         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2160         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2161         (LayerTreeHostGtk):
2162
2163 2012-06-24  Andreas Kling  <kling@webkit.org>
2164
2165         REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
2166         <rdar://problem/11686974>
2167         <http://webkit.org/b/89659>
2168
2169         Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
2170         rather than didReceiveEvent().
2171
2172         * UIProcess/WebPageProxy.cpp:
2173         (WebKit::WebPageProxy::handleKeyboardEvent):
2174         (WebKit::WebPageProxy::didReceiveKeyEvent):
2175
2176 2012-06-24  YoungTaeck Song  <youngtaeck.song@samsung.com>
2177
2178         [WK2][Qt][EFL] Modify Qt specific code to common code
2179         https://bugs.webkit.org/show_bug.cgi?id=89839
2180
2181         Reviewed by Noam Rosenthal.
2182
2183         Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.
2184
2185         * UIProcess/WebLayerTreeRenderer.cpp:
2186         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
2187
2188 2012-06-24  Simon Fraser  <simon.fraser@apple.com>
2189
2190         Rename isPositioned to isOutOfFlowPositioned for clarity
2191         https://bugs.webkit.org/show_bug.cgi?id=89836
2192
2193         Reviewed by Antti Koivisto.
2194         
2195         RenderObject and RenderStyle had an isPositioned() method that was
2196         confusing, because it excluded relative positioning. Rename to 
2197         isOutOfFlowPositioned(), which makes it clearer that it only applies
2198         to absolute and fixed positioning.
2199
2200         Simple rename; no behavior change.
2201
2202         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2203         (WebKit::updateOffsetFromViewportForSelf):
2204
2205 2012-06-24  Andreas Kling  <kling@webkit.org>
2206
2207         REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
2208         <rdar://problem/11686974>
2209         <http://webkit.org/b/89659>
2210
2211         Reviewed by Sam Weinig.
2212
2213         Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
2214         use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
2215         the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
2216         a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
2217         invalidates the frame ID passed to DecidePolicyForNavigationAction.
2218
2219         This is a speculative fire-fighting fix.
2220
2221         * UIProcess/WebPageProxy.cpp:
2222         (WebKit::WebPageProxy::didReceiveKeyEvent):
2223         (WebKit::WebPageProxy::didReceiveEvent):
2224         * UIProcess/WebPageProxy.h:
2225         * UIProcess/WebPageProxy.messages.in:
2226         * WebProcess/WebPage/WebPage.cpp:
2227         (WebKit::WebPage::keyEvent):
2228
2229 2012-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2230
2231         Unreviewed, rolling out r121058.
2232         http://trac.webkit.org/changeset/121058
2233         https://bugs.webkit.org/show_bug.cgi?id=89809
2234
2235         Patch causes plugins tests to crash in GTK debug builds
2236         (Requested by zdobersek on #webkit).
2237
2238         * Shared/mac/WebMemorySampler.mac.mm:
2239         (WebKit::WebMemorySampler::sampleWebKit):
2240         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2241         (WebKit::InjectedBundle::javaScriptObjectsCount):
2242         (WebKit::InjectedBundle::reportException):
2243         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2244         (WebKit::JSNPObject::callMethod):
2245         (WebKit::JSNPObject::callObject):
2246         (WebKit::JSNPObject::callConstructor):
2247         (WebKit::JSNPObject::put):
2248         (WebKit::JSNPObject::deleteProperty):
2249         (WebKit::JSNPObject::getOwnPropertyNames):
2250         (WebKit::JSNPObject::propertyGetter):
2251         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2252         (WebKit::NPJSObject::hasMethod):
2253         (WebKit::NPJSObject::invoke):
2254         (WebKit::NPJSObject::invokeDefault):
2255         (WebKit::NPJSObject::hasProperty):
2256         (WebKit::NPJSObject::getProperty):
2257         (WebKit::NPJSObject::setProperty):
2258         (WebKit::NPJSObject::removeProperty):
2259         (WebKit::NPJSObject::enumerate):
2260         (WebKit::NPJSObject::construct):
2261         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2262         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
2263         (WebKit::NPRuntimeObjectMap::evaluate):
2264         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
2265         * WebProcess/WebPage/WebFrame.cpp:
2266         (WebKit::WebFrame::jsWrapperForWorld):
2267         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
2268         * WebProcess/WebPage/WebPage.cpp:
2269         (WebKit::WebPage::runJavaScriptInMainFrame):
2270         * WebProcess/WebProcess.cpp:
2271         (WebKit::WebProcess::getWebCoreStatistics):
2272
2273 2012-06-23  Zan Dobersek  <zandobersek@gmail.com>
2274
2275         Unreviewed build fix for GTK's WebKit2 build after r121093.
2276
2277         * UIProcess/API/gtk/WebKitWebView.cpp:
2278         (webkitWebViewPopulateContextMenu):
2279
2280 2012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2281
2282         Unreviewed. Fix several GTK+ unit tests.
2283
2284         GTK+ unit tests using WebViewTest::wait() started to fail due to a
2285         bug introduced in r121093.
2286
2287         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2288         (WebViewTest::wait): Use this instead of m_mainLoop as user data
2289         for the idle callback.
2290
2291 2012-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2292
2293         [GTK] Add ContextMenu API to WebKit2 GTK+ API
2294         https://bugs.webkit.org/show_bug.cgi?id=81011
2295
2296         Reviewed by Martin Robinson.
2297
2298         Add WebKitWebView::context-menu signal and WebKitContextMenu and
2299         WebKitContextMenuItem objects to customize the default menu or
2300         buils new menus.
2301
2302         * GNUmakefile.list.am: Add new files to destination.
2303         * UIProcess/API/gtk/WebKitContextMenu.cpp: Added.
2304         (webkitContextMenuFinalize):
2305         (webkit_context_menu_init):
2306         (webkit_context_menu_class_init):
2307         (webkitContextMenuPopulate): Populate the given vector of
2308         ContextMenuItems with the WebKitContextMenu items releasing the
2309         items added to the vector.
2310         (webkitContextMenuCreate): Create a new WebKitContextMenu for the
2311         given WKArrayRef of WKContextMenuItemRef.
2312         (webkitContextMenuSetParentItem): Set the parent menu item of the
2313         menu. Used when a menu is added as a submenu of a menu item.
2314         (webkitContextMenuGetParentItem): Return the parent menu item of
2315         the menu.
2316         (webkit_context_menu_new): Create a new WebKitContextMenu.
2317         (webkit_context_menu_new_with_items): Create a new
2318         WebKitContextMenu using the given list of WebKitContextMenuItem.
2319         (webkit_context_menu_prepend): Add item at the beginning.
2320         (webkit_context_menu_append): Add item at the end.
2321         (webkit_context_menu_insert): Insert item at a random position.
2322         (webkit_context_menu_move_item): Move an existing item to a new
2323         position.
2324         (webkit_context_menu_get_items): Get the list of items.
2325         (webkit_context_menu_get_n_items): Get the number of items.
2326         (webkit_context_menu_first): Get the first item.
2327         (webkit_context_menu_last): Get the last item.
2328         (webkit_context_menu_get_item_at_position): Get the item at the
2329         given position.
2330         (webkit_context_menu_remove): Remove the given item.
2331         (webkit_context_menu_remove_all): Remove all items.
2332         * UIProcess/API/gtk/WebKitContextMenu.h: Added.
2333         * UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.
2334         (webkitContextMenuActionIsCheckable): Check if the given stock
2335         action is a toggle action.
2336         (webkitContextMenuActionGetActionTag): Get the WebCore
2337         ContextMenuAction corresponding to the given stock action.
2338         (webkitContextMenuActionGetForContextMenuItem): Get the stock
2339         action corresponding to the given WebCore ContextMenuAction.
2340         (webkitContextMenuActionGetLabel): Get the label string of the
2341         given stock action.
2342         * UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
2343         * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
2344         * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.
2345         (webkitContextMenuItemFinalize):
2346         (webkit_context_menu_item_init):
2347         (webkit_context_menu_item_class_init):
2348         (checkAndWarnIfMenuHasParentItem): Check whether the given menu
2349         is already inside another menu showing a warning in such case.
2350         (webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
2351         checking that the menu is not part of another menu and setting the
2352         item as the parent of the submenu.
2353         (webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
2354         for the given WKContextMenuItemRef.
2355         (webkitContextMenuItemCreateForGtkItem): Create a new
2356         WebKitContextMenuItem using the given GtkMenuItem.
2357         (webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
2358         GtkMenu as submenu of the item. This is used only to add Input
2359         Methods submenu that is created by GTK.
2360         (webkitContextMenuItemRelease): Release the WebCore
2361         ContextMenuItem associated to the item.
2362         (webkit_context_menu_item_new): Create a new WebKitContextMenuItem
2363         for the given GtkAction.
2364         (webkit_context_menu_item_new_from_stock_action): Create a new
2365         WebKitContextMenuItem for a stock action.
2366         (webkit_context_menu_item_new_from_stock_action_with_label):
2367         Create a new WebKitContextMenuItem for a stock action using a
2368         custom label.
2369         (webkit_context_menu_item_new_with_submenu): Create a new
2370         WebKitContextMenuItem with a submenu.
2371         (webkit_context_menu_item_new_separator): Create a new separator
2372         menu item.
2373         (webkit_context_menu_item_get_action): Get the GtkAction of the item.
2374         (webkit_context_menu_item_get_stock_action): Get the stock action
2375         of the item.
2376         (webkit_context_menu_item_is_separator): Whether item is a separator.
2377         (webkit_context_menu_item_set_submenu): Set or replace the
2378         submenu of the item.
2379         (webkit_context_menu_item_get_submenu): Get the submenu of the item.
2380         * UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
2381         * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
2382         * UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
2383         * UIProcess/API/gtk/WebKitDefines.h:
2384         * UIProcess/API/gtk/WebKitWebView.cpp:
2385         (webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
2386         (getUnicodeMenuItemPosition): Helper function that returns the
2387         position of the unicode menu item in the proposed context menu.
2388         (webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
2389         WebKitContextMenu API to add the input methods submenu to the
2390         default context menu.
2391         (webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
2392         the default context menu and emit WebKitWebView::context-menu
2393         signal. Then populate the context menu proxy with the resulting
2394         WebKitContextMenu.
2395         * UIProcess/API/gtk/WebKitWebView.h:
2396         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2397         (webkitWebViewBaseButtonPressEvent): In case of right click save
2398         the event to be used by context menu signal.
2399         (webkitWebViewBaseTakeContextMenuEvent): Return and release the
2400         saved button event.
2401         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2402         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
2403         WebKitContextMenu and WebKitContextMenuItem.
2404         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2405         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
2406         webkit_context_menu_get_type and webkit_context_menu_item_get_type.
2407         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
2408         * UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.
2409         (testContextMenuDefaultMenu):
2410         (testContextMenuPopulateMenu):
2411         (testContextMenuCustomMenu):
2412         (testContextMenuDisableMenu):
2413         (testContextMenuSubMenu):
2414         (beforeAll):
2415         (afterAll):
2416         * UIProcess/API/gtk/tests/TestMain.h:
2417         (Test::addLogFatalFlag): Add a log level flag to the mask of flags
2418         causing the program to abort.
2419         (Test::removeLogFatalFlag): Remove a log level flag to the mask of
2420         flags causing the program to abort.
2421         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2422         (WebViewTest::quitMainLoop): Finish the main loop.
2423         (WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
2424         the main loop when all pending events have been processed.
2425         (quitMainLoopIdleCallback):
2426         (WebViewTest::wait):
2427         * UIProcess/API/gtk/tests/WebViewTest.h:
2428         * UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,
2429         WebKitContextMenuItem.h and WebKitContextMenuActions.h.
2430         * UIProcess/API/gtk/webkit2marshal.list:
2431         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
2432         (WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
2433         popup menu to the view widget before showing it.
2434
2435 2012-06-22  Alexandru Chiculita  <achicu@adobe.com>
2436
2437         [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
2438         https://bugs.webkit.org/show_bug.cgi?id=89781
2439
2440         Reviewed by Dean Jackson.
2441
2442         Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
2443
2444         * Configurations/FeatureDefines.xcconfig:
2445
2446 2012-06-22  Ryuan Choi  <ryuan.choi@samsung.com>
2447
2448         [EFL][WK2] Support keyboard event
2449         https://bugs.webkit.org/show_bug.cgi?id=89268
2450
2451         Reviewed by Chang Shu.
2452
2453         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2454         (WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
2455         * WebProcess/WebPage/efl/WebPageEfl.cpp:
2456         (WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
2457
2458 2012-06-20  Mark Hahnenberg  <mhahnenberg@apple.com>
2459
2460         JSLock should be per-JSGlobalData
2461         https://bugs.webkit.org/show_bug.cgi?id=89123
2462
2463         Reviewed by Gavin Barraclough.
2464
2465         Changed all sites that used JSLock to instead use the new JSLockHolder
2466         and pass in the correct JS context that the code is about to interact with that 
2467         needs protection.
2468
2469         * Shared/mac/WebMemorySampler.mac.mm:
2470         (WebKit::WebMemorySampler::sampleWebKit):
2471         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2472         (WebKit::InjectedBundle::javaScriptObjectsCount):
2473         (WebKit::InjectedBundle::reportException):
2474         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2475         (WebKit::JSNPObject::callMethod):
2476         (WebKit::JSNPObject::callObject):
2477         (WebKit::JSNPObject::callConstructor):
2478         (WebKit::JSNPObject::put):
2479         (WebKit::JSNPObject::deleteProperty):
2480         (WebKit::JSNPObject::getOwnPropertyNames):
2481         (WebKit::JSNPObject::propertyGetter):
2482         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2483         (WebKit::NPJSObject::hasMethod):
2484         (WebKit::NPJSObject::invoke):
2485         (WebKit::NPJSObject::invokeDefault):
2486         (WebKit::NPJSObject::hasProperty):
2487         (WebKit::NPJSObject::getProperty):
2488         (WebKit::NPJSObject::setProperty):
2489         (WebKit::NPJSObject::removeProperty):
2490         (WebKit::NPJSObject::enumerate):
2491         (WebKit::NPJSObject::construct):
2492         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2493         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
2494         (WebKit::NPRuntimeObjectMap::evaluate):
2495         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
2496         * WebProcess/WebPage/WebFrame.cpp:
2497         (WebKit::WebFrame::jsWrapperForWorld):
2498         (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
2499         * WebProcess/WebPage/WebPage.cpp:
2500         (WebKit::WebPage::runJavaScriptInMainFrame):
2501         * WebProcess/WebProcess.cpp:
2502         (WebKit::WebProcess::getWebCoreStatistics):
2503
2504 2012-06-22  Jocelyn Turcotte  <turcotte.j@gmail.com>
2505
2506         [Qt] Fix the remote inspector loading problems on Mac
2507         https://bugs.webkit.org/show_bug.cgi?id=89747
2508
2509         Reviewed by Simon Hausmann.
2510
2511         Reverse the creation order of the inter-dependent WebSocketServerConnection
2512         and SocketStreamHandle to make sure that the later has a client properly
2513         set on construction.
2514
2515         This is to work around the assert on m_state in SocketStreamHandle::setClient.
2516
2517         * UIProcess/InspectorServer/WebSocketServer.cpp:
2518         (WebKit::WebSocketServer::didAcceptConnection):
2519         * UIProcess/InspectorServer/WebSocketServer.h:
2520         (WebKit::WebSocketServer::client):
2521         (WebSocketServer):
2522         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
2523         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
2524         (WebKit::WebSocketServerConnection::setSocketHandle):
2525         (WebKit):
2526         * UIProcess/InspectorServer/WebSocketServerConnection.h:
2527         (WebSocketServerConnection):
2528         * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
2529         (WebKit::QtTcpServerHandler::handleNewConnection):
2530
2531 2012-06-22  Sergio Villar Senin  <svillar@igalia.com>
2532
2533         [WK2] FindController::hideFindUI should unmark highlighted text matches
2534         https://bugs.webkit.org/show_bug.cgi?id=77747
2535
2536         Reviewed by Carlos Garcia Campos.
2537
2538         Unmark all text matches whenever FindController::hideFindUI is
2539         called to allow callers using the ShowHighlight find option to
2540         remove highlighting.
2541
2542         This patch enables a unit test for the WebKitFindController
2543         previously guarded by a #if(0) after r109222.
2544
2545         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
2546         (testFindControllerHide):
2547         * WebProcess/WebPage/FindController.cpp:
2548         (WebKit::FindController::hideFindUI):
2549
2550 2012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
2551
2552         [WK2] Add C API to inspect a Web Intent
2553         https://bugs.webkit.org/show_bug.cgi?id=89275
2554
2555         Reviewed by Anders Carlsson.
2556
2557         Add C API for Web Intent so that it can be queried
2558         on client side.
2559
2560         * CMakeLists.txt:
2561         * GNUmakefile.list.am:
2562         * Target.pri:
2563         * UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
2564         (WKIntentDataGetTypeID):
2565         (WKIntentDataCopyAction):
2566         (WKIntentDataCopyType):
2567         (WKIntentDataCopyService):
2568         (WKIntentDataCopySuggestions):
2569         (WKIntentDataCopyExtra):
2570         (WKIntentDataCopyExtras):
2571         * UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
2572         * UIProcess/WebIntentData.cpp:
2573         (WebKit::WebIntentData::suggestions):
2574         (WebKit):
2575         (WebKit::WebIntentData::extra):
2576         (WebKit::WebIntentData::extras):
2577         * UIProcess/WebIntentData.h:
2578         (WebIntentData):
2579
2580 2012-06-21  Christophe Dumez  <christophe.dumez@intel.com>
2581
2582         [WK2] Properly encode/decode service in IntentData
2583         https://bugs.webkit.org/show_bug.cgi?id=89460
2584
2585         Reviewed by Gustavo Noronha Silva.
2586
2587         Update IntentData::encode() and IntentData::decode()
2588         so that the "service" member is properly encoded
2589         and decoded.
2590
2591         * Shared/IntentData.cpp:
2592         (WebKit::IntentData::encode):
2593         (WebKit::IntentData::decode):
2594
2595 2012-06-21  Ryuan Choi  <ryuan.choi@gmail.com>
2596
2597         [EFL][WK2] Make WebKit2/Efl headers and resources installable.
2598         https://bugs.webkit.org/show_bug.cgi?id=88207
2599
2600         Reviewed by Chang Shu.
2601
2602         * CMakeLists.txt: Install WebProcess.
2603         * PlatformEfl.cmake: Generate ewebkit2.pc and install it.
2604         * efl/ewebkit2.pc.in: Added.
2605
2606 2012-06-21  Ryuan Choi  <ryuan.choi@samsung.com>
2607
2608         [EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
2609         https://bugs.webkit.org/show_bug.cgi?id=88935
2610
2611         Reviewed by Chang Shu.
2612
2613         Add WKViewEfl to support WTR/Efl.
2614
2615         * PlatformEfl.cmake:
2616         * Shared/API/c/WKBase.h:
2617         * Shared/API/c/efl/WKBaseEfl.h: Added.
2618         * UIProcess/API/C/WKAPICast.h:
2619         * UIProcess/API/C/efl/WKAPICastEfl.h: Added.
2620         (WebKit):
2621         * UIProcess/API/C/efl/WKView.cpp: Added.
2622         (WKViewCreate):
2623         (WKViewGetPage):
2624         * UIProcess/API/C/efl/WKView.h: Added.
2625         * UIProcess/API/efl/ewk_view.cpp:
2626         (ewk_view_page_get):
2627         * UIProcess/API/efl/ewk_view_private.h:
2628
2629 2012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2630
2631         [Qt] API tests for ColorChooser
2632         https://bugs.webkit.org/show_bug.cgi?id=88101
2633
2634         Reviewed by Kenneth Rohde Christiansen.
2635
2636         The test uses the value sanitization to detect if the feature is
2637         enabled or disabled and will just pass when disabled.
2638
2639         * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
2640         * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
2641
2642 2012-06-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2643
2644         [WK2][Qt] Color chooser API missing
2645         https://bugs.webkit.org/show_bug.cgi?id=87749
2646
2647         Reviewed by Kenneth Rohde Christiansen.
2648
2649         Added public experimental API for ColorChooser. This will
2650         allow the browser to define a custom dialog for selecting
2651         color when a input field of type "color" get focus.
2652
2653         The current implementation gives a model to the QML Component
2654         that has methods for canceling a request, selecting a color
2655         and fetching what is the current value of the HTML input.
2656
2657         * Target.pri:
2658         * UIProcess/API/qt/qquickwebview.cpp:
2659         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2660         (QQuickWebViewExperimental::colorChooser):
2661         (QQuickWebViewExperimental::setColorChooser):
2662         * UIProcess/API/qt/qquickwebview_p.h:
2663         * UIProcess/API/qt/qquickwebview_p_p.h:
2664         (QQuickWebViewPrivate):
2665         * UIProcess/qt/QtPageClient.cpp:
2666         (WebKit::QtPageClient::createColorChooserProxy):
2667         * UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
2668         (WebKit):
2669         (ColorChooserContextObject):
2670         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
2671         (WebKit::ColorChooserContextObject::currentColor):
2672         (WebKit::ColorChooserContextObject::accept):
2673         (WebKit::ColorChooserContextObject::reject):
2674         (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
2675         (WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
2676         (WebKit::WebColorChooserProxyQt::createItem):
2677         (WebKit::WebColorChooserProxyQt::createContext):
2678         (WebKit::WebColorChooserProxyQt::setSelectedColor):
2679         (WebKit::WebColorChooserProxyQt::notifyColorSelected):
2680         (WebKit::WebColorChooserProxyQt::endChooser):
2681         * UIProcess/qt/WebColorChooserProxyQt.h: Added.
2682         (WebCore):
2683         (WebKit):
2684         (WebColorChooserProxyQt):
2685         (WebKit::WebColorChooserProxyQt::create):
2686
2687 2012-06-21  Mario Sanchez Prada  <msanchez@igalia.com>
2688
2689         [GTK] Add support for window.showModalDialog in WebKit2GTK+
2690         https://bugs.webkit.org/show_bug.cgi?id=79500
2691
2692         Reviewed by Carlos Garcia Campos.
2693
2694         Implement runModal in WebKitUIClient to make the WebKitWebView
2695         emit a 'run-as-modal' signal when requested, creating a new
2696         mainloop there to block user interaction with the original window
2697         while the modal dialog is showing.
2698
2699         * UIProcess/API/gtk/WebKitUIClient.cpp:
2700         (runModal): Call to the new webkitWebViewRunAsModalPage function.
2701         (attachUIClientToView): Add runModal.
2702         * UIProcess/API/gtk/WebKitWebView.cpp:
2703         (_WebKitWebViewPrivate): Add an atribute for a new main loop.
2704         (webkitWebViewFinalize): Make sure the main loop for main dialogs,
2705         if any, is stopped if it was still running.
2706         (webkit_web_view_class_init): Declare new signal 'run-as-modal'.
2707         (webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
2708         handled, create and run a new main loop.
2709         * UIProcess/API/gtk/WebKitWebView.h:
2710         (_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
2711         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
2712
2713         Allow setting and getting the value of WebPage's canRunModal
2714         attribute in the WebProcess from the UIProcess after the creation
2715         of a WebPage, to allow using it from WebKitWebView to allow the
2716         client application to decide whether to allow create modal
2717         dialogs, which would result in launching an additional nested
2718         event loop in the web process, after creating the dialog.
2719
2720         * UIProcess/WebPageProxy.cpp:
2721         (WebKit::WebPageProxy::WebPageProxy): Initialize the new
2722         m_canRunModal attribute, to cache the current status of the
2723         WebPage in the WebProcess.
2724         (WebKit::WebPageProxy::initializeUIClient): Call the new function
2725         setCanRunModal, instead of manually sending the SetCanRunModal message.
2726         (WebKit::WebPageProxy::creationParameters): Use m_canRunModal
2727         instead of m_uiClient.canRunModal when preparing the parameters.
2728         (WebKit::WebPageProxy::setCanRunModal): New public function, it
2729         sets the value of m_canRunModal and sends a message to the Web
2730         process for updating the WebPage, whenever possible.
2731         (WebKit::WebPageProxy::canRunModal): New public function, returns
2732         the value of the m_canRunModal attribute.
2733         * UIProcess/WebPageProxy.h:
2734         (WebPageProxy): Added new public functions and private attribute.
2735
2736         New property in WebKitSettings to be able to decide whether it is
2737         allowed to create and run new child webviews as modal dialogs.
2738
2739         * UIProcess/API/gtk/WebKitSettings.cpp:
2740         (_WebKitSettingsPrivate): New attribute allowModalDialogs.
2741         (webKitSettingsSetProperty): Handle the new property.
2742         (webKitSettingsGetProperty): Ditto.
2743         (webkit_settings_class_init): Install the new property.
2744         (webkitSettingsAttachSettingsToPage): Make sure the WebPage is
2745         initialized with the value of the new property.
2746         (webkit_settings_set_allow_modal_dialogs): New setter.
2747         (webkit_settings_get_allow_modal_dialogs): New getter.
2748         * UIProcess/API/gtk/WebKitSettings.h:
2749         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
2750
2751         Connect to the 'notify::allow-modal-dialogs' signal from
2752         WebKitSettings to ensure that canRunModal property of the WebPage
2753         is kept up to date. Ensure that signal handlers for monitoring
2754         settings are disconnected when the webview is finalized.
2755
2756         * UIProcess/API/gtk/WebKitWebView.cpp:
2757         (webkitWebViewSetSettings): Connect to the new signal
2758         'notify::allow-modal-dialogs', from WebKitSettings.
2759         (allowModalDialogsChanged): Callback to update WebPage's
2760         canRunModal property when updated through WebKitSettings.
2761         (webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
2762         handlers for monitoring WebKitSettings properties.
2763         (webkitWebViewFinalize): Ensure signal handlers are disconnected.
2764         (webkit_web_view_set_settings): Ditto.
2765         * UIProcess/API/gtk/WebKitWebView.h:
2766
2767         Add new unit tests to check the 'run-as-modal' signal is emitted
2768         only when the new property in WebKitSettings is set to TRUE.
2769
2770         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2771         (testWebViewAllowModalDialogs): New unit test to check that modal
2772         dialogs are properly created from JavaScript when allowed.
2773         (testWebViewDisallowModalDialogs): New unit test to check that
2774         it's not possible to create modal dialogs when not allowed.
2775         (beforeAll): Add the new unit test.
2776
2777 2012-06-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2778
2779         [WK2] Color chooser API missing
2780         https://bugs.webkit.org/show_bug.cgi?id=87495
2781
2782         Reviewed by Andreas Kling.
2783
2784         Added ColorChooser API to WebKit2. This API allows the
2785         embedder to define a custom color picker for <input type="color">.
2786
2787         Only one ColorChooser can be active for a page at a time. Although
2788         the implementation doesn't not assume a modal dialog, no other
2789         color chooser will be created until the active one is closed.
2790
2791         Also added stubs for all platforms, so it wont break the build when
2792         enabling color chooser, even though they don't have the backend
2793         implemented yet.
2794
2795         * CMakeLists.txt:
2796         * GNUmakefile.list.am:
2797         * Target.pri:
2798         * UIProcess/API/efl/PageClientImpl.cpp:
2799         (WebKit):
2800         (WebKit::PageClientImpl::createColorChooserProxy):
2801         * UIProcess/API/efl/PageClientImpl.h:
2802         (PageClientImpl):
2803         * UIProcess/API/gtk/PageClientImpl.cpp:
2804         (WebKit):
2805         (WebKit::PageClientImpl::createColorChooserProxy):
2806         * UIProcess/API/gtk/PageClientImpl.h:
2807         (PageClientImpl):
2808         * UIProcess/API/mac/PageClientImpl.h:
2809         (PageClientImpl):
2810         * UIProcess/API/mac/PageClientImpl.mm:
2811         (WebKit):
2812         (WebKit::PageClientImpl::createColorChooserProxy):
2813         * UIProcess/PageClient.h:
2814         (WebKit):
2815         (PageClient):
2816         * UIProcess/WebColorChooserProxy.h: Added.
2817         (WebCore):
2818         (WebKit):
2819         (WebColorChooserProxy):
2820         (Client):
2821         (WebKit::WebColorChooserProxy::Client::~Client):
2822         (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
2823         (WebKit::WebColorChooserProxy::invalidate):
2824         (WebKit::WebColorChooserProxy::WebColorChooserProxy):
2825         * UIProcess/WebPageProxy.cpp:
2826         (WebKit::WebPageProxy::close):
2827         (WebKit):
2828         (WebKit::WebPageProxy::showColorChooser):
2829         (WebKit::WebPageProxy::setColorChooserColor):
2830         (WebKit::WebPageProxy::endColorChooser):
2831         (WebKit::WebPageProxy::didChooseColor):
2832         (WebKit::WebPageProxy::didEndColorChooser):
2833         (WebKit::WebPageProxy::processDidCrash):
2834         * UIProcess/WebPageProxy.h:
2835         (WebPageProxy):
2836         * UIProcess/WebPageProxy.messages.in:
2837         * UIProcess/qt/QtPageClient.cpp:
2838         (WebKit):
2839         (WebKit::QtPageClient::createColorChooserProxy):
2840         * UIProcess/qt/QtPageClient.h:
2841         (QtPageClient):
2842         * UIProcess/win/WebView.cpp:
2843         (WebKit):
2844         (WebKit::WebView::createColorChooserProxy):
2845         * UIProcess/win/WebView.h:
2846         (WebView):
2847         * WebKit2.xcodeproj/project.pbxproj:
2848         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2849         (WebKit::WebChromeClient::createColorChooser):
2850         * WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.
2851         (WebKit):
2852         (WebKit::WebColorChooser::WebColorChooser):
2853         (WebKit::WebColorChooser::~WebColorChooser):
2854         (WebKit::WebColorChooser::didChooseColor):
2855         (WebKit::WebColorChooser::didEndChooser):
2856         (WebKit::WebColorChooser::disconnectFromPage):
2857         (WebKit::WebColorChooser::setSelectedColor):
2858         (WebKit::WebColorChooser::endChooser):
2859         * WebProcess/WebCoreSupport/WebColorChooser.h: Added.
2860         (WebCore):
2861         (WebKit):
2862         (WebColorChooser):
2863         * WebProcess/WebPage/WebPage.cpp:
2864         (WebKit::WebPage::WebPage):
2865         (WebKit::WebPage::close):
2866         (WebKit):
2867         (WebKit::WebPage::setActiveColorChooser):
2868         (WebKit::WebPage::didEndColorChooser):
2869         (WebKit::WebPage::didChooseColor):
2870         * WebProcess/WebPage/WebPage.h:
2871         (WebKit):
2872         (WebPage):
2873         (WebKit::WebPage::activeColorChooser):
2874         * WebProcess/WebPage/WebPage.messages.in:
2875         * win/WebKit2.vcproj:
2876
2877 2012-06-20  Brady Eidson  <beidson@apple.com>
2878
2879         <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
2880         showModalDialog message handling is flaky in WebKit2
2881
2882         Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
2883         the functions an inner run-loop - such as we see with running a modal dialog - does not have
2884         a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.
2885
2886         By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
2887         where it left off if RunLoop::performWork is re-entered.
2888
2889         To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
2890         its source before entering the modal run loop so our RunLoop is woken up.
2891
2892         Reviewed by Darin Adler.
2893
2894         * Platform/CoreIPC/Connection.cpp:
2895         (CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
2896           before it enters the modal dialog run loop.
2897         * Platform/CoreIPC/Connection.h:
2898
2899         * UIProcess/WebPageProxy.cpp:
2900         (WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.
2901
2902 2012-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
2903
2904         Use IntSize in RenderLayer to represent scroll offsets
2905         https://bugs.webkit.org/show_bug.cgi?id=89154
2906
2907         Reviewed by Eric Seidel.
2908
2909         * WebProcess/WebPage/win/WebPageWin.cpp:
2910         (WebKit::WebPage::gestureDidScroll):
2911         Updated to pass an IntSize to scrollByRecursively.
2912
2913 2012-06-20  Christophe Dumez  <christophe.dumez@intel.com>
2914
2915         [WK2] Implement Web Intent delivery
2916         https://bugs.webkit.org/show_bug.cgi?id=88989
2917
2918         Reviewed by Anders Carlsson.
2919
2920         Add a deliverIntent() method to the WebFrame so that
2921         Web intents can be delivered once matched to a
2922         specific service.
2923
2924         * UIProcess/WebFrameProxy.cpp:
2925         (WebKit):
2926         (WebKit::WebFrameProxy::deliverIntent):
2927         * UIProcess/WebFrameProxy.h:
2928         (WebKit):
2929         (WebFrameProxy):
2930         * UIProcess/WebIntentData.h:
2931         (WebKit::WebIntentData::store):
2932         * WebProcess/WebPage/WebFrame.cpp:
2933         (WebKit):
2934         (WebKit::WebFrame::deliverIntent):
2935         * WebProcess/WebPage/WebFrame.h:
2936         (WebKit):
2937         (WebFrame):
2938         * WebProcess/WebPage/WebPage.cpp:
2939         (WebKit):
2940         (WebKit::WebPage::deliverIntentToFrame):
2941         * WebProcess/WebPage/WebPage.h:
2942         (WebKit):
2943         (WebPage):
2944         * WebProcess/WebPage/WebPage.messages.in:
2945
2946 2012-06-20  Alexis Menard  <alexis.menard@openbossa.org>
2947
2948         REGRESSION (120705) : LayerTreeHostQt asserts in debug.
2949         https://bugs.webkit.org/show_bug.cgi?id=89487
2950
2951         Reviewed by Noam Rosenthal.
2952
2953         We try to call createHandle twice on the same handle when the
2954         first matching atlas is full. This patch solved the problem by
2955         moving the createHandle call inside UpdateAtlas and call createHandle
2956         only when the atlas is not full. We can also remove the surface()
2957         getter as it is not used anymore.
2958
2959         * WebProcess/WebPage/UpdateAtlas.cpp:
2960         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
2961         * WebProcess/WebPage/UpdateAtlas.h:
2962         (UpdateAtlas):
2963         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2964         (WebKit::LayerTreeHostQt::beginContentUpdate):
2965
2966 2012-06-19  Ryuan Choi  <ryuan.choi@samsung.com>
2967
2968         [EFL][Regression] Build break after r120786
2969         https://bugs.webkit.org/show_bug.cgi?id=89549
2970
2971         Unreviewed build fix for Efl port.
2972
2973         * CMakeLists.txt: Added disassembler in includes.
2974
2975 2012-06-19  Dan Bernstein  <mitz@apple.com>
2976
2977         WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
2978         https://bugs.webkit.org/show_bug.cgi?id=89394
2979
2980         Reviewed by Darin Adler.
2981
2982         * UIProcess/API/C/WKPage.cpp:
2983         (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
2984         Pagination::Mode values.
2985         (WKPageGetPaginationMode): Similarly, in the opposite direction.
2986         * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
2987         an axis and a direction along that axis.
2988         * UIProcess/API/mac/WKBrowsingContextController.mm:
2989         (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
2990         (-[WKBrowsingContextController paginationMode]): Ditto.
2991         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
2992         WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
2993         that axis.
2994
2995 2012-06-19  Alexis Menard  <alexis.menard@openbossa.org>
2996
2997         [Qt] Create an extra atlas when there is no available buffer space.
2998         https://bugs.webkit.org/show_bug.cgi?id=89012
2999
3000         Reviewed by Noam Rosenthal.
3001
3002         In case of the desktop mode when we scroll the view all the tiles
3003         are updated. It can happen that there no available buffer space for
3004         the currently used atlas(especially when scrolling fast). In that case 
3005         we can create a new one. One future improvement could be to make a timer and 
3006         delete this extra atlas when it is not used.
3007
3008         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3009         (WebKit::beginContentUpdateInAtlas):
3010         (WebKit::LayerTreeHostQt::beginContentUpdate):
3011         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3012         (LayerTreeHostQt):
3013
3014 2012-06-19  Csaba Osztrogonác  <ossy@webkit.org>
3015
3016         [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
3017         https://bugs.webkit.org/show_bug.cgi?id=89449
3018
3019         Reviewed by Simon Hausmann.
3020
3021         * UIProcess/API/qt/qquicknetworkreply_p.h:
3022
3023 2012-06-19  Mike West  <mkwst@chromium.org>
3024
3025         Introduce ENABLE_CSP_NEXT configuration flag.
3026         https://bugs.webkit.org/show_bug.cgi?id=89300
3027
3028         Reviewed by Adam Barth.
3029
3030         The 1.0 draft of the Content Security Policy spec is just about to
3031         move to Last Call. We'll hide work on the upcoming 1.1 spec behind
3032         this ENABLE flag, disabled by default.
3033
3034         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
3035
3036         * Configurations/FeatureDefines.xcconfig:
3037
3038 2012-06-19  Mike West  <mkwst@chromium.org>
3039
3040         Add a scheme registry for bypassing Content Security Policy.
3041         https://bugs.webkit.org/show_bug.cgi?id=89373
3042
3043         Reviewed by Adam Barth.
3044
3045         * win/WebKit2.def:
3046         * win/WebKit2CFLite.def:
3047
3048 2012-06-16  Adam Barth  <abarth@webkit.org>
3049
3050         Settings::devicePixelRatio doesn't do anything and is confusing
3051         https://bugs.webkit.org/show_bug.cgi?id=89272
3052
3053         Reviewed by James Robinson.
3054
3055         * Shared/WebPreferencesStore.h:
3056         (WebKit):
3057             - Remove boilerplate code for the setting.
3058         * UIProcess/API/qt/qquickwebview.cpp:
3059         (QQuickWebViewExperimental::devicePixelRatio):
3060         (QQuickWebViewExperimental::setDevicePixelRatio):
3061             - Change these functions to get and set the real device scale factor.
3062         * WebProcess/WebPage/WebPage.cpp:
3063         (WebKit::WebPage::sendViewportAttributesChanged):
3064             - Use the real device scale factor for the viewport calculation.
3065         (WebKit::WebPage::updatePreferences):
3066             - Remove boilerplate code for the setting.
3067
3068 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
3069
3070         [WK2] Add support for explicit intents
3071         https://bugs.webkit.org/show_bug.cgi?id=89206
3072
3073         Reviewed by Kenneth Rohde Christiansen.
3074
3075         Expose the service URL of a Web Intent. This URL
3076         is set for explicit intents.
3077
3078         * Shared/IntentData.h:
3079         (IntentData):
3080         * UIProcess/WebIntentData.h:
3081         (WebKit::WebIntentData::service):
3082         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3083         (WebKit::WebFrameLoaderClient::dispatchIntent):
3084
3085 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
3086
3087         [EFL][WK2] Add title support to Ewk_View
3088         https://bugs.webkit.org/show_bug.cgi?id=89095
3089
3090         Reviewed by Kenneth Rohde Christiansen.
3091
3092         Add a method to get the title of the main frame in
3093         an Ewk_View. A "title,changed" signal is now emitted
3094         on the view to notify clients that the main frame
3095         title was changed.
3096
3097         * PlatformEfl.cmake:
3098         * UIProcess/API/efl/ewk_view.cpp:
3099         (_Ewk_View_Private_Data):
3100         (_ewk_view_priv_del):
3101         (ewk_view_base_add):
3102         (ewk_view_title_get):
3103         (ewk_view_title_changed):
3104         * UIProcess/API/efl/ewk_view.h:
3105         * UIProcess/API/efl/ewk_view_loader_client.cpp: Added.
3106         (didReceiveTitleForFrame):
3107         (ewk_view_loader_client_attach):
3108         * UIProcess/API/efl/ewk_view_loader_client_private.h: Added.
3109         * UIProcess/API/efl/ewk_view_private.h:
3110
3111 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
3112
3113         [WK2][EFL] Implement navigation back/forward in Ewk_View
3114         https://bugs.webkit.org/show_bug.cgi?id=89173
3115
3116         Reviewed by Kenneth Rohde Christiansen.
3117
3118         Add API for Ewk_View to ask the main frame to navigate backwards
3119         or forwards in history. Also add API to query if such navigation
3120         is possible.
3121
3122         * UIProcess/API/efl/ewk_view.cpp:
3123         (ewk_view_back):
3124         (ewk_view_forward):
3125         (ewk_view_back_possible):
3126         (ewk_view_forward_possible):
3127         * UIProcess/API/efl/ewk_view.h:
3128
3129 2012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
3130
3131         [EFL][WK2] Implement reload / stop in Ewk_View
3132         https://bugs.webkit.org/show_bug.cgi?id=89168
3133
3134         Reviewed by Kenneth Rohde Christiansen.
3135
3136         Add API on the Ewk_View to reload the main frame
3137         and to stop the current load.
3138
3139         * UIProcess/API/efl/ewk_view.cpp:
3140         (ewk_view_reload):
3141         (ewk_view_stop):
3142         * UIProcess/API/efl/ewk_view.h:
3143
3144 2012-06-14  Kent Tamura  <tkent@chromium.org>
3145
3146         Validate form state strings in FormController::setStateForNewFormElements()
3147         https://bugs.webkit.org/show_bug.cgi?id=88768
3148
3149         Reviewed by Hajime Morita.
3150
3151         * win/WebKit2.def: Expose some symbols used by Internals.cpp.
3152         * win/WebKit2CFLite.def: ditto.
3153
3154 2012-06-14  Tim Horton  <timothy_horton@apple.com>
3155
3156         DrawingArea: Painting is being resumed while the view is not visible
3157         https://bugs.webkit.org/show_bug.cgi?id=88940
3158         <rdar://problem/11652545>
3159
3160         Reviewed by Dean Jackson.
3161
3162         Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
3163         rAF to permanently suspend animations after entering full-screen mode, because of the following:
3164
3165         0. JavaScript causes fullscreen transition to start.
3166         1. Painting (and rAF) are suspended.
3167         2. The page changes size.
3168             a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
3169             b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
3170         3. The view becomes visible, windowIsVisible is updated to true.
3171         4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.
3172
3173         Notice that because of the early exit in 4, rAF is never resumed.
3174
3175         To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
3176         temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
3177         during the window animations that occur while entering and exiting full-screen.
3178
3179         * UIProcess/API/mac/WKViewInternal.h:
3180         * UIProcess/API/mac/WKView.mm:
3181         (-[WKView setAutomaticallySuspendAndResumePainting:]):
3182         (-[WKView automaticallySuspendAndResumePainting]):
3183         * UIProcess/DrawingAreaProxyImpl.cpp:
3184         (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
3185         * UIProcess/WebPageProxy.h:
3186         (WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
3187         (WebKit::WebPageProxy::shouldSuspendAndResumePainting):
3188         * UIProcess/mac/WKFullScreenWindowController.mm:
3189         (-[WKFullScreenWindowController enterFullScreen:]):
3190         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
3191
3192 2012-06-14  Jia Pu  <jpu@apple.com>
3193
3194         Mark text with text alternative with blue underline.
3195         https://bugs.webkit.org/show_bug.cgi?id=83047
3196
3197         Reviewed by Enrica Casucci.
3198
3199         Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
3200         and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
3201         alternatives attached to the input string.
3202
3203         * Shared/API/c/WKContextMenuItemTypes.h:
3204         * Shared/API/c/WKSharedAPICast.h:
3205         * Shared/WebCoreArgumentCoders.cpp:
3206         * Shared/WebCoreArgumentCoders.h:
3207         * UIProcess/API/mac/PageClientImpl.h:
3208         * UIProcess/API/mac/PageClientImpl.mm:
3209         (WebKit::PageClientImpl::PageClientImpl):
3210         (WebKit::PageClientImpl::pageClosed):
3211         (WebKit::PageClientImpl::addDictationAlternatives):
3212         (WebKit::PageClientImpl::removeDictationAlternatives):
3213         (WebKit::PageClientImpl::showDictationAlternativeUI):
3214         (WebKit::PageClientImpl::dictationAlternatives):
3215         (WebKit::PageClientImpl::dismissDictationAlternativeUI):
3216         * UIProcess/API/mac/WKView.mm:
3217         (-[WKView insertText:replacementRange:]):
3218         (-[WKView validAttributesForMarkedText]):
3219         (-[WKView handleAcceptedAlternativeText:]):
3220         * UIProcess/API/mac/WKViewInternal.h:
3221         * UIProcess/PageClient.h:
3222         * UIProcess/WebPageProxy.cpp:
3223         (WebKit::WebPageProxy::showDictationAlternativeUI):
3224         (WebKit::WebPageProxy::dismissDictationAlternativeUI):
3225         (WebKit::WebPageProxy::removeDictationAlternatives):
3226         (WebKit::WebPageProxy::dictationAlternatives):
3227         * UIProcess/WebPageProxy.h:
3228         * UIProcess/WebPageProxy.messages.in:
3229         * UIProcess/mac/CorrectionPanel.mm:
3230         (correctionIndicatorType):
3231         (WebKit::CorrectionPanel::handleAcceptedReplacement):
3232         * UIProcess/mac/WebPageProxyMac.mm:
3233         (WebKit::WebPageProxy::insertDictatedText):
3234         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
3235         (WebAlternativeTextClient):
3236         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
3237         (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
3238         (WebKit::WebAlternativeTextClient::dismissAlternative):
3239         (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
3240         (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
3241         (WebKit::WebAlternativeTextClient::removeDictationAlternatives):
3242         (WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
3243         (WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
3244         (WebKit::WebAlternativeTextClient::dictationAlternatives):
3245         * WebProcess/WebPage/WebPage.h:
3246         * WebProcess/WebPage/WebPage.messages.in:
3247         * WebProcess/WebPage/mac/WebPageMac.mm:
3248         (WebKit::WebPage::insertDictatedText):
3249
3250 2012-06-13  Andreas Kling  <kling@webkit.org>
3251
3252         Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
3253         <http://webkit.org/b/89048>
3254         <rdar://problem/11449702>
3255
3256         Reviewed by Darin Adler.
3257
3258         Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
3259         for keyboard events. This ensures that it always arrives before the corresponding synchronous
3260         InterpretQueuedKeyEvent message.
3261
3262         The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
3263         the same order they were sent. This was not always true, since DidReceiveEvent (async) would
3264         get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
3265         gets dispatched right away.
3266
3267         * WebProcess/WebPage/WebPage.cpp:
3268         (WebKit::WebPage::keyEvent):
3269
3270 2012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3271
3272         [GTK] Add input methods submenu item to the default context menu for editable content
3273         https://bugs.webkit.org/show_bug.cgi?id=80600
3274
3275         Reviewed by Martin Robinson.
3276
3277         * GNUmakefile.am: Add new files to compilation.
3278         * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
3279         (getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
3280         (attachContextMenuClientToView): Add implementation for
3281         getContextMenuFromProposedMenu callback.
3282         * UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
3283         * UIProcess/API/gtk/WebKitWebView.cpp:
3284         (webkitWebViewConstructed): Attach context menu client to view.
3285         (webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
3286         add default context menu items to the new context menu items vector.
3287         (webkitWebViewShouldShowInputMethodsMenu): Helper function to
3288         check whether to show the input methods submenu according to the
3289         gtk-show-input-method-menu GTK+ setting.
3290         (webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
3291         function to add input methods submenu to the new context menu
3292         items vector.
3293         (webkitWebViewContextMenu): Create a new context menu items vector
3294         containing default items and input methods submenu in case of
3295         editable content. The active content menu is populated using that
3296         new vector.
3297         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3298         (webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
3299         (webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
3300         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3301         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3302         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3303         (WebKit::WebContextMenuProxyGtk::append): Helper method to add a
3304         new item to the context menu.
3305         (WebKit::WebContextMenuProxyGtk::populate): Add items to the
3306         context menu.
3307         (WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
3308         menu with the given items and popup the menu if it's not empty.
3309         (WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
3310         from the WebCore ContextMenu to popdown it.
3311         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
3312         webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
3313         active one for the view.
3314         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
3315         webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
3316         current active context of the view. GtkMenu is destroyed by
3317         WebCore ContextMenu in its destructor.
3318         * UIProcess/gtk/WebContextMenuProxyGtk.h:
3319
3320 2012-06-14  Christophe Dumez  <christophe.dumez@intel.com>
3321
3322         [WK2] Add implementation for registerIntentService in WebFrameLoaderClient
3323         https://bugs.webkit.org/show_bug.cgi?id=88399
3324
3325         Reviewed by Kenneth Rohde Christiansen.
3326
3327         Add implementation for registerIntentService() in
3328         WebFrameLoaderClient.
3329
3330         * CMakeLists.txt:
3331         * GNUmakefile.list.am:
3332         * Shared/API/c/WKBase.h:
3333         * Shared/APIClientTraits.h:
3334         * Shared/APIObject.h:
3335         * Shared/IntentServiceInfo.cpp: Added.
3336         (WebKit):
3337         (WebKit::IntentServiceInfo::encode):
3338         (WebKit::IntentServiceInfo::decode):
3339         * Shared/IntentServiceInfo.h: Added.
3340         (CoreIPC):
3341         (WebKit):
3342         (IntentServiceInfo):
3343         * Target.pri:
3344         * UIProcess/API/C/WKAPICast.h:
3345         (WebKit):
3346         * UIProcess/API/C/WKPage.h:
3347         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3348         (attachLoaderClientToView):
3349         * UIProcess/WebIntentServiceInfo.cpp: Added.
3350         (WebKit):
3351         (WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
3352         * UIProcess/WebIntentServiceInfo.h: Added.
3353         (WebKit):
3354         (WebIntentServiceInfo):
3355         (WebKit::WebIntentServiceInfo::create):
3356         (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
3357         (WebKit::WebIntentServiceInfo::action):
3358         (WebKit::WebIntentServiceInfo::payloadType):
3359         (WebKit::WebIntentServiceInfo::href):
3360         (WebKit::WebIntentServiceInfo::title):
3361         (WebKit::WebIntentServiceInfo::disposition):
3362         (WebKit::WebIntentServiceInfo::type):
3363         * UIProcess/WebLoaderClient.cpp:
3364         (WebKit):
3365         (WebKit::WebLoaderClient::registerIntentServiceForFrame):
3366         * UIProcess/WebLoaderClient.h:
3367         (WebKit):
3368         (WebLoaderClient):
3369         * UIProcess/WebPageProxy.cpp:
3370         (WebKit):
3371         (WebKit::WebPageProxy::registerIntentServiceForFrame):
3372         * UIProcess/WebPageProxy.h:
3373         (WebKit):
3374         (WebPageProxy):
3375         * UIProcess/WebPageProxy.messages.in:
3376         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3377         (WebKit):
3378         (WebKit::WebFrameLoaderClient::registerIntentService):
3379         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3380         (WebFrameLoaderClient):
3381
3382 2012-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3383
3384         [WK2] Add WKHitTestResultIsContentEditable()
3385         https://bugs.webkit.org/show_bug.cgi?id=80597
3386
3387         Reviewed by Martin Robinson.
3388
3389         * Shared/WebHitTestResult.cpp:
3390         (WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
3391         (WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
3392         * Shared/WebHitTestResult.h:
3393         (Data): Add isContentEditable.
3394         (WebKit::WebHitTestResult::Data::Data): Initialize
3395         isContentEditable.
3396         (WebKit::WebHitTestResult::isContentEditable): Returns whether
3397         hit test result target is editable content.
3398         * UIProcess/API/C/WKHitTestResult.cpp:
3399         (WKHitTestResultIsContentEditable): C API to get whether hit test
3400         result target is editable content.
3401         * UIProcess/API/C/WKHitTestResult.h:
3402         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
3403         (webkitHitTestResultCreate): Add
3404         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
3405         hit test result target is editable content.
3406         (webkit_hit_test_result_context_is_editable): Returns TRUE if
3407         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
3408         context.
3409         * UIProcess/API/gtk/WebKitHitTestResult.h:
3410         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3411         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3412         (testWebViewMouseTarget): Add tests for
3413         WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.
3414
3415 2012-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3416
3417         [WK2] Fix client interface size for WKPageLoaderClient.
3418         https://bugs.webkit.org/show_bug.cgi?id=88764
3419
3420         Reviewed by Anders Carlsson.
3421
3422         Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
3423         The offset should be off the first new callback that was added in the new version.
3424
3425         * Shared/APIClientTraits.cpp:
3426         (WebKit):
3427
3428 2012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
3429
3430         [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
3431         https://bugs.webkit.org/show_bug.cgi?id=88340
3432
3433         Reviewed by Kenneth Rohde Christiansen.
3434
3435         Add implementation for dispatchIntent() in WebFrameLoaderClient.
3436
3437         * CMakeLists.txt:
3438         * GNUmakefile.list.am:
3439         * Shared/API/c/WKBase.h:
3440         * Shared/APIClientTraits.h:
3441         * Shared/APIObject.h:
3442         * Shared/IntentData.cpp: Added.
3443         (WebKit):
3444         (WebKit::IntentData::encode):
3445         (WebKit::IntentData::decode):
3446         * Shared/IntentData.h: Added.
3447         (CoreIPC):
3448         (WebKit):
3449         (IntentData):
3450         * Target.pri:
3451         * UIProcess/API/C/WKAPICast.h:
3452         (WebKit):
3453         * UIProcess/API/C/WKPage.h:
3454         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3455         (attachLoaderClientToView):
3456         * UIProcess/WebIntentData.cpp: Added.
3457         (WebKit):
3458         (WebKit::WebIntentData::WebIntentData):
3459         (WebKit::WebIntentData::data):
3460         * UIProcess/WebIntentData.h: Added.
3461         (WebKit):
3462         (WebIntentData):
3463         (WebKit::WebIntentData::create):
3464         (WebKit::WebIntentData::~WebIntentData):
3465         (WebKit::WebIntentData::action):
3466         (WebKit::WebIntentData::payloadType):
3467         (WebKit::WebIntentData::extras):
3468         (WebKit::WebIntentData::suggestions):
3469         (WebKit::WebIntentData::type):
3470         * UIProcess/WebLoaderClient.cpp:
3471         (WebKit):
3472         (WebKit::WebLoaderClient::didReceiveIntentForFrame):
3473         * UIProcess/WebLoaderClient.h:
3474         (WebKit):
3475         (WebLoaderClient):
3476         * UIProcess/WebPageProxy.cpp:
3477         (WebKit):
3478         (WebKit::WebPageProxy::didReceiveIntentForFrame):
3479         * UIProcess/WebPageProxy.h:
3480         (WebKit):
3481         (WebPageProxy):
3482         * UIProcess/WebPageProxy.messages.in:
3483         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3484         (WebKit::WebFrameLoaderClient::dispatchIntent):
3485
3486 2012-06-13  Tim Horton  <timothy_horton@apple.com>
3487
3488         Rename _swapView:with: to _replaceView:with:
3489         https://bugs.webkit.org/show_bug.cgi?id=89037
3490
3491         Reviewed by Darin Adler.
3492         
3493         _swapView:with: is a misnomer - after calling it, the first view is no longer
3494         contained within the view hierarchy. "Re