5492dce9a102b748f377ad446970358d79adef1e
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-09-25  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2
3         [DRT][WTR] Support overriding the 'WebKitDisplayImagesKey' preference
4         https://bugs.webkit.org/show_bug.cgi?id=96883
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         * WebProcess/InjectedBundle/InjectedBundle.cpp:
9         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add
10         support for changing
11         WebPreferencesKey::loadsImagesAutomaticallyKey().
12
13 2012-09-25  Dan Bernstein  <mitz@apple.com>
14
15         Try to fix non-Mac builds.
16
17         * WebProcess/WebPage/WebPage.cpp:
18         (WebKit::WebPage::updatePreferences):
19
20 2012-09-25  Dan Bernstein  <mitz@apple.com>
21
22         WebKit2 part of <rdar://problem/11455228> [mac] Stop using screen fonts
23         https://bugs.webkit.org/show_bug.cgi?id=97620
24
25         Reviewed by John Sullivan.
26
27         * Shared/WebPreferencesStore.h:
28         (WebKit): Changed the default value of the screenFontSubstitutionEnabled preference to false.
29         * Shared/WebProcessCreationParameters.cpp:
30         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added an initializer for
31         the new shouldForceScreenFontSubstitution data member.
32         (WebKit::WebProcessCreationParameters::encode): Added encoding of shouldForceScreenFontSubstitution.
33         (WebKit::WebProcessCreationParameters::decode): Added decoding of shouldForceScreenFontSubstitution.
34         * Shared/WebProcessCreationParameters.h:
35         (WebProcessCreationParameters): Added shouldForceScreenFontSubstitution boolean data member.
36         * UIProcess/mac/WebContextMac.mm:
37         (WebKit::WebContext::platformInitializeWebProcess): Added code to set shouldForceScreenFontSubstitution
38         in the process creation parameters to the value of the NSFontDefaultScreenFontSubstitutionEnabled user
39         defaults key.
40         * WebProcess/WebPage/WebPage.cpp:
41         (WebKit::WebPage::updatePreferences): Changed to enable screen font substitution also if
42         shouldForceScreenFontSubstitution() is true.
43         * WebProcess/WebProcess.h:
44         (WebKit::WebProcess::shouldForceScreenFontSubstitution): Added this getter.
45         (WebProcess): Added m_shouldForceScreenFontSubstitution boolean data member.
46         * WebProcess/mac/WebProcessMac.mm:
47         (WebKit::WebProcess::platformInitializeWebProcess): Added initialization of
48         m_shouldForceScreenFontSubstitution from the creation parameters.
49
50 2012-09-25  Alexey Proskuryakov  <ap@apple.com>
51
52         Get rid of WebContext::m_pendingMessagesToPostToInjectedBundle
53         https://bugs.webkit.org/show_bug.cgi?id=94368
54
55         Reviewed by Anders Carlsson.
56
57         It doesn't appear to be of any use.
58
59         * UIProcess/WebContext.cpp:
60         (WebKit::WebContext::createNewWebProcess):
61         (WebKit::WebContext::postMessageToInjectedBundle):
62         * UIProcess/WebContext.h:
63
64 2012-09-24  Simon Fraser  <simon.fraser@apple.com>
65
66         <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
67
68         Reviewed by Mark Rowe.
69
70         Use a new WebKitSytemInterface function to add data to crash logs about which 
71         test was running when the crash happened.
72
73         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
74         (InitWebCoreSystemInterface):  Hook up the function pointer for [wk|WK]SetCrashReportApplicationSpecificInformation.
75
76 2012-09-25  Beth Dakin  <bdakin@apple.com>
77
78         Build fix. I removed this function as a part of 
79         https://bugs.webkit.org/show_bug.cgi?id=95397 but it is
80         still needed for nightlies and open source builds.
81
82         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
83         (WKBundlePageSetPaintedObjectsCounterThreshold):
84         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
85
86 2012-09-25  Beth Dakin  <bdakin@apple.com>
87
88         https://bugs.webkit.org/show_bug.cgi?id=95397
89         Need to merge didFirstVisuallyNonEmptyLayout and 
90         didNewFirstVisuallyNonEmptyLayout
91         -and corresponding-
92         <rdar://problem/10791680>
93
94         Reviewed by Sam Weinig.
95
96         The new API has two parts. First, the client has to opt into which 
97         layout milestones they are interested in hearing about using 
98         WKPageListenForLayoutMilestones or 
99         WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 
100         the didLayout(WKLayoutMilestones) callback on the appropriate 
101         clients when the specified layout milestones have fired. didLayout 
102         takes the WKLayoutMilestones bit mask, which will indicate which 
103         milestones have fired since it is possible for two to fire at the 
104         same time.
105
106         Define WKLayoutMilestoneOptions.
107         * Shared/API/c/WKPageLoadTypes.h:
108
109         Define conversions between WKLayoutMilestoneOptions and 
110         WebCore::LayoutMilestoneOptions
111         * Shared/API/c/WKSharedAPICast.h:
112         (WebKit::toWKLayoutMilestoneOptions):
113         (WebKit):
114         (WebKit::toLayoutMilestoneOptions):
115
116         New API.
117         * UIProcess/API/C/WKPage.cpp:
118         (WKPageListenForLayoutMilestones):
119         * UIProcess/API/C/WKPage.h:
120         * UIProcess/WebLoaderClient.cpp:
121         (WebKit::WebLoaderClient::didLayout):
122         (WebKit):
123         * UIProcess/WebLoaderClient.h:
124         (WebLoaderClient):
125
126         didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
127         and didNewFirstVisuallyNonEmptyLayout are now implemented with 
128         didLayout under the hood. So if those old callbacks have been 
129         defined, be sure to add the appropriate layout milestones here for 
130         backwards-compatibility.
131         * UIProcess/WebPageProxy.cpp:
132         (WebKit::WebPageProxy::initializeLoaderClient):
133
134         New API.
135         (WebKit::WebPageProxy::listenForLayoutMilestones):
136         (WebKit):
137         (WebKit::WebPageProxy::didLayout):
138         * UIProcess/WebPageProxy.h:
139         (WebPageProxy):
140         * UIProcess/WebPageProxy.messages.in:
141
142         New API. And remove the now-unnecessary 
143         WKBundlePageSetPaintedObjectsCounterThreshold. 
144         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
145         (WKBundlePageListenForLayoutMilestones):
146         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
147         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
148
149         New API.
150         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
151         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
152         (WebKit):
153         (WebKit::InjectedBundlePageLoaderClient::didLayout):
154         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
155         (InjectedBundlePageLoaderClient):
156
157         Remove dispatchDidFirstLayout, 
158         dispatchDidFirstVisuallyNonEmptyLayout, and 
159         dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
160         by dispatchDidLayout(LayoutMilestoneOptions)
161         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
162         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
163         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
164         (WebFrameLoaderClient):
165
166         didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
167         and didNewFirstVisuallyNonEmptyLayout are now implemented with 
168         didLayout under the hood. So if those old callbacks have been 
169         defined, be sure to add the appropriate layout milestones here for 
170         backwards-compatibility.
171         * WebProcess/WebPage/WebPage.cpp:
172         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
173         (WebKit):
174
175         Call into WebCore to set the layout milestones.
176         (WebKit::WebPage::listenForLayoutMilestones):
177         * WebProcess/WebPage/WebPage.h:
178         (WebPage):
179         * WebProcess/WebPage/WebPage.messages.in:
180
181         Account for the new member of PageLoadClient.
182         * WebProcess/qt/QtBuiltinBundlePage.cpp:
183         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
184
185 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
186
187         [GTK][EFL] Disk cache is never dumped to disk in WebKit2
188         https://bugs.webkit.org/show_bug.cgi?id=97583
189
190         Reviewed by Martin Robinson.
191
192         The problem is that WebProcess::platformTerminate(), where the
193         cache is currently dumped, is not called when the web process
194         finishes because the UI process closes the connection. The cache
195         is created and loaded in the main() so it can also be flushed and
196         dumped there, so that we also make sure it's always called when
197         the process finishes normally when the main loop quits.
198
199         * WebProcess/efl/WebProcessMainEfl.cpp:
200         (WebKit::WebProcessMainEfl): Flush and dump the disk cache when
201         the main loop returns.
202         * WebProcess/gtk/WebProcessMainGtk.cpp:
203         (WebKit::WebProcessMainGtk): Ditto.
204         * WebProcess/soup/WebProcessSoup.cpp:
205         (WebKit::WebProcess::platformTerminate): Do not flush and dump
206         the disk cache.
207
208 2012-09-25  Benjamin Poulain  <bpoulain@apple.com>
209
210         Add missing support for Geolocation tests on WebKit2
211         https://bugs.webkit.org/show_bug.cgi?id=97518
212
213         Reviewed by Sam Weinig.
214
215         The existing API for reporting error does not support passing and error message.
216
217         The interface UIProcess<->WebProcess is changed to take an error message, the
218         existing API now pass a null String, and the new function
219         WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide
220         the extended support with error message.
221
222         * UIProcess/API/C/WKGeolocationManager.cpp:
223         (WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage):
224         * UIProcess/API/C/WKGeolocationManager.h:
225         * UIProcess/WebGeolocationManagerProxy.cpp:
226         (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
227         * UIProcess/WebGeolocationManagerProxy.h:
228         (WebGeolocationManagerProxy):
229         * WebProcess/Geolocation/WebGeolocationManager.cpp:
230         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
231         * WebProcess/Geolocation/WebGeolocationManager.h:
232         (WebGeolocationManager):
233         * WebProcess/Geolocation/WebGeolocationManager.messages.in:
234
235 2012-09-25  Akash Vaswani  <avaswani@apple.com>
236
237         Crash after clicking in plugin at kauaiexplorer.com
238         <rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925
239
240         Reviewed by Sam Weinig.
241
242         Bug: Clicking the plugin to navigate away from the page caused the browser to crash.
243              This is because it is possible for a beforeunload handler to destroy the plugin
244              while it is still needed. In this case the handler set visibility to "none" and
245              then accessed a property on the plugin script object. This forced a layout
246              that destroyed the plugin.
247         Fix: Protecting PluginView objects until they are no longer required.
248              This was done by adding a RefPtr at the beginning of performURLRequest() 
249
250         * WebProcess/Plugins/PluginView.cpp:
251         (WebKit::PluginView::performURLRequest):
252
253 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
254
255         [GTK] Don't kill automatically the web process when the ui process finishes
256         https://bugs.webkit.org/show_bug.cgi?id=97580
257
258         Reviewed by Martin Robinson.
259
260         We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the
261         web process is killed when the UI process finishes. This is not
262         needed any more since now the web process stops the main loop when
263         the connection with the UI process is closed in
264         WebProcess::didClose(). This approach is better because it works
265         for any platform and makes the web process finish normally from
266         main().
267
268         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
269         (WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG,
270         SIGKILL) in the child process.
271
272 2012-09-25  Benjamin Poulain  <benjamin@webkit.org>
273
274         Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle
275
276         Unreviewed.
277
278         The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes
279         GeolocationClientMock from the Mac port. The #include breaks new Mac build.
280
281         * WebProcess/InjectedBundle/InjectedBundle.cpp:
282
283 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
284
285         [Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition
286         https://bugs.webkit.org/show_bug.cgi?id=97222
287
288         Reviewed by Kenneth Rohde Christiansen.
289
290         Those methods are used together everywhere, merge them into a single
291         clampViewportToContents method.
292
293         * UIProcess/PageViewportController.cpp:
294         (WebKit::PageViewportController::innerBoundedViewportScale):
295         (WebKit::PageViewportController::outerBoundedViewportScale):
296         (WebKit::PageViewportController::clampViewportToContents):
297         (WebKit):
298         (WebKit::PageViewportController::pageDidRequestScroll):
299         (WebKit::PageViewportController::syncVisibleContents):
300         * UIProcess/PageViewportController.h:
301         (PageViewportController):
302         (WebKit):
303         * UIProcess/qt/PageViewportControllerClientQt.cpp:
304         (WebKit::PageViewportControllerClientQt::focusEditableArea):
305         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
306         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
307
308 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
309
310         [Qt] Unify the PageViewportController<->Client interface regarding positions
311         https://bugs.webkit.org/show_bug.cgi?id=97220
312
313         Reviewed by Kenneth Rohde Christiansen.
314
315         - Make sure that css units are used for all position arguments
316         - Make sure that all positions represent the viewport relatively to the contents
317           rather than the other way around
318         - Delay clamping the viewport to the contents size in the controller rather than in the client
319
320         * UIProcess/API/qt/qquickwebview.cpp:
321         (QQuickWebViewFlickablePrivate::updateViewportSize):
322         * UIProcess/PageViewportController.cpp:
323         (WebKit::PageViewportController::pageDidRequestScroll):
324         (WebKit::PageViewportController::didChangeViewportSize):
325         (WebKit::PageViewportController::didChangeContentsVisibility):
326         (WebKit::PageViewportController::syncVisibleContents):
327         (WebKit::PageViewportController::positionRangeForViewportAtScale):
328         * UIProcess/PageViewportController.h:
329         (PageViewportController):
330         * UIProcess/PageViewportControllerClient.h:
331         (PageViewportControllerClient):
332         * UIProcess/qt/PageViewportControllerClientQt.cpp:
333         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
334         (WebKit::PageViewportControllerClientQt::focusEditableArea):
335         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
336         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
337         (WebKit::PageViewportControllerClientQt::setViewportPosition):
338         (WebKit::PageViewportControllerClientQt::updateViewportController):
339         * UIProcess/qt/PageViewportControllerClientQt.h:
340         (PageViewportControllerClientQt):
341
342 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
343
344         [Qt] Make sure that desktop pages honour the devicePixelRatio
345         https://bugs.webkit.org/show_bug.cgi?id=97215
346
347         Reviewed by Kenneth Rohde Christiansen.
348
349         The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already.
350         We need to make sure that the viewport size is divided by the pixel ratio to prevent
351         the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger
352         than layoutFallbackWidth.
353
354         * WebProcess/WebPage/WebPage.cpp:
355         (WebKit::WebPage::sendViewportAttributesChanged):
356
357 2012-09-25  Simon Pena  <spena@igalia.com>
358
359         [GTK] Add Undo / Redo method to WebKit2 GTK+ API
360         https://bugs.webkit.org/show_bug.cgi?id=97553
361
362         Reviewed by Martin Robinson.
363
364         Add the macros for Undo / Redo support, and include them
365         in the documentation.
366
367         * UIProcess/API/gtk/WebKitEditingCommands.h:
368         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
369
370 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
371
372         [Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController
373         https://bugs.webkit.org/show_bug.cgi?id=97214
374
375         Reviewed by Kenneth Rohde Christiansen.
376
377         Currently the client is required to multiply the scales it receives each bime by the
378         devicePixelRatio. This shouldn't be required since essentially, the only places that the
379         devicePixelRatio should be in use, is to adjust the layout size, multiply the base scale
380         and for scale constants.
381
382         Other related changes:
383         - Make sure that the controller and it's client are only exchanging effective scales
384          (cssScale * devicePixelRatio)
385         - Remove members duplicating m_rawAttributes values
386         - Use a separate member for the minimum scale to fit the page, separate from the viewport arguments
387         - Make sure that the minimum scale to fit is adjusted if the contents size isn't
388           updated after the viewport attributes changed
389         - Make the scale conversion functions private to discourage this logic from spreading in the client
390
391         * UIProcess/PageViewportController.cpp:
392         (WebKit::PageViewportController::PageViewportController):
393         (WebKit::PageViewportController::innerBoundedViewportScale):
394         (WebKit::PageViewportController::outerBoundedViewportScale):
395         (WebKit):
396         (WebKit::PageViewportController::devicePixelRatio):
397         (WebKit::PageViewportController::didChangeContentsSize):
398         (WebKit::PageViewportController::didChangeViewportAttributes):
399         (WebKit::PageViewportController::resumeContent):
400         (WebKit::PageViewportController::updateMinimumScaleToFit):
401         * UIProcess/PageViewportController.h:
402         (PageViewportController):
403         (WebKit::PageViewportController::minimumContentsScale):
404         (WebKit::PageViewportController::maximumContentsScale):
405         (WebKit::PageViewportController::currentContentsScale):
406         (WebKit::PageViewportController::fromViewportScale):
407         (WebKit::PageViewportController::toViewportScale):
408         * UIProcess/qt/PageViewportControllerClientQt.cpp:
409         (WebKit::PageViewportControllerClientQt::focusEditableArea):
410         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
411         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
412         (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
413         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
414
415 2012-09-25  Simon Pena  <spena@igalia.com>
416
417         [GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test
418         https://bugs.webkit.org/show_bug.cgi?id=97564
419
420         Reviewed by Martin Robinson.
421
422         In the WebViewTest::moveMouseTo method, the wrong field in
423         a union was being accessed in a GdkEvent: instead of the button
424         field, we were supposed to act on the motion one. This patch
425         fixes the typo.
426
427         * UIProcess/API/gtk/tests/WebViewTest.cpp:
428         (WebViewTest::mouseMoveTo):
429
430 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
431
432         [GTK] Don't use the C API internally in WebKitFindController
433         https://bugs.webkit.org/show_bug.cgi?id=96775
434
435         Reviewed by Gustavo Noronha Silva.
436
437         Using the C++ classes directly instead of the C API wrappers we
438         avoid a lot of toImpl/toAPI casts, string conversions and
439         allocations. The code is also a lot simpler and easier to read.
440
441         * UIProcess/API/gtk/WebKitFindController.cpp:
442         (getPage):
443         (webkitFindControllerConstructed):
444         (webKitFindControllerPerform):
445         (webkit_find_controller_search_next):
446         (webkit_find_controller_search_previous):
447         (webkit_find_controller_search_finish):
448
449 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
450
451         [Qt] Apply the devicePixelRatio as soon as possible
452         https://bugs.webkit.org/show_bug.cgi?id=97211
453
454         Reviewed by Kenneth Rohde Christiansen.
455
456         Having to wait for the contents size to apply the devicePixelRatio can
457         be problematic since the devicePixelRatio affects the layout width, which
458         then affects the contents size.
459
460         Fix the initial issue that this was working around by preventing the
461         early return if useFixedLayout() is true.
462
463         * UIProcess/API/qt/qquickwebview.cpp:
464         (QQuickWebViewPrivate::QQuickWebViewPrivate):
465         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
466         (QQuickWebViewExperimental::devicePixelRatio):
467         (QQuickWebViewExperimental::setDevicePixelRatio):
468         * UIProcess/API/qt/qquickwebview_p_p.h:
469         (QQuickWebViewPrivate::didChangeContentsSize):
470         (QQuickWebViewPrivate):
471         * UIProcess/DrawingAreaProxyImpl.cpp:
472         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
473
474 2012-09-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
475
476         [Qt] Don't render at scale 1.0 when doing a pinch-zoom out
477         https://bugs.webkit.org/show_bug.cgi?id=97212
478
479         Reviewed by Kenneth Rohde Christiansen.
480
481         When the user starts pinching this creates extra rendering that is bound to the
482         page size and can be considerably big, reducing performance and peaking the tile
483         memory usage.
484
485         Fixing this might require a different approach that we could experiment with.
486
487         * UIProcess/qt/PageViewportControllerClientQt.cpp:
488         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
489         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
490
491 2012-09-25  Michael Brüning  <michael.bruning@digia.com>
492
493         [Qt][WK2] Focus out is not handled properly
494         https://bugs.webkit.org/show_bug.cgi?id=96997
495
496         Reviewed by Simon Hausmann.
497
498         Adds a handler for QQuickWebView::itemChange event that is sent to
499         QQuickItems when their focus has been changed to replace focusOutEvent.
500
501         This fixes the problem because the focus has been updated when
502         itemChange is called, while it is not yet update when focusOutEvent
503         is called.
504
505         * UIProcess/API/qt/qquickwebview.cpp: Removed focusOutEvent.
506         (QQuickWebView::itemChange): Added in place of focusOutEvent.
507         * UIProcess/API/qt/qquickwebview_p.h:
508         * UIProcess/qt/QtWebPageEventHandler.cpp:
509         (WebKit::QtWebPageEventHandler::handleFocusLost): Renamed from handleFocusOutEvent, parameter removed.
510         * UIProcess/qt/QtWebPageEventHandler.h:
511         (QtWebPageEventHandler):
512
513 2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
514
515         [WK2] Supported media MIME types are not included to the list of shown MIME types.
516         https://bugs.webkit.org/show_bug.cgi?id=97552
517
518         Reviewed by Kenneth Rohde Christiansen.
519
520         Added supported media MIME types to the list of shown MIME types in order to fix
521         media tests regression after r129479.
522
523         * UIProcess/WebPageProxy.cpp:
524         (WebKit::WebPageProxy::canShowMIMEType):
525         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
526         (WKBundlePageCanShowMIMEType):
527
528 2012-09-25  KwangYong Choi  <ky0.choi@samsung.com>
529
530         [EFL][WK2] Added hideColorPicker test case
531         https://bugs.webkit.org/show_bug.cgi?id=97522
532
533         Reviewed by Kenneth Rohde Christiansen.
534
535         Added a test case for removing input element during color picker is shown.
536
537         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
538         (setColorPickerColor):
539         (showColorPicker):
540         (hideColorPicker):
541         (TEST_F):
542
543 2012-09-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
544
545         [WK2][WTR] WTR bundle client loads binary data as text
546         https://bugs.webkit.org/show_bug.cgi?id=97532
547
548         Reviewed by Kenneth Rohde Christiansen.
549
550         Added WKBundlePageCanShowMIMEType() function to WKBundlePage private API.
551         This function is put to WKBundlePage to keep consistency with WebKit::WebPageProxy::canShowMIMEType().
552         Actually it does not need anything from page.
553
554         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
555         (WKBundlePageCanShowMIMEType):
556         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
557
558 2012-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
559
560         [GTK] Don't use the C API internally in WebKitWebView
561         https://bugs.webkit.org/show_bug.cgi?id=96767
562
563         Reviewed by Gustavo Noronha Silva.
564
565         Using the C++ classes directly instead of the C API wrappers we
566         avoid a lot of toImpl/toAPI casts, string conversions and
567         allocations. The code is also a lot simpler and easier to read.
568
569         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
570         (getContextMenuFromProposedMenu):
571         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
572         (didInitiateLoadForResource):
573         * UIProcess/API/gtk/WebKitUIClient.cpp:
574         (createNewPage):
575         (runJavaScriptPrompt):
576         (mouseDidMoveOverElement):
577         (printFrame):
578         * UIProcess/API/gtk/WebKitURIRequest.cpp:
579         (webkitURIRequestCreateForResourceRequest):
580         (webkitURIRequestGetResourceRequest):
581         * UIProcess/API/gtk/WebKitURIRequestPrivate.h:
582         * UIProcess/API/gtk/WebKitWebView.cpp:
583         (allowModalDialogsChanged):
584         (zoomTextOnlyChanged):
585         (webkitWebViewSetSettings):
586         (webkitWebViewConstructed):
587         (webkitWebViewUpdateURI):
588         (webkitWebViewCreateNewPage):
589         (webkitWebViewRunJavaScriptPrompt):
590         (webkitWebViewMouseTargetChanged):
591         (webkitWebViewPrintFrame):
592         (webkitWebViewResourceLoadStarted):
593         (webkitWebViewPopulateContextMenu):
594         (webkit_web_view_load_uri):
595         (webkit_web_view_load_html):
596         (webkit_web_view_load_alternate_html):
597         (webkit_web_view_load_plain_text):
598         (webkit_web_view_load_request):
599         (webkit_web_view_reload):
600         (webkit_web_view_reload_bypass_cache):
601         (webkit_web_view_stop_loading):
602         (webkit_web_view_go_back):
603         (webkit_web_view_can_go_back):
604         (webkit_web_view_go_forward):
605         (webkit_web_view_can_go_forward):
606         (webkit_web_view_get_custom_charset):
607         (webkit_web_view_set_custom_charset):
608         (webkit_web_view_go_to_back_forward_list_item):
609         (webkit_web_view_set_settings):
610         (webkit_web_view_set_zoom_level):
611         (webkit_web_view_get_zoom_level):
612         (webkit_web_view_can_execute_editing_command):
613         (webkit_web_view_execute_editing_command):
614         (webkit_web_view_run_javascript):
615         (webkit_web_view_get_inspector):
616         (webkit_web_view_can_show_mime_type):
617         (ViewSaveAsyncData):
618         (getContentsAsMHTMLDataCallback):
619         (webkit_web_view_save):
620         (webkit_web_view_save_finish):
621         (webkit_web_view_save_to_file):
622         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
623         (webkitWebViewBaseCreate):
624         (webkitWebViewBaseCreateWebPage):
625         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
626         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
627
628 2012-09-24  Bo Liu  <boliu@chromium.org>
629
630         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
631         https://bugs.webkit.org/show_bug.cgi?id=97055
632
633         Reviewed by Adam Barth.
634
635         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
636         performance regression in Chromium.
637
638         New changes in addition to previously reverted patches:
639
640         Refactored CachedResource::requestResource, loadResource, and
641         revalidateResource. Moved CachedResource::load method to end of
642         requestResource so there is one place where load is called for all
643         resources.
644
645         Added a enum parameter for requestResource and
646         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
647         do not need to be called multiple times.
648
649         Removed CachedImage::load call in requestImage so it is not called
650         twice.
651
652         Removed unnecessary Frame.h includes in CachedResource and
653         CachedImage.
654
655         Removed dead load() method declaration in CachedImage.
656
657         Updated text expectation for two image-permissions tests to reflect
658         the removed calls to allowImage.
659
660         * win/WebKit2.def:
661
662 2012-09-24  Sam Weinig  <sam@webkit.org>
663
664         WKProcessGroup can't load injected bundle with file URL
665         <rdar://problem/12322774>
666         https://bugs.webkit.org/show_bug.cgi?id=97520
667
668         Reviewed by Anders Carlsson.
669
670         * UIProcess/API/mac/WKProcessGroup.mm:
671         (-[WKProcessGroup initWithInjectedBundleURL:]):
672         Fix typo. We need to pass the string as path, not as a URL.
673
674 2012-09-24  Sam Weinig  <sam@webkit.org>
675
676         Use NSUserDefaults rather than an environment variable to control whether to use an XPC Service for the WebProcess
677         https://bugs.webkit.org/show_bug.cgi?id=97514
678
679         Reviewed by Anders Carlsson.
680
681         * GNUmakefile.list.am:
682         * PlatformEfl.cmake:
683         * Target.pri:
684         Add new files.
685
686         * UIProcess/Launcher/ProcessLauncher.h:
687         * UIProcess/WebProcessProxy.cpp:
688         (WebKit::WebProcessProxy::connect):
689         Move platform specific launch options to a new function, platformConnect.
690
691         * UIProcess/WebProcessProxy.h:
692         * UIProcess/efl/WebProcessProxyEfl.cpp: Added.
693         Move Efl specific launch options here.
694  
695         (WebKit::WebProcessProxy::platformConnect):
696         * UIProcess/gtk/WebProcessProxyGtk.cpp: Added.
697         Add stub.
698
699         (WebKit::WebProcessProxy::platformConnect):
700         * UIProcess/mac/WebProcessProxyMac.mm:
701         (WebKit::WebProcessProxy::platformConnect):
702         Move Mac specific launch option setting here, and switch from
703         using an environment variable to NSUserDefaults.
704
705         * UIProcess/qt/WebProcessProxyQt.cpp: Added.
706         (WebKit::WebProcessProxy::platformConnect):
707         Add stub.
708
709         * UIProcess/win/WebProcessProxyWin.cpp:
710         (WebKit::WebProcessProxy::platformConnect):
711         Add stub.
712
713 2012-09-24  Laszlo Gombos  <l.gombos@samsung.com>
714
715         [GTK][EFL] Remove cairo prefix from include statements
716         https://bugs.webkit.org/show_bug.cgi?id=97509
717
718         Reviewed by Gyuyoung Kim.
719
720         Make the build system consistent by always assuming that directory 
721         that includes the cairo headers is included in the include path.
722
723         * UIProcess/cairo/BackingStoreCairo.cpp:
724         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
725
726 2012-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
727
728         Unreviewed, rolling out r129388.
729         http://trac.webkit.org/changeset/129388
730         https://bugs.webkit.org/show_bug.cgi?id=97477
731
732         Caused an assertion in a WebKit2 unit test (Requested by
733         abarth on #webkit).
734
735         * win/WebKit2.def:
736
737 2012-09-24  Simon Pena  <spena@igalia.com>
738
739         [GTK] Add Select All method to WebKit2 GTK+ API
740         https://bugs.webkit.org/show_bug.cgi?id=97460
741
742         Reviewed by Martin Robinson.
743
744         Following the same approach used when added Cut, Copy and Paste,
745         the Select All method is added to the WebKit2 GTK+ API.
746
747         This introduces a new macro in the WebKitEditingCommands,
748         updates the documentation, and includes a new unit test.
749
750         * UIProcess/API/gtk/WebKitEditingCommands.h: Add a new macro for
751         the Select All command.
752         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the Select All
753         command in the documentation.
754         * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Cover the new command
755         with a unit test.
756         (testWebViewEditorSelectAll):
757         (beforeAll):
758
759 2012-09-24  Bo Liu  <boliu@chromium.org>
760
761         Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations
762         https://bugs.webkit.org/show_bug.cgi?id=97055
763
764         Reviewed by Adam Barth.
765
766         Relanding 128780, 128676, 128645. Was reverted in 128914 due to
767         performance regression in Chromium.
768
769         New changes in addition to previously reverted patches:
770
771         Refactored CachedResource::requestResource, loadResource, and
772         revalidateResource. Moved CachedResource::load method to end of
773         requestResource so there is one place where load is called for all
774         resources.
775
776         Added a enum parameter for requestResource and
777         determineRevalidationPolicy so that FrameLoaderClient::allowImage call
778         do not need to be called multiple times.
779
780         Removed CachedImage::load call in requestImage so it is not called
781         twice.
782
783         Removed unnecessary Frame.h includes in CachedResource and
784         CachedImage.
785
786         Removed dead load() method declaration in CachedImage.
787
788         Updated text expectation for two image-permissions tests to reflect
789         the removed calls to allowImage.
790
791         * win/WebKit2.def:
792
793 2012-09-24  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
794
795         [GTK] Implement GraphicsLayer using Clutter
796         https://bugs.webkit.org/show_bug.cgi?id=73767
797
798         Reviewed by Martin Robinson.
799
800         Fixed link errors by adding Clutter library and header to WebKit2 build.
801
802         * GNUmakefile.am:
803
804 2012-09-24  Carlos Garcia Campos  <cgarcia@igalia.com>
805
806         [GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action
807         https://bugs.webkit.org/show_bug.cgi?id=97458
808
809         Reviewed by Xan Lopez.
810
811         WebKitWebView:is-loading is set to TRUE when the load is started
812         by using the API. We want to make sure that both URI and
813         is-loading are updated before load-started is emitted, so we can
814         update both right before emitting load-started.
815
816         * UIProcess/API/gtk/WebKitWebView.cpp:
817         (webkitWebViewEmitLoadChanged): Update both uri and is-loading
818         properties before emitting load-changed signal with
819         WEBKIT_LOAD_STARTED.
820         (webkit_web_view_load_uri): Don't call
821         webkitWebViewSetIsLoading().
822         (webkit_web_view_load_html): Ditto.
823         (webkit_web_view_load_alternate_html): Ditto.
824         (webkit_web_view_load_plain_text): Ditto.
825         (webkit_web_view_load_request): Ditto.
826         (webkit_web_view_reload): Ditto.
827         (webkit_web_view_reload_bypass_cache): Ditto.
828         (webkit_web_view_go_back): Ditto.
829         (webkit_web_view_go_forward): Ditto.
830         (webkit_web_view_go_to_back_forward_list_item): Ditto.
831
832 2012-09-24  Byungwoo Lee  <bw80.lee@samsung.com>
833
834         [EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
835         https://bugs.webkit.org/show_bug.cgi?id=97302
836
837         Reviewed by Gyuyoung Kim.
838
839         libewk2UnitTestInjectedBundleSample.so file is created under the
840         Source directory.
841         Change install directory for the library to under the build directory.
842
843         * PlatformEfl.cmake:
844         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
845         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
846
847 2012-09-24  Vivek Galatage  <vivekgalatage@gmail.com>
848
849         Web Inspector: implement testing harness for pure protocol tests.
850         https://bugs.webkit.org/show_bug.cgi?id=90675
851
852         Reviewed by Yury Semikhatsky.
853
854         Adding the export symbol definitions required on Apple Windows and WinCairo
855         ports to support Inspector Protocol testing harness.
856
857         * win/WebKit2.def:
858         * win/WebKit2CFLite.def:
859
860 2012-09-24  KwangYong Choi  <ky0.choi@samsung.com>
861
862         [EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view.
863         https://bugs.webkit.org/show_bug.cgi?id=97430
864
865         Reviewed by Kenneth Rohde Christiansen.
866
867         The tests of ewk_view_context_get and ewk_view_feed_touch_event are not related to
868         INPUT_TYPE_COLOR. These tests should be moved to outside of INPUT_TYPE_COLOR block.
869
870         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
871         (TEST_F):
872
873 2012-09-23  Seokju Kwon  <seokju.kwon@samsung.com>
874
875         [EFL][WK2] Add setting to toggle developer extensions
876         https://bugs.webkit.org/show_bug.cgi?id=96974
877
878         Reviewed by Kenneth Rohde Christiansen.
879
880         This is required to allow the user to inspect pages. (Web inspector)
881
882         * UIProcess/API/efl/ewk_settings.cpp:
883         (ewk_settings_developer_extras_enabled_set):
884         (ewk_settings_developer_extras_enabled_get):
885         * UIProcess/API/efl/ewk_settings.h:
886         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
887         (TEST_F):
888
889 2012-09-23  Byungwoo Lee  <bw80.lee@gmail.com>
890
891         Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
892         https://bugs.webkit.org/show_bug.cgi?id=97306
893
894         Reviewed by Benjamin Poulain.
895
896         Fix build warning about -Wunused-parameter on Connection.cpp,
897         WKEinaSharedString.cpp, ewk_view_loader_client.cpp, WebPage.cpp by
898         using ASSERT_UNUSED() macro or removing parameter name.
899         Fix build warning about -Wuninitialized on WebEventFactory.cpp by
900         continueing the loop at the default switch case not to use the
901         uninitialized variable.
902
903         * Platform/CoreIPC/Connection.cpp:
904         (CoreIPC::Connection::waitForSyncReply):
905         * Shared/efl/WebEventFactory.cpp:
906         (WebKit::WebEventFactory::createWebTouchEvent):
907         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
908         (WKEinaSharedString::WKEinaSharedString):
909         * UIProcess/API/efl/ewk_view_loader_client.cpp:
910         (didSameDocumentNavigationForFrame):
911         * WebProcess/WebPage/WebPage.cpp:
912         (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
913
914 2012-09-22  Sam Weinig  <sam@webkit.org>
915
916         Install WebProcess XPC services into the right places
917         https://bugs.webkit.org/show_bug.cgi?id=97385
918
919         Reviewed by Anders Carlsson.
920
921         * Configurations/WebProcessService.xcconfig:
922         Update INSTALL_PATH to go into WebKit2.framework/Versions/A/XPCServices.
923
924         * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig:
925         Since this config file is almost identical to WebProcessService.xcconfig,
926         just #include it and change the one thing that is different, the INFOPLIST_FILE
927         
928         * WebKit2.xcodeproj/project.pbxproj:
929         Follow XPC procedure and copy the services into the right place, WebKit2.framework/Versions/A/XPCServices
930         in all builds except production builds where it is not necessary. Also add a symlink like everyone else
931         does.
932
933 2012-09-22  Sam Weinig  <sam@webkit.org>
934
935         Allow setting a custom path to where the plug-in sandbox profiles are being kept
936         https://bugs.webkit.org/show_bug.cgi?id=97399
937
938         Reviewed by Anders Carlsson.
939
940         Add a new default to allow controlling where to look for plug-in sandbox profiles
941         called "PlugInSandboxProfileDirectoryPath".
942
943         * PluginProcess/mac/PluginProcessMac.mm:
944         (WebKit::initializeSandbox):
945         Use the passed in sandboxProfileDirectoryPath instead of hard coding /usr/share/sandbox/.
946
947         (WebKit::PluginProcess::platformInitialize):
948         * Shared/Plugins/PluginProcessCreationParameters.cpp:
949         (WebKit::PluginProcessCreationParameters::encode):
950         (WebKit::PluginProcessCreationParameters::decode):
951         * Shared/Plugins/PluginProcessCreationParameters.h:
952         (PluginProcessCreationParameters):
953         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
954         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
955         Grab the sandboxProfileDirectoryPath from standardUserDefaults and pass it to
956         the plug-in.
957
958 2012-09-21  Sam Weinig  <sam@webkit.org>
959
960         Fix the Lion and Snow Leopard builds.
961
962         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
963         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
964         (WebKit::createWebProcessServiceForWebKitDevelopment):
965         (WebKit::createWebProcessService):
966
967 2012-09-21  Sam Weinig  <sam@webkit.org>
968
969         WebProcess XPC services need have their environment set without disrupting all other XPC services
970         https://bugs.webkit.org/show_bug.cgi?id=95161
971
972         Reviewed by Anders Carlsson.
973
974         Replace the WebKit2Service with two new XPC services, the WebProcessService, which is only used
975         when installed on the system, and the WebProcessServiceForWebKitDevelopment which is used at all
976         other times. We need both services because XPC can't in general be configured to have a custom
977         environment at runtime, and thus WebProcessServiceForWebKitDevelopment has the ability to re-exec
978         itself into a desired state. That capability is rather undesirable for installed usage, where we
979         don't want to allow arbitrary changes to the environment of the service, which would allow breaking
980         the App Sandbox.
981
982         * Configurations/WebProcessService.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
983         * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Renamed from Source/WebKit2/Configurations/WebKit2Service.xcconfig.
984         Add new configuration files.
985
986         * Platform/mac/WorkQueueMac.cpp:
987         (WorkQueue::registerMachPortEventHandler):
988         (WorkQueue::unregisterMachPortEventHandler):
989         Add helpful assertions. Without them, we confusingly crash a bit later in HashTable code.
990
991         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
992         (WebKit::addDYLDEnvironmentAdditions):
993         Factor out environment additions to this helper function.
994
995         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
996         (WebKit::createWebProcessServiceForWebKitDevelopment):
997         Add functionality to setup the webkit development service via re-exec.
998
999         (WebKit::createWebProcessService):
1000         Add functionality to connect to the installed WebProcess service.
1001         
1002         (WebKit::createProcess):
1003         Factor out posix_spawn based launching into this helper function.
1004
1005         (WebKit::ProcessLauncher::launchProcess):
1006         Call the correct process creation function based on launch data and install state.
1007
1008         * WebKit2.xcodeproj/project.pbxproj:
1009         Add new files to the project.
1010
1011         * WebProcess/mac/WebProcessServiceEntryPoints.h: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h.
1012         * WebProcess/mac/WebProcessServiceEntryPoints.mm: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm.
1013         (WebKit::WebProcessServiceEventHandler):
1014         (WebProcessServiceMain):
1015         (InitializeWebProcessForWebProcessServiceForWebKitDevelopment):
1016         Rename to WebProcessServiceEntryPoints since this is now used for both the WebProcessService and the 
1017         WebProcessServiceForWebKitDevelopment.
1018     
1019         * WebProcessService/Info.plist: Copied from Source/WebKit2/WebKit2Service/Info.plist.
1020         * WebProcessService/WebProcessServiceMain.mm: Renamed from Source/WebKit2/WebKit2Service/MainMacService.mm.
1021         Add main for the WebProcessService which just calls into the WebProcessServiceEntryPoints in WebKit2.framework.
1022
1023         * WebProcessServiceForWebKitDevelopment/Info.plist: Renamed from Source/WebKit2/WebKit2Service/Info.plist.
1024         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Added.
1025         Add main for the WebProcessServiceForWebKitDevelopment, which can't just call directly into WebProcessServiceEntryPoints
1026         as the framework path might not be set up correctly. This is also where we re-exec ourselves when required.
1027
1028 2012-09-21  Anders Carlsson  <andersca@apple.com>
1029
1030         Fix WebKit2 sandbox profile.
1031
1032         Instead of using #pragmas, just disable all warnings in DerivedSources.make. I suspect
1033         that passing -traditional to the preprocessor disables support for #pragmas but I'm afraid
1034         to change it to something else.
1035
1036         * DerivedSources.make:
1037         * WebProcess/com.apple.WebProcess.sb.in:
1038
1039 2012-09-21  Benjamin Poulain  <bpoulain@apple.com>
1040
1041         fast/dom/Geolocation/disconnected-frame.html test asserts
1042         https://bugs.webkit.org/show_bug.cgi?id=97376
1043
1044         Reviewed by Alexey Proskuryakov.
1045
1046         In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator
1047         after its value has been removed from the table.
1048         There are two problems with that:
1049         -The iterator is no longer valid after the container has been modified.
1050         -If it was the last element, the table has been freed and the iterator points to deleted memory.
1051
1052         We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls
1053         but that would make the issue less visible for future change.
1054
1055         Testing covered by fast/dom/Geolocation/disconnected-frame.html.
1056
1057         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1058         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
1059
1060 2012-09-21  Sam Weinig  <sam@webkit.org>
1061
1062         REGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in
1063         https://bugs.webkit.org/show_bug.cgi?id=91079
1064         <rdar://problem/12332660>
1065
1066         Reviewed by Anders Carlsson.
1067
1068         * WebProcess/com.apple.WebProcess.sb.in:
1069         Add pragma to ignore the invalid preprocessor warnings.
1070
1071 2012-09-21  Chris Rogers  <crogers@google.com>
1072
1073         Add Web Audio support for deprecated/legacy APIs
1074         https://bugs.webkit.org/show_bug.cgi?id=97050
1075
1076         Reviewed by Eric Carlson.
1077
1078         * Configurations/FeatureDefines.xcconfig:
1079
1080 2012-09-21  Benjamin Poulain  <bpoulain@apple.com>
1081
1082         [WK2] Add basic testing support for Geolocation
1083         https://bugs.webkit.org/show_bug.cgi?id=97278
1084
1085         Reviewed by Kenneth Rohde Christiansen.
1086
1087         * Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :)
1088
1089         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1090         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1091         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1092         * WebProcess/InjectedBundle/InjectedBundle.h:
1093         (InjectedBundle):
1094         Remove the code forcing the Geolocation permissions. It was working around the normal
1095         Geolocation code and updating all the GeolocationController, which is a terrible idea.
1096
1097 2012-09-21  Alexey Proskuryakov  <ap@apple.com>
1098
1099         [WK2] Make Web Inspector work in multiple web process mode
1100         https://bugs.webkit.org/show_bug.cgi?id=97354
1101
1102         Reviewed by Timothy Hatcher.
1103
1104         * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1105         Tell WKView that it's related to original page, making inspector page be in the same process.
1106
1107 2012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1108
1109         [GTK] Implement ViewState methods in PageClientImpl in WebKit2
1110         https://bugs.webkit.org/show_bug.cgi?id=97202
1111
1112         Reviewed by Martin Robinson.
1113
1114         Implement isViewWindowActive(), isViewFocused(), isViewVisible()
1115         and isViewInWindow() in PageClientImpl.
1116
1117         * GNUmakefile.list.am: Add new files to compilation.
1118         * UIProcess/API/C/gtk/WKView.cpp:
1119         (WKViewSetFocus): New private method used by WTR to focus the
1120         WebView.
1121         * UIProcess/API/C/gtk/WKViewPrivate.h: Added.
1122         * UIProcess/API/gtk/PageClientImpl.cpp:
1123         (WebKit::PageClientImpl::isViewWindowActive): Return
1124         webkitWebViewBaseIsInWindowActive().
1125         (WebKit::PageClientImpl::isViewFocused): Return
1126         webkitWebViewBaseIsFocused().
1127         (WebKit::PageClientImpl::isViewVisible): Return
1128         webkitWebViewBaseIsVisible().
1129         (WebKit::PageClientImpl::isViewInWindow): Return
1130         webkitWebViewBaseIsInWindow().
1131         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1132         (webkitWebViewBaseNotifyResizerSize): Updated to not receive the
1133         window as parameter since it's now saved in the instance struct.
1134         (toplevelWindowResizeGripVisibilityChanged): Update to
1135         webkitWebViewBaseNotifyResizerSize() API change.
1136         (toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and
1137         notify the WebPageProxy if it changed.
1138         (toplevelWindowFocusOutEvent): Ditto.
1139         (webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel
1140         on-screen window where the view is currently added and notify
1141         WebPageProxy if it changed.
1142         (webkitWebViewBaseRealize): Call
1143         webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been
1144         added to an on-screen window.
1145         (webkitWebViewBaseFinalize): Reset the toplevel on-screen window
1146         to make sure all signals are disconnected when the view is
1147         destroyed.
1148         (webkit_web_view_base_init): Remove unneeded initialization.
1149         (resizeWebKitWebViewBaseFromAllocation): Update to
1150         webkitWebViewBaseNotifyResizerSize() API change.
1151         (webkitWebViewBaseMap): Update ViewIsVisible flag and notify
1152         WebPageProxy if it changed.
1153         (webkitWebViewBaseUnmap): Ditto.
1154         (webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus()
1155         passing true to focus the view.
1156         (webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus()
1157         passing false to unfocus the view.
1158         (webkitWebViewBaseParentSet): Reset the toplevel on-screen window
1159         if the view is re-parented.
1160         (webkit_web_view_base_class_init): Add implementations for map and
1161         parent-set virtual functions.
1162         (webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify
1163         WebPageProxy if it changed.
1164         (webkitWebViewBaseIsInWindowActive):
1165         (webkitWebViewBaseIsFocused):
1166         (webkitWebViewBaseIsVisible):
1167         (webkitWebViewBaseIsInWindow):
1168         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1169         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1170         (testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of
1171         POPUP for this test to make sure the view receives focus change
1172         events.
1173
1174 2012-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1175
1176         [GTK] Add WebKitWebView:is-loading property to WebKit2 GTK+ API
1177         https://bugs.webkit.org/show_bug.cgi?id=97330
1178
1179         Reviewed by Xan Lopez.
1180
1181         WebKitWebView:is-loading property allows to monitor when the view
1182         is loading something without having to deal with load-changed
1183         signal and all the details of the load status. This also allows to
1184         know when a new load is started before it goes to STARTED status.
1185
1186         * UIProcess/API/gtk/WebKitWebView.cpp:
1187         (webkitWebViewGetProperty): Implement getter for is-loading
1188         property.
1189         (webkit_web_view_class_init): Add is-loading property.
1190         (webkitWebViewSetIsLoading): Set whether web view is loading a
1191         page and emit notify signal if the is-loading property has
1192         changed. Also update the active URI when a new load operation has
1193         started.
1194         (webkitWebViewEmitLoadChanged): Set is-loading to FALSE when load
1195         finishes.
1196         (webkitWebViewLoadFailed): Set is-loading to FALSE when load fails.
1197         (webkit_web_view_load_uri): Set is-loading to TRUE.
1198         (webkit_web_view_load_html): Ditto.
1199         (webkit_web_view_load_alternate_html): Ditto.
1200         (webkit_web_view_load_plain_text): Ditto.
1201         (webkit_web_view_load_request): Ditto.
1202         (webkit_web_view_reload): Ditto.
1203         (webkit_web_view_reload_bypass_cache): Ditto.
1204         (webkit_web_view_is_loading): Return whether the view is loading a
1205         page.
1206         (webkit_web_view_go_back): Set is-loading to TRUE.
1207         (webkit_web_view_go_forward): Ditto.
1208         (webkit_web_view_go_to_back_forward_list_item): Ditto.
1209         * UIProcess/API/gtk/WebKitWebView.h:
1210         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
1211         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
1212         (loadChangedCallback):
1213         (loadFailedCallback):
1214         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
1215         (testWebViewIsLoading):
1216         (beforeAll):
1217
1218 2012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
1219
1220         [EFL][WK2] Add API to feed touch event.
1221         https://bugs.webkit.org/show_bug.cgi?id=96903
1222
1223         Reviewed by Kenneth Rohde Christiansen.
1224
1225         The applications will use this API to feed touch event to the view
1226         when they want to generate touch event from their own event processor.
1227         WTR also will use this API to generate touch event with multiple touch
1228         points for passing test cases of touch event in the WebKit2/EFL.
1229
1230         * PlatformEfl.cmake:
1231         * UIProcess/API/efl/EWebKit2.h:
1232         * UIProcess/API/efl/ewk_view.cpp:
1233         (ewk_view_feed_touch_event):
1234         * UIProcess/API/efl/ewk_view.h:
1235         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1236         (TEST_F):
1237
1238 2012-09-20  Patrick Gansterer  <paroga@webkit.org>
1239
1240         Add String::numberToStringFixedWidth()
1241         https://bugs.webkit.org/show_bug.cgi?id=96330
1242
1243         Reviewed by Benjamin Poulain.
1244
1245         * win/WebKit2.def:
1246         * win/WebKit2CFLite.def:
1247
1248 2012-09-17  Jon Lee  <jonlee@apple.com>
1249
1250         Safari 6 notifications' onclick handlers can't call window.open()
1251         https://bugs.webkit.org/show_bug.cgi?id=96959
1252         <rdar://problem/12132427>
1253
1254         Reviewed by Darin Adler.
1255
1256         The click is not being treated as a user gesture when the message is sent to the web process.
1257
1258         * WebProcess/Notifications/WebNotificationManager.cpp:
1259         (WebKit::WebNotificationManager::didClickNotification): Gets called when the user clicks on the
1260         platform notification. Set UserGestureIndicator to show the click event is due to user gesture.
1261
1262 2012-09-20  Eunmi Lee  <eunmi15.lee@samsung.com>
1263
1264         [EFL][WK2] Add APIs to create, delete and get ewk_context.
1265         https://bugs.webkit.org/show_bug.cgi?id=89186
1266
1267         Reviewed by Kenneth Rohde Christiansen.
1268
1269         Provide APIs to create ewk_context with or without injected bundle path
1270         and delete created ewk_context.
1271         Additionally, the ewk_view can be created with ewk_context which is not
1272         default context, so we have to get ewk_context from ewk_view.
1273
1274         * PlatformEfl.cmake:
1275         * UIProcess/API/efl/PageClientImpl.cpp:
1276         (WebKit::PageClientImpl::handleDownloadRequest):
1277         * UIProcess/API/efl/ewk_context.cpp:
1278         (_Ewk_Context):
1279         (_Ewk_Context::_Ewk_Context):
1280         (ewk_context_ref):
1281         (ewk_context_unref):
1282         (ewk_context_new):
1283         (ewk_context_new_with_injected_bundle_path):
1284         * UIProcess/API/efl/ewk_context.h:
1285         * UIProcess/API/efl/ewk_view.cpp:
1286         (_Ewk_View_Private_Data):
1287         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
1288         (_ewk_view_priv_del):
1289         (_ewk_view_initialize):
1290         (ewk_view_context_get):
1291         * UIProcess/API/efl/ewk_view.h:
1292         * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Added.
1293         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
1294         (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):
1295         (EWK2UnitTest):
1296         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
1297         (EWK2UnitTestEnvironment):
1298         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1299         (TEST_F):
1300         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1301         (TEST_F):
1302         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1303         (TEST_F):
1304
1305 2012-09-20  KwangYong Choi  <ky0.choi@samsung.com>
1306
1307         [EFL][WK2] Implemented color picker API
1308         https://bugs.webkit.org/show_bug.cgi?id=91832
1309
1310         Reviewed by Kenneth Rohde Christiansen.
1311
1312         Add support for color picker API for EFL port in WebKit2.
1313
1314         The external application can implement input picker by overriding
1315         smart class function.
1316
1317         * UIProcess/API/efl/ewk_view.cpp:
1318         (_Ewk_View_Private_Data):
1319         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
1320         (ewk_view_color_picker_request):
1321         (ewk_view_color_picker_dismiss):
1322         (ewk_view_color_picker_color_set):
1323         * UIProcess/API/efl/ewk_view.h:
1324         * UIProcess/API/efl/ewk_view_private.h:
1325         * UIProcess/API/efl/ewk_view_ui_client.cpp:
1326         (showColorPicker):
1327         (hideColorPicker):
1328         (ewk_view_ui_client_attach):
1329         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1330         (onColorPickerDone):
1331         (setColorPickerColor):
1332         (showColorPicker):
1333         (hideColorPicker):
1334         (TEST_F):
1335
1336 2012-09-20  Balazs Kelemen  <kbalazs@webkit.org>
1337
1338         [CoordinatedGraphics] Don't reset m_shouldSyncFrame in flushPendingLayerChanges
1339         https://bugs.webkit.org/show_bug.cgi?id=97108
1340
1341         Reviewed by Noam Rosenthal.
1342
1343         Stop ignoring if m_shouldSyncFrame has been set between the two
1344         layer flush. It can be set during layout in several situations,
1345         for example when a layer is deleted or changed state. We want to
1346         send the DidRenderFrame message at the next flush in those situations
1347         so the UI process will apply the changes as soon as possible.
1348
1349         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1350         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1351
1352 2012-09-20  Byungwoo Lee  <bw80.lee@samsung.com>
1353
1354         [EFL][WK2] Check timeout on waitUntilLoadFinished() and waitUntilTitleChangedTo().
1355         https://bugs.webkit.org/show_bug.cgi?id=97081
1356
1357         Reviewed by Gyuyoung Kim.
1358
1359         Add assertion to check timeout on waitUntilLoadFinished() and
1360         waitUntilTitleChangedTo().
1361         Set the default timeout for the functions as 10 seconds.
1362
1363         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1364         (EWK2UnitTestBase):
1365         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1366         (TEST_F):
1367         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1368         (TEST_F):
1369         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1370         (TEST_F):
1371
1372 2012-09-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1373
1374         [EFL] Change the log macro names to be more consistent with EINA LOG
1375         https://bugs.webkit.org/show_bug.cgi?id=97158
1376
1377         Reviewed by Kenneth Rohde Christiansen.
1378
1379         Some log macro names in WebKit2 are inconsistent with EINA LOG names
1380         such as WRN/INF not WARN/INFO.
1381
1382           #define WRN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__)
1383           #define INF(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)
1384
1385         This patch changes the such names to be consistent with EINA LOG's names.
1386
1387         * UIProcess/API/efl/ewk_main.cpp:
1388         (ewk_init):
1389         * UIProcess/API/efl/ewk_private.h:
1390         * UIProcess/API/efl/ewk_view.cpp:
1391         (ewk_view_webprocess_crashed):
1392
1393 2012-09-20  Christophe Dumez  <christophe.dumez@intel.com>
1394
1395         [EFL][WK2] Same page navigation does not update view URI
1396         https://bugs.webkit.org/show_bug.cgi?id=97094
1397
1398         Reviewed by Kenneth Rohde Christiansen.
1399
1400         Handle didSameDocumentNavigationForFrame callback in
1401         WKPageLoaderClient in order to update the view URI.
1402         This fixes issues with the view URI not being updated
1403         in case of a same page navigation.
1404
1405         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1406         (didSameDocumentNavigationForFrame):
1407         (ewk_view_loader_client_attach):
1408         * UIProcess/API/efl/ewk_view_private.h:
1409         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1410         (CallbackDataTimer):
1411         (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
1412         (EWK2UnitTest::CallbackDataTimer::~CallbackDataTimer):
1413         (EWK2UnitTest::CallbackDataTimer::isDone):
1414         (EWK2UnitTest::CallbackDataTimer::setDone):
1415         (EWK2UnitTest::CallbackDataTimer::didTimeOut):
1416         (EWK2UnitTest::CallbackDataTimer::setTimedOut):
1417         (EWK2UnitTest):
1418         (CallbackDataExpectedValue):
1419         (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
1420         (EWK2UnitTest::CallbackDataExpectedValue::expectedValue):
1421         (EWK2UnitTest::onLoadFinished):
1422         (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
1423         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
1424         (EWK2UnitTest::onTitleChanged):
1425         (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
1426         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
1427         (EWK2UnitTest::onURIChanged):
1428         (EWK2UnitTest::timeOutWhileWaitingUntilURIChangedTo):
1429         (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo): Add convenience function to test
1430         framework in order to wait until the view URI changes to a given value.
1431         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1432         (EWK2UnitTestBase):
1433         * UIProcess/API/efl/tests/resources/same_page_navigation.html: Added.
1434         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1435         (TEST_F): Add corresponding unit test to verify fix and prevent regressions
1436         in the future.
1437
1438 2012-09-19  Dan Bernstein  <mitz@apple.com>
1439
1440         WebKit2 part of adding a setting and API for disabling screen font substitution
1441         https://bugs.webkit.org/show_bug.cgi?id=97168
1442
1443         Reviewed by Tim Horton.
1444
1445         * Shared/WebPreferencesStore.h:
1446         (WebKit): Defined ScreenFontSubstitutionEnabled key with a default value of true.
1447         * UIProcess/API/C/WKPreferences.cpp:
1448         (WKPreferencesSetScreenFontSubstitutionEnabled): Added this setter.
1449         (WKPreferencesGetScreenFontSubstitutionEnabled): Added this getter.
1450         * UIProcess/API/C/WKPreferencesPrivate.h:
1451         * WebProcess/WebPage/WebPage.cpp:
1452         (WebKit::WebPage::updatePreferences): Added a call to Settings::setScreenFontSubstitutionEnabled
1453         to push the preference into Settings.
1454
1455 2012-09-19  Jinwoo Song  <jinwoo7.song@samsung.com>
1456
1457         Fix unused parameter compile warnings in WebKit/WebKit2
1458         https://bugs.webkit.org/show_bug.cgi?id=96742
1459
1460         Reviewed by Gyuyoung Kim.
1461
1462         Fix unused parameter compile warning messages(-Wunused-parameter) in WebKit2 during EFL build.
1463         WebCore's warning messages were fixed in r128570.
1464
1465         * Shared/FontInfo.cpp:
1466         (WebKit::FontInfo::encode):
1467         (WebKit::FontInfo::decode):
1468         * Shared/PlatformPopupMenuData.cpp:
1469         (WebKit::PlatformPopupMenuData::encode):
1470         (WebKit::PlatformPopupMenuData::decode):
1471         * Shared/SandboxExtension.h:
1472         (WebKit::SandboxExtension::createHandleForTemporaryFile):
1473         * Shared/ShareableSurface.cpp:
1474         (WebKit::ShareableSurface::create):
1475         * Shared/WebMemorySampler.cpp:
1476         (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
1477         * UIProcess/API/C/WKPage.cpp:
1478         (WKPageGetContentsAsMHTMLData):
1479         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
1480         (WKPluginSiteDataManagerClearSiteData):
1481         (WKPluginSiteDataManagerClearAllSiteData):
1482         * UIProcess/API/C/WKPreferences.cpp:
1483         (WKPreferencesSetHixie76WebSocketProtocolEnabled):
1484         (WKPreferencesGetHixie76WebSocketProtocolEnabled):
1485         * UIProcess/API/efl/BatteryProvider.cpp:
1486         (startUpdatingCallback):
1487         (stopUpdatingCallback):
1488         * UIProcess/API/efl/PageClientImpl.cpp:
1489         (WebKit::PageClientImpl::doneWithTouchEvent):
1490         * UIProcess/API/efl/VibrationProvider.cpp:
1491         (vibrateCallback):
1492         (cancelVibrationCallback):
1493         * UIProcess/API/efl/ewk_context_download_client.cpp:
1494         (decideDestinationWithSuggestedFilename):
1495         (didCreateDestination):
1496         * UIProcess/API/efl/ewk_view.cpp:
1497         (_ewk_view_on_focus_in):
1498         (_ewk_view_on_focus_out):
1499         (_ewk_view_on_mouse_wheel):
1500         (_ewk_view_on_mouse_down):
1501         (_ewk_view_on_mouse_up):
1502         (_ewk_view_on_mouse_move):
1503         (_ewk_view_on_key_down):
1504         (_ewk_view_on_key_up):
1505         (_ewk_view_smart_move):
1506         (ewk_view_contents_size_changed):
1507         * UIProcess/API/efl/ewk_view_find_client.cpp:
1508         (didFindString):
1509         * UIProcess/API/efl/ewk_view_form_client.cpp:
1510         (willSubmitForm):
1511         * UIProcess/API/efl/ewk_view_loader_client.cpp:
1512         (didReceiveIntentForFrame):
1513         (registerIntentServiceForFrame):
1514         (didFinishLoadForFrame):
1515         (didFailLoadWithErrorForFrame):
1516         (didStartProvisionalLoadForFrame):
1517         (didReceiveServerRedirectForProvisionalLoadForFrame):
1518         (didFailProvisionalLoadWithErrorForFrame):
1519         (didChangeBackForwardList):
1520         * UIProcess/API/efl/ewk_view_policy_client.cpp:
1521         (decidePolicyForNavigationAction):
1522         (decidePolicyForNewWindowAction):
1523         (decidePolicyForResponseCallback):
1524         * UIProcess/DrawingAreaProxy.h:
1525         (WebKit::DrawingAreaProxy::update):
1526         (WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
1527         * UIProcess/DrawingAreaProxyImpl.cpp:
1528         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
1529         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1530         (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
1531         * UIProcess/FindIndicator.cpp:
1532         (WebKit::FindIndicator::draw):
1533         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1534         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
1535         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
1536         (WebKit::PluginInfoStore::shouldUsePlugin):
1537         * UIProcess/WebContext.cpp:
1538         (WebKit::WebContext::setHTTPPipeliningEnabled):
1539         * UIProcess/WebFullScreenManagerProxy.cpp:
1540         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
1541         * UIProcess/WebPageProxy.cpp:
1542         (WebKit::WebPageProxy::sessionStateData):
1543         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
1544         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1545         * UIProcess/WebProcessProxy.cpp:
1546         (WebKit::WebProcessProxy::createWebPage):
1547         * UIProcess/efl/TextCheckerEfl.cpp:
1548         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
1549         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
1550         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
1551         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
1552         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
1553         * UIProcess/efl/WebPageProxyEfl.cpp:
1554         (WebKit::WebPageProxy::standardUserAgent):
1555         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
1556         * WebProcess/Downloads/soup/DownloadSoup.cpp:
1557         (WebKit::Download::start):
1558         (WebKit::Download::startWithHandle):
1559         (WebKit::Download::didDecideDestination):
1560         (WebKit::Download::receivedCredential):
1561         (WebKit::Download::receivedRequestToContinueWithoutCredential):
1562         (WebKit::Download::receivedCancellation):
1563         * WebProcess/Geolocation/WebGeolocationManager.cpp:
1564         (WebKit::WebGeolocationManager::didChangePosition):
1565         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
1566         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
1567         (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL):
1568         (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL):
1569         (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL):
1570         (WebKit::WebIconDatabaseProxy::iconDataForIconURL):
1571         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1572         (WKBundleFrameCopyWebArchiveFilteringSubframes):
1573         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1574         (WKAccessibilityRootObject):
1575         (WKAccessibilityFocusedObject):
1576         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1577         (WebKit::InjectedBundle::setGeoLocationPermission):
1578         (WebKit::InjectedBundle::didReceiveMessage):
1579         (WebKit::InjectedBundle::webNotificationID):
1580         * WebProcess/Notifications/WebNotificationManager.cpp:
1581         (WebKit::WebNotificationManager::initialize):
1582         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
1583         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
1584         (WebKit::WebNotificationManager::policyForOrigin):
1585         (WebKit::WebNotificationManager::notificationIDForTesting):
1586         (WebKit::WebNotificationManager::show):
1587         (WebKit::WebNotificationManager::cancel):
1588         (WebKit::WebNotificationManager::clearNotifications):
1589         (WebKit::WebNotificationManager::didDestroyNotification):
1590         (WebKit::WebNotificationManager::didShowNotification):
1591         (WebKit::WebNotificationManager::didClickNotification):
1592         (WebKit::WebNotificationManager::didCloseNotifications):
1593         * WebProcess/Plugins/PluginView.cpp:
1594         (WebKit::PluginView::paint):
1595         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1596         (WebKit::WebChromeClient::addMessageToConsole):
1597         (WebKit::WebChromeClient::contentsSizeChanged):
1598         (WebKit::WebChromeClient::customHighlightRect):
1599         (WebKit::WebChromeClient::paintCustomHighlight):
1600         (WebKit::WebChromeClient::supportsFullScreenForElement):
1601         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1602         (WebKit::WebContextMenuClient::downloadURL):
1603         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1604         (WebKit::WebDragClient::dragSourceActionMaskForPoint):
1605         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1606         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1607         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1608         (WebKit::WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
1609         (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1610         (WebKit::WebFrameLoaderClient::shouldStopLoadingForHistoryItem):
1611         (WebKit::WebFrameLoaderClient::canShowMIMEType):
1612         (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML):
1613         (WebKit::WebFrameLoaderClient::representationExistsForURLScheme):
1614         (WebKit::WebFrameLoaderClient::generatedMIMETypeForURLScheme):
1615         (WebKit::WebFrameLoaderClient::createFrame):
1616         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
1617         (WebKit::WebFrameLoaderClient::registerForIconNotification):
1618         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1619         (WebKit::WebInspectorClient::drawRect):
1620         * WebProcess/WebPage/DrawingArea.h:
1621         (WebKit::DrawingArea::forceRepaintAsync):
1622         (WebKit::DrawingArea::updateBackingStoreState):
1623         * WebProcess/WebPage/FindController.cpp:
1624         (WebKit::FindController::mouseEvent):
1625         * WebProcess/WebPage/LayerTreeHost.cpp:
1626         (WebKit::LayerTreeHost::create):
1627         * WebProcess/WebPage/LayerTreeHost.h:
1628         (WebKit::LayerTreeHost::forceRepaintAsync):
1629         * WebProcess/WebPage/TapHighlightController.cpp:
1630         (WebKit::TapHighlightController::drawRect):
1631         * WebProcess/WebPage/WebPage.cpp:
1632         (WebKit::WebPage::getWebArchiveOfFrame):
1633         * WebProcess/WebProcess.cpp:
1634         (WebKit::WebProcess::getSitesWithPluginData):
1635         (WebKit::WebProcess::clearPluginSiteData):
1636         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1637         (webkitSoupRequestGenericSendFinish):
1638         * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
1639         (webkitSoupRequestInputStreamReadAsync):
1640         (webkitSoupRequestInputStreamReadFinish):
1641
1642 2012-09-19  Pratik Solanki  <psolanki@apple.com>
1643
1644         Warning in SandboxExtension.h if WEB_PROCESS_SANDBOX is not enabled
1645         https://bugs.webkit.org/show_bug.cgi?id=97137
1646
1647         Reviewed by Benjamin Poulain.
1648
1649         m_size is only used when WEB_PROCESS_SANDBOX is enabled, so move its declaration inside
1650         #if ENABLE(WEB_PROCESS_SANDBOX).
1651
1652         * Shared/SandboxExtension.h:
1653         (HandleArray):
1654
1655 2012-09-19  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1656
1657         [WTR] Memory leaks in TestRunner::deliverWebIntent()
1658         https://bugs.webkit.org/show_bug.cgi?id=97111
1659
1660         Reviewed by Kenneth Rohde Christiansen.
1661
1662         Fix memory leaks in WKBundleIntentCreate() by adopting strings
1663         created with WKStringCreateWithUTF8CString().
1664
1665         * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp:
1666         (WKBundleIntentCreate):
1667
1668 2012-09-19  Christophe Dumez  <christophe.dumez@intel.com>
1669
1670         [EFL][WK2] fast/forms/select-writing-direction-natural.html is failing
1671         https://bugs.webkit.org/show_bug.cgi?id=97082
1672
1673         Reviewed by Kenneth Rohde Christiansen.
1674
1675         WebChromeClient::selectItemWritingDirectionIsNatural() now returns
1676         true for EFL-WK2, consistently with EFL-WK1, so that the style
1677         is properly adjusted in RenderMenuList::adjustInnerStyle().
1678
1679         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1680         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
1681
1682 2012-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1683
1684         [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+
1685         https://bugs.webkit.org/show_bug.cgi?id=96497
1686
1687         Reviewed by Martin Robinson.
1688
1689         Add WebKitSecurityManager object associated to a WebKitWebContext
1690         to get/set the security policy of a URI scheme.
1691
1692         * GNUmakefile.list.am: Add new files to compilation.
1693         * Shared/WebProcessCreationParameters.cpp:
1694         (WebKit::WebProcessCreationParameters::encode): Encode the list of
1695         schemes to be reigstered as Local, NoAccess, DisplayIsolated and
1696         CORSEnabled.
1697         (WebKit::WebProcessCreationParameters::decode): Decode the list of
1698         schemes to be reigstered as Local, NoAccess, DisplayIsolated and
1699         CORSEnabled.
1700         * Shared/WebProcessCreationParameters.h:
1701         (WebProcessCreationParameters): Add new parameters to be able to
1702         register schemes as Local, NoAccess, DisplayIsolated and
1703         CORSEnabled.
1704         * UIProcess/API/gtk/WebKitSecurityManager.cpp: Added.
1705         (webkit_security_manager_init):
1706         (webkitSecurityManagerFinalize):
1707         (webkit_security_manager_class_init):
1708         (webkitSecurityManagerCreate): Private function to create the
1709         WebKitSecurityManager object associated to the given
1710         WebKitWebContext.
1711         (registerSecurityPolicyForURIScheme):
1712         (checkSecurityPolicyForURIScheme):
1713         (webkit_security_manager_register_uri_scheme_as_local):
1714         (webkit_security_manager_uri_scheme_is_local):
1715         (webkit_security_manager_register_uri_scheme_as_no_access):
1716         (webkit_security_manager_uri_scheme_is_no_access):
1717         (webkit_security_manager_register_uri_scheme_as_display_isolated):
1718         (webkit_security_manager_uri_scheme_is_display_isolated):
1719         (webkit_security_manager_register_uri_scheme_as_secure):
1720         (webkit_security_manager_uri_scheme_is_secure):
1721         (webkit_security_manager_register_uri_scheme_as_cors_enabled):
1722         (webkit_security_manager_uri_scheme_is_cors_enabled):
1723         (webkit_security_manager_register_uri_scheme_as_empty_document):
1724         (webkit_security_manager_uri_scheme_is_empty_document):
1725         * UIProcess/API/gtk/WebKitSecurityManager.h: Added.
1726         * UIProcess/API/gtk/WebKitSecurityManagerPrivate.h: Added.
1727         * UIProcess/API/gtk/WebKitWebContext.cpp:
1728         (webkit_web_context_get_security_manager): Return the
1729         WebKitSecurityManager object, creating it before if it doesn't exist.
1730         * UIProcess/API/gtk/WebKitWebContext.h:
1731         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
1732         WebKitSecurityManager.
1733         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1734         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
1735         (testWebContextSecurityPolicy):
1736         (beforeAll):
1737         * UIProcess/API/gtk/webkit2.h: Add WebKitSecurityManager.h.
1738         * UIProcess/WebContext.cpp:
1739         (WebKit::WebContext::createNewWebProcess): Copy new vector
1740         schemes.
1741         (WebKit::WebContext::registerURLSchemeAsLocal): Send a message to
1742         WebProcess to register the given URL scheme as Local.
1743         (WebKit::WebContext::registerURLSchemeAsNoAccess): Send a message
1744         to WebProcess to register the given URL scheme as NoAccess.
1745         (WebKit::WebContext::registerURLSchemeAsDisplayIsolated): Send a
1746         message to WebProcess to register the given URL scheme as
1747         DisplayIsolated.
1748         (WebKit::WebContext::registerURLSchemeAsCORSEnabled): Send a
1749         message to WebProcess to register the given URL scheme as
1750         CORSEnabled.
1751         * UIProcess/WebContext.h:
1752         (WebContext):
1753         * WebProcess/WebProcess.cpp:
1754         (WebKit::WebProcess::registerURLSchemeAsLocal): Register the
1755         given URL scheme as Local in the SchemeRegistry.
1756         (WebKit::WebProcess::registerURLSchemeAsNoAccess): Register the
1757         given URL scheme as NoAccess in the SchemeRegistry.
1758         (WebKit::WebProcess::registerURLSchemeAsDisplayIsolated): Register
1759         the given URL scheme as DisplayIsolated in the SchemeRegistry.
1760         (WebKit::WebProcess::registerURLSchemeAsCORSEnabled): Register the
1761         given URL scheme as CORSEnabled in the SchemeRegistry.
1762         * WebProcess/WebProcess.h:
1763         * WebProcess/WebProcess.messages.in: Add new messages.
1764
1765 2012-09-19  Balazs Kelemen  <kbalazs@webkit.org>
1766
1767         [Texmap] Potential crash in TextureMapperLayer because of referencing deleted mask/replica layer
1768         https://bugs.webkit.org/show_bug.cgi?id=96919
1769
1770         Reviewed by Noam Rosenthal.
1771
1772         Delay syncing deleted layers until flushPendingLayerChanges so the UI side state
1773         will contain all changes related to the deletion of a layer. This saves us from
1774         referencing a deleted layer.
1775
1776         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1777         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1778         (WebKit::LayerTreeCoordinator::detachLayer):
1779         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1780         (LayerTreeCoordinator):
1781
1782 2012-09-19  Byungwoo Lee  <bw80.lee@samsung.com>
1783
1784         [EFL][WK2] waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.
1785         https://bugs.webkit.org/show_bug.cgi?id=96910
1786
1787         Reviewed by Kenneth Rohde Christiansen.
1788
1789         Currently, the waitUntilTitleChangedTo() and waitUntilLoadFinished()
1790         functions doesn't handle timeout by itself.
1791         And if there are some failed cases that loading is not finished or
1792         title is not changed to the expected string, test case just stopped
1793         with timeout and there is no more information about this such as line
1794         number.
1795
1796         To handle timeout status more properly, timeout parameter is added to
1797         these functions.
1798
1799         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1800         (EWK2UnitTest::LoadFinishedData::LoadFinishedData):
1801         (LoadFinishedData):
1802         (EWK2UnitTest::LoadFinishedData::~LoadFinishedData):
1803         (EWK2UnitTest):
1804         (EWK2UnitTest::onLoadFinished):
1805         (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished):
1806         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
1807         (EWK2UnitTest::TitleChangedData::TitleChangedData):
1808         (TitleChangedData):
1809         (EWK2UnitTest::TitleChangedData::~TitleChangedData):
1810         (EWK2UnitTest::onTitleChanged):
1811         (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo):
1812         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
1813         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1814         (EWK2UnitTestBase):
1815
1816 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
1817
1818         [EFL][WK2] Add javascript popup API.
1819         https://bugs.webkit.org/show_bug.cgi?id=95672
1820
1821         Reviewed by Gyuyoung Kim.
1822
1823         Add smart class member function for javascript alert(), confirm() and prompt().
1824
1825         * UIProcess/API/efl/ewk_view.cpp:
1826         (ewk_view_run_javascript_alert):
1827         (ewk_view_run_javascript_confirm):
1828         (ewk_view_run_javascript_prompt):
1829         * UIProcess/API/efl/ewk_view.h:
1830         * UIProcess/API/efl/ewk_view_private.h:
1831         * UIProcess/API/efl/ewk_view_ui_client.cpp:
1832         (runJavaScriptAlert):
1833         (runJavaScriptConfirm):
1834         (runJavaScriptPrompt):
1835         (ewk_view_ui_client_attach):
1836         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1837         Added unit test for javascript popup smart class member function.
1838         (checkAlert):
1839         (TEST_F):
1840         (checkConfirm):
1841         (checkPrompt):
1842
1843 2012-09-18  Sailesh Agrawal  <sail@chromium.org>
1844
1845         Chromium: Scrollbar with tickmarks doesn't respond to clicks
1846         https://bugs.webkit.org/show_bug.cgi?id=96049
1847
1848         Reviewed by Beth Dakin.
1849
1850         Update exported symbols.
1851
1852         * win/WebKit2.def:
1853         * win/WebKit2CFLite.def:
1854
1855 2012-09-18  Jinwoo Song  <jinwoo7.song@samsung.com>
1856
1857         [EFL][WK2] Add log macros for EINA_LOG_DOM_XXX series
1858         https://bugs.webkit.org/show_bug.cgi?id=97061
1859
1860         Reviewed by Gyuyoung Kim.
1861
1862         EFL Webkit2 is using the EINA_LOG_DOM_XXX series in several places to log a message on the specified domain and format.
1863         This patch adds log macros to simplify these logging codes.
1864
1865         * UIProcess/API/efl/ewk_main.cpp:
1866         (ewk_init):
1867         * UIProcess/API/efl/ewk_private.h:
1868         * UIProcess/API/efl/ewk_view.cpp:
1869         (ewk_view_webprocess_crashed):
1870
1871 2012-09-17  Martin Robinson  <mrobinson@igalia.com>
1872
1873         [WebKit2] [GTK] Add API for controlling the user agent
1874         https://bugs.webkit.org/show_bug.cgi?id=95697
1875
1876         Reviewed by Carlos Garcia Campos.
1877
1878         Add API for changing the user agent in WebKit2. This adds two styles of
1879         setting the user agent: complete override and a method that just inserts
1880         the application name and version, but preserves the carefully crafted user agent
1881         in the library.
1882
1883         * UIProcess/API/gtk/WebKitSettings.cpp:
1884         (_WebKitSettingsPrivate): Added a new field to store the user agent.
1885         This is stored in the private data structure, because we can only
1886         set the user agent when attaching the settings to the page.
1887         (webKitSettingsSetProperty): Add hooks for the new user agent property.
1888         (webKitSettingsGetProperty): Ditto.
1889         (webkit_settings_class_init): Ditto.
1890         (webkitSettingsAttachSettingsToPage): Ditto.
1891         (webkit_settings_get_user_agent): Added.
1892         (webkit_settings_set_user_agent): Added.
1893         (webkit_settings_set_user_agent_with_application_name): Added.
1894         * UIProcess/API/gtk/WebKitSettings.h: Added new methods.
1895         * UIProcess/API/gtk/WebKitWebView.cpp: Update the glue for the settings
1896         when attaching and detaching from WebViews.
1897         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to
1898         the documentation.
1899         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Test the new user agent
1900         property.
1901         (testWebKitSettingsUserAgent): Ditto.
1902         (beforeAll): Ditto.
1903         * UIProcess/gtk/WebPageProxyGtk.cpp:
1904         (WebKit::WebPageProxy::standardUserAgent): Now use the shared WebCore
1905         code when setting the user agent.
1906
1907 2012-09-18  Ryuan Choi  <ryuan.choi@samsung.com>
1908
1909         [EFL][WK2] Implement PageClientImpl::isViewFocused.
1910         https://bugs.webkit.org/show_bug.cgi?id=97015
1911
1912         Reviewed by Gyuyoung Kim.
1913
1914         WebKit2/Efl always returns true for PageClientImpl::isViewFocused.
1915         So window.onblur events will not be generated when webview lost focus.
1916
1917         This patch implements isViewFocused to return the current focus of webview.
1918
1919         * UIProcess/API/efl/PageClientImpl.cpp:
1920         (WebKit::PageClientImpl::isViewFocused):
1921
1922 2012-09-18  Byungwoo Lee  <bw80.lee@samsung.com>
1923
1924         Title string should be changed when document.title is set to ''.
1925         https://bugs.webkit.org/show_bug.cgi?id=96793
1926
1927         Reviewed by Kenneth Rohde Christiansen.
1928
1929         Added unit test for setting document.title and checking the title
1930         string with title,changed signal and ewk_view_title_get() function.
1931
1932         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1933         (TEST_F):
1934
1935 2012-09-18  Anders Carlsson  <andersca@apple.com>
1936
1937         Division by zero crash in BackingStore::scroll
1938         https://bugs.webkit.org/show_bug.cgi?id=97046
1939         <rdar://problem/11722564>
1940
1941         Reviewed by Dan Bernstein.
1942
1943         It appears that DrawingAreaImpl::scroll can be called with an empty scroll rect. Do nothing
1944         if that's the case. Also, assert that the scrolling rect in BackingStoreMac is never empty.
1945
1946         * UIProcess/mac/BackingStoreMac.mm:
1947         (WebKit::BackingStore::scroll):
1948         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1949         (WebKit::DrawingAreaImpl::scroll):
1950
1951 2012-09-18  Bo Liu  <boliu@chromium.org>
1952
1953         Revert 128780, 128676, 128645
1954         https://bugs.webkit.org/show_bug.cgi?id=97022
1955
1956         Reviewed by Adam Barth.
1957
1958         I made these revisions to add in-place reload behavior to ImagesEnabled setting.
1959         Reverting this for now due to them causing performance regression in
1960         chromium, possibly caused by increased calls to
1961         PermissionClient::imageAllowed.
1962
1963         * win/WebKit2.def:
1964
1965 2012-09-18  Martin Robinson  <mrobinson@igalia.com>
1966
1967         [GTK] [WebKit2] Use XComposite window for accelerated compositing
1968         https://bugs.webkit.org/show_bug.cgi?id=94417
1969
1970         Reviewed by Carlos Garcia Campos.
1971
1972         Instead of rendering directly to the widget's native window, render to an
1973         offscreen window redirected to a Pixmap with XComposite.
1974
1975         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1976         (_WebKitWebViewBasePrivate): Added a few members necessary to track the 
1977         offscreen window.
1978         (webkit_web_view_base_init):
1979         (renderAcceleratedCompositingResults): Added this helper functions which renders
1980         the results of the accelerated compositing operations during the GTK+ draw loop.
1981         (webkitWebViewBaseDraw): Call renderAcceleratedCompositingResults when appropriate.
1982         (resizeWebKitWebViewBaseFromAllocation): Resize the offscreen window when appropriate.
1983         (webkitWebViewBaseSizeAllocate): Do not call resizeWebKitWebViewBaseFromAllocation when
1984         the actual size of the widget does not change. This prevents destroying and recreating
1985         the offscreen window pixmap when it isn't necessary.
1986         (webkitWebViewBaseMap): We no longer send the window id during map, instead it's sent
1987         as soon as there is WebPageProxy.
1988         (webkitWebViewBaseCreateWebPage): Send the window id of the redirected window to
1989         the WebProcess.
1990         (queueAnotherDrawOfAcceleratedCompositingResults): Added this helper which works
1991         around the issue of slow updates of the pixmap backing the redirected XComposite window.
1992         (webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults): Added this method which
1993         is what the WebProcess uses to force a redraw on the UIProcess side.
1994         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added new method to the list of private methods.
1995         * UIProcess/DrawingAreaProxyImpl.h:
1996         (DrawingAreaProxyImpl):
1997         (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): Exposed this method publically
1998         so that it can be used from WebKitWebViewBase.
1999         * UIProcess/WebPageProxy.h:
2000         (WebPageProxy): Renamed widgetMapped to setAcceleratedCompositingWindowId.
2001         * UIProcess/WebPageProxy.messages.in: Ditto.
2002         * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto.
2003         (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
2004         * WebProcess/WebPage/WebPage.h:
2005         (WebPage): Ditto.
2006         * WebProcess/WebPage/WebPage.messages.in: Ditto.
2007         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2008         (WebKit::LayerTreeHostGtk::sizeDidChange): Force a composite to the resized window right
2009         away so that the new window pixmap is updated before the first draw.
2010         (WebKit::LayerTreeHostGtk::compositeLayersToContext): If the composition is for a resize,
2011         first clear the entire GL context so that we don't see black artifacts during resize.
2012         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2013         (LayerTreeHostGtk): Update the signature of  compositeLayersToContext.
2014         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
2015         (WebKit::WebPage::setAcceleratedCompositingWindowId): Added.
2016
2017 2012-09-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2018
2019         Unreviewed, rolling out r128849.
2020         http://trac.webkit.org/changeset/128849
2021         https://bugs.webkit.org/show_bug.cgi?id=97007
2022
2023         Causes test_ewk2_view to time out. (Requested by rakuco on
2024         #webkit).
2025
2026         * UIProcess/API/efl/ewk_view.cpp:
2027         (ewk_view_webprocess_crashed):
2028         * UIProcess/API/efl/ewk_view.h:
2029         * UIProcess/API/efl/ewk_view_private.h:
2030         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2031         (ewk_view_ui_client_attach):
2032         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2033         (TEST_F):
2034
2035 2012-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2036
2037         [GTK] Set the area of tooltips in WebKit2
2038         https://bugs.webkit.org/show_bug.cgi?id=96618
2039
2040         Reviewed by Martin Robinson.
2041
2042         In GTK+ tooltips are associated to a widget, if the mouse is moved
2043         inside the widget area, the tooltip position doesn't change even
2044         if the tooltip text changes. To support multiple tooltips for the
2045         same widget, we need to set the area of the widget for every
2046         tooltip.
2047
2048         * Shared/WebHitTestResult.cpp:
2049         (WebKit::WebHitTestResult::Data::encode): Encode elementBoundingBox.
2050         (WebKit::WebHitTestResult::Data::decode): Decode elementBoundingBox.
2051         * Shared/WebHitTestResult.h:
2052         (Data): Add elementBoundingBox to WebHitTestResult::Data.
2053         (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
2054         Get the bounding box of the inner non shared node of the hit test
2055         result in window coordinates.
2056         (WebKit::WebHitTestResult::Data::Data):
2057         (WebKit::WebHitTestResult::elementBoundingBox):
2058         (WebHitTestResult):
2059         * UIProcess/API/gtk/WebKitWebView.cpp:
2060         (webkitWebViewMouseTargetChanged): Call webkitWebViewBaseSetTooltipArea.
2061         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2062         (webkitWebViewBaseQueryTooltip): Use the tooltipArea if it's not empty.
2063         (webkitWebViewBaseSetTooltipArea): Set the tooltipArea.
2064         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2065
2066 2012-09-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2067
2068         [Qt] Fix build without the QtQuick module
2069
2070         Reviewed by Simon Hausmann.
2071
2072         * Target.pri:
2073
2074 2012-09-17  Eunmi Lee  <eunmi15.lee@samsung.com>
2075
2076         [EFL][WK2] Add NativeWebTouchEvent and handle the Touch event.
2077         https://bugs.webkit.org/show_bug.cgi?id=90662
2078
2079         Reviewed by Gyuyoung Kim.
2080
2081         Implement codes to handle touch event for WebKit2 EFL port.
2082         Additionally, types and structure for touch event are defined because
2083         they are not in the Evas.
2084
2085         * PlatformEfl.cmake:
2086         * Shared/NativeWebTouchEvent.h:
2087         (NativeWebTouchEvent):
2088         * Shared/efl/NativeWebTouchEventEfl.cpp: Added.
2089         (WebKit):
2090         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
2091         * Shared/efl/WebEventFactory.cpp:
2092         (WebKit):
2093         (WebKit::typeForTouchEvent):
2094         (WebKit::WebEventFactory::createWebTouchEvent):
2095         * Shared/efl/WebEventFactory.h:
2096         (WebEventFactory):
2097         * UIProcess/API/efl/ewk_touch.h: Added.
2098
2099 2012-09-17  Csaba Osztrogonác  <ossy@webkit.org>
2100
2101         Unreviewed, rolling out r128826 and r128813.
2102
2103         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2104         (WebKit):
2105         (WebKit::JSNPObject::JSNPObject):
2106         * WebProcess/Plugins/Netscape/JSNPObject.h:
2107         (JSNPObject):
2108
2109 2012-09-17  Kent Tamura  <tkent@chromium.org>
2110
2111         Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly
2112         https://bugs.webkit.org/show_bug.cgi?id=96855
2113
2114         Reviewed by Hajime Morita.
2115
2116         * win/WebKit2.def: Remove a symbol
2117         * win/WebKit2CFLite.def: ditto.
2118
2119 2012-09-17  Byungwoo Lee  <bw80.lee@samsung.com>
2120
2121         [EFL][WK2] Add javascript popup API.
2122         https://bugs.webkit.org/show_bug.cgi?id=95672
2123
2124         Reviewed by Gyuyoung Kim.
2125
2126         Add smart class member function for javascript alert(), confirm() and prompt().
2127
2128         * UIProcess/API/efl/ewk_view.cpp:
2129         (ewk_view_run_javascript_alert):
2130         (ewk_view_run_javascript_confirm):
2131         (ewk_view_run_javascript_prompt):
2132         * UIProcess/API/efl/ewk_view.h:
2133         * UIProcess/API/efl/ewk_view_private.h:
2134         * UIProcess/API/efl/ewk_view_ui_client.cpp:
2135         (runJavaScriptAlert):
2136         (runJavaScriptConfirm):
2137         (runJavaScriptPrompt):
2138         (ewk_view_ui_client_attach):
2139         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2140         Added unit test for javascript popup smart class member function.
2141         (checkAlert):
2142         (TEST_F):
2143         (checkConfirm):
2144         (checkPrompt):
2145
2146 2012-09-17  Regina Chung  <heejin.r.chung@samsung.com>
2147
2148         [EFL][WK2] Regression (r128163)
2149         https://bugs.webkit.org/show_bug.cgi?id=96610
2150
2151         Reviewed by Gyuyoung Kim.
2152
2153         While removing compile warnings r128163 changed the logic of code for entering 
2154         accelerated compositing mode, resulting in never being able to enter it.
2155         Changed back to the correct code and fixed the compile warning by using an
2156         appropriate EINA macro.
2157
2158         * UIProcess/API/efl/ewk_view.cpp:
2159         (ewk_view_accelerated_compositing_mode_enter): Changed EINA_SAFETY_ON_NULL_RETURN_VAL to *if* condition statement.
2160
2161 2012-09-17  Sam Weinig  <sam@webkit.org>
2162
2163         Fix the Snow Leopard build.
2164
2165         * PluginProcess/mac/PluginProcessMac.mm:
2166         (WebKit::PluginProcess::platformInitialize):
2167
2168 2012-09-17  Sam Weinig  <sam@webkit.org>
2169
2170         Add experimental code to enter a sandbox for a plug-in.
2171         Based on a patch by Ivan Krstić.
2172         <rdar://problem/11823151>
2173
2174         Reviewed by Anders Carlsson.
2175
2176         Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that
2177         has the plug-ins bundle identifier for a name.
2178
2179         * PluginProcess/mac/PluginProcessMac.mm:
2180         (WebKit::initializeSandbox):
2181         (WebKit::PluginProcess::platformInitialize):
2182         Enter the sandbox provided if a profile can be found.
2183
2184         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
2185         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
2186         (enterSandbox):
2187         Factor out the core sandbox entering logic (so if can be used above) and make sure
2188         that Remote Save Panel is enabled.
2189
2190 2012-09-17  Mark Hahnenberg  <mhahnenberg@apple.com>
2191
2192         Fixing the build after http://trac.webkit.org/changeset/128813
2193
2194         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2195         (WebKit):
2196         (WebKit::JSNPObject::JSNPObject):
2197         * WebProcess/Plugins/Netscape/JSNPObject.h:
2198         (JSNPObject):
2199
2200 2012-09-17  Anders Carlsson  <andersca@apple.com>
2201
2202         Crash if we fail to allocate memory for the argument encoder buffer.
2203         https://bugs.webkit.org/show_bug.cgi?id=88367
2204
2205         Reviewed by Andreas Kling.
2206         <rdar://problem/11488239>
2207
2208         Since there's no way to recover from malloc returning null here, just crash.
2209
2210         * Platform/CoreIPC/ArgumentEncoder.cpp:
2211         (CoreIPC::ArgumentEncoder::grow):
2212
2213 2012-09-17  Beth Dakin  <bdakin@apple.com>
2214
2215         https://bugs.webkit.org/show_bug.cgi?id=96936
2216         Opt into layers for fixed positioned elements for TiledDrawingArea
2217
2218         Reviewed by Tim Horton.
2219
2220         This code already exists in DrawingAreaImpl, and we need it for 
2221         TiledCoreAnimationDrawingArea as well.
2222         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2223         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2224
2225 2012-09-17  Anders Carlsson  <andersca@apple.com>
2226
2227         Don't load a blocked plug-in if a non-blocked version of the same plug-in exists
2228         https://bugs.webkit.org/show_bug.cgi?id=96933
2229         <rdar://problem/12206720>
2230
2231         Reviewed by Andreas Kling.
2232
2233         If a plug-in with the same bundle identifier already exists and it's blocked, remove it and replace it
2234         with the other version.
2235
2236         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2237         (WebKit::PluginInfoStore::shouldUsePlugin):
2238
2239 2012-09-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2240
2241         [Qt] Remove 'using namespace WebCore' from header file
2242
2243         Broke the build on Mac OS X by causing clashes between Fixed from
2244         /usr/include/MacTypes.h and Source/WebCore/platform/Length.h.
2245
2246         Reviewed by Simon Hausmann..
2247
2248         * UIProcess/PageViewportController.cpp:
2249         * UIProcess/PageViewportController.h:
2250         (PageViewportController):
2251         (WebKit::PageViewportController::contentsLayoutSize):
2252         (WebKit):
2253         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2254         * UIProcess/qt/PageViewportControllerClientQt.h:
2255         (PageViewportControllerClientQt):
2256
2257 2012-09-15  Vivek Galatage  <vivekgalatage@gmail.com>
2258
2259         WinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlockingPolicy
2260         https://bugs.webkit.org/show_bug.cgi?id=96866
2261
2262         Reviewed by Kentaro Hara.
2263
2264         Adding missing symbol defines in the def file to fix the build break
2265         for WinCairo
2266
2267         * win/WebKit2CFLite.def:
2268
2269 2012-09-15  Jinwoo Song  <jinwoo7.song@samsung.com>
2270
2271         [EFL][WK2] Provide implementation for PageClientImpl::processDidCrash()
2272         https://bugs.webkit.org/show_bug.cgi?id=96197
2273
2274         Reviewed by Gyuyoung Kim.
2275
2276         WebKit2 EFL does not have an implementation for PageClientImpl::processDidCrash().
2277         So when WebProcess has crashed, UI process does nothing and is left alone as it is.
2278
2279         This patch checks if loading was ongoing, if so, set the load progress as 1.
2280         Then send a signal callback "webprocess,crashed" for an application to handle it.
2281         If the application does not handle the crash event, show an Eina Log warning message
2282         with a url at web process exit and load an error page.
2283
2284         * UIProcess/API/efl/PageClientImpl.cpp:
2285         (WebKit::PageClientImpl::processDidCrash):
2286         * UIProcess/API/efl/ewk_private.h:
2287         * UIProcess/API/efl/ewk_view.cpp:
2288         (ewk_view_webprocess_crashed):
2289         * UIProcess/API/efl/ewk_view.h:
2290         * UIProcess/API/efl/ewk_view_private.h:
2291
2292 2012-09-15  Pierre Rossi  <pierre.rossi@gmail.com>
2293
2294         [Qt] QDoc fixes for Qt 5 documentation
2295         https://bugs.webkit.org/show_bug.cgi?id=96796
2296
2297         Reviewed by Simon Hausmann.
2298
2299         Fixup miscellaneous qdoc commands syntax.
2300
2301         * UIProcess/API/qt/qquickwebview.cpp:
2302         * UIProcess/API/qt/qwebloadrequest.cpp:
2303
2304 2012-09-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2305
2306         Add *explicit* keyword to constructors to WebKit2/UIProcess
2307         https://bugs.webkit.org/show_bug.cgi?id=96732
2308
2309         Reviewed by Kentaro Hara.
2310
2311         As a step of *explicit* cleanup for constructors which have only one parameter,
2312         *explicit* is added to WebKit2/UIProcess in order to avoid implicit type conversion.
2313
2314         * UIProcess/Authentication/AuthenticationDecisionListener.h:
2315         (AuthenticationDecisionListener):
2316         * UIProcess/Authentication/WebCredential.h:
2317         (WebCredential):
2318         * UIProcess/Authentication/WebProtectionSpace.h:
2319         (WebProtectionSpace):
2320         * UIProcess/GenericCallback.h:
2321         (WebKit::CallbackBase::CallbackBase):
2322         * UIProcess/InspectorServer/WebSocketServer.h:
2323         * UIProcess/ResponsivenessTimer.h:
2324         (ResponsivenessTimer):
2325         * UIProcess/WebApplicationCacheManagerProxy.h:
2326         (WebApplicationCacheManagerProxy):
2327         * UIProcess/WebBackForwardList.h:
2328         (WebBackForwardList):
2329         * UIProcess/WebContextUserMessageCoders.h:
2330         (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
2331         * UIProcess/WebFullScreenManagerProxy.h:
2332         (WebFullScreenManagerProxy):
2333         * UIProcess/WebGrammarDetail.h:
2334         (WebGrammarDetail):
2335         * UIProcess/WebInspectorProxy.h:
2336         (WebInspectorProxy):
2337         * UIProcess/WebKeyValueStorageManagerProxy.h:
2338         (WebKeyValueStorageManagerProxy):
2339         * UIProcess/WebMediaCacheManagerProxy.h:
2340         (WebMediaCacheManagerProxy):
2341         * UIProcess/WebNavigationData.h:
2342         (WebNavigationData):
2343         * UIProcess/WebOpenPanelResultListenerProxy.h:
2344         (WebOpenPanelResultListenerProxy):
2345         * UIProcess/WebPopupMenuProxy.h:
2346         (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
2347         * UIProcess/WebPreferences.h:
2348         (WebPreferences):
2349
2350 2012-09-14  Beth Dakin  <bdakin@apple.com>
2351
2352         https://bugs.webkit.org/show_bug.cgi?id=96846
2353         Tests failing on WK2 bots after giving fixed positioning its own 
2354         stacking context
2355
2356         Reviewed by Geoffrey Garen.
2357
2358         Tests are failing because I checked in updated results that expect 
2359         fixed positioning to create a stacking context. However, 
2360         WebKitTestRunner does not enable ScrollingCoordinator, so the code 
2361         that I added to enable stacking contexts for fixedPos is never 
2362         actually running. This patch moves that code to a place where it will 
2363         run for the testing tools, which matches the patch for WK1.
2364         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2365         (WebKit::DrawingAreaImpl::updatePreferences):
2366         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2367         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2368
2369 2012-09-14  Julien Chaffraix  <jchaffraix@webkit.org>
2370
2371         Revert r127457 and following fixes due to several hit-testing regressions
2372         https://bugs.webkit.org/show_bug.cgi?id=96830
2373
2374         Reviewed by Antonio Gomes.
2375
2376         This change reverts r127457, r127863 and r128505.
2377
2378         * win/WebKit2.def:
2379         * win/WebKit2CFLite.def:
2380
2381 2012-09-14  Adam Barth  <abarth@webkit.org>
2382
2383         Remove webkitPostMessage
2384         https://bugs.webkit.org/show_bug.cgi?id=96577
2385
2386         Reviewed by Ojan Vafai.
2387
2388         Add ENABLE_LEGACY_VENDOR_PREFIXES flag.
2389
2390         * Configurations/FeatureDefines.xcconfig:
2391
2392 2012-09-14  Jeffrey Pfau  <jpfau@apple.com>
2393
2394         Allow third-party storage blocking setting to change while a page is loaded
2395         https://bugs.webkit.org/show_bug.cgi?id=95790
2396
2397         Reviewed by Brady Eidson.
2398
2399         Inform plugins about changes to the storage blocking policy by way of the private browsing feature.
2400
2401         * PluginProcess/PluginControllerProxy.cpp:
2402         (WebKit::PluginControllerProxy::storageBlockingStateChanged):
2403         (WebKit):
2404         * PluginProcess/PluginControllerProxy.h:
2405         (PluginControllerProxy):
2406         * PluginProcess/PluginControllerProxy.messages.in: Add WK2 message for storageBlockingStateChanged.
2407         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2408         (WebKit::NetscapePlugin::storageBlockingStateChanged):
2409         (WebKit):
2410         (WebKit::NetscapePlugin::privateBrowsingStateChanged):
2411         (WebKit::NetscapePlugin::updateNPNPrivateMode): Set plugin's private browsing if either private browsing or storage blocking is enabled.
2412         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2413         (NetscapePlugin):
2414         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2415         (BuiltInPDFView):
2416         * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Treat storageBlockingStateChanged as a no-op.
2417         (WebKit::BuiltInPDFView::storageBlockingStateChanged):
2418         (WebKit):
2419         * WebProcess/Plugins/Plugin.h: Add pure virtual storageBlockingStateChanged method.
2420         (Plugin):
2421         * WebProcess/Plugins/PluginProxy.cpp:
2422         (WebKit::PluginProxy::storageBlockingStateChanged):
2423         (WebKit):
2424         * WebProcess/Plugins/PluginProxy.h:
2425         (PluginProxy):
2426         * WebProcess/Plugins/PluginView.cpp:
2427         (WebKit::PluginView::storageBlockingStateChanged):
2428         (WebKit):
2429         * WebProcess/Plugins/PluginView.h:
2430         (PluginView):
2431         * win/WebKit2.def:
2432
2433 2012-09-14  Beth Dakin  <bdakin@apple.com>
2434
2435         https://bugs.webkit.org/show_bug.cgi?id=96688
2436         Put position:fixed elements in their own layers and allow them to 
2437         create a stacking context
2438         -and corresponding-
2439         <rdar://problem/11467961>
2440
2441         Reviewed by Simon Fraser.
2442
2443         Soon we want pages with fixed positioned elements to be able to be 
2444         scrolled by the ScrollingCoordinator. As a part of that work, we have 
2445         to composite fixed position elements, and we have to allow those
2446         elements to create a stacking context.
2447         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2448         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2449
2450 2012-09-14  Bo Liu  <boliu@chromium.org>
2451
2452         Add in-place reload behavior to ImagesEnabled setting
2453         https://bugs.webkit.org/show_bug.cgi?id=95478
2454
2455         Reviewed by Adam Barth.
2456
2457         Export WebCore::Settings::setImagesEnabled symbol.
2458
2459         * win/WebKit2.def:
2460
2461 2012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2462
2463         [EFL] RefPtr<Evas_Object> unit tests fails
2464         https://bugs.webkit.org/show_bug.cgi?id=96809
2465
2466         Reviewed by Kenneth Rohde Christiansen.
2467
2468         Added missing return.
2469
2470         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2471         (EWK2UnitTest::EWK2UnitTestBase::canvas):
2472
2473 2012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
2474
2475         WebKitTestRunner needs layoutTestController.dumpDatabaseCallbacks
2476         https://bugs.webkit.org/show_bug.cgi?id=57570
2477
2478         Reviewed by Kenneth Rohde Christiansen.
2479
2480         Add new didExceedDatabaseQuota callback to WKBundlePageUIClient
2481         and call it from WebChromeClient::exceededDatabaseQuota().
2482         This is needed by WebKitTestRunner to dump information about
2483         database callbacks.
2484
2485         * Shared/APIClientTraits.h:
2486         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2487         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2488         (WebKit::InjectedBundle::setDatabaseQuota): Call WebDatabaseManager::setQuotaForOrigin()
2489         with "file__0" instead of "file:///" as origin identifier. WebDatabaseManager expects
2490         a database identifier, not a string representation of the security origin. "file__0" is
2491         the string that is used as databaseIdentifier of local files. This bug was causing the
2492         database quota not to be set. The test cases would therefore fail due to the quota being
2493         0 instead of the value explicitly set.
2494         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2495         (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
2496         (WebKit):
2497         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2498         (InjectedBundlePageUIClient):
2499         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2500         (WebKit::WebChromeClient::exceededDatabaseQuota):
2501
2502 2012-09-14  Christophe Dumez  <christophe.dumez@intel.com>
2503
2504         WebKitTestRunner needs layoutTestController.setStopProvisionalFrameLoads
2505         https://bugs.webkit.org/show_bug.cgi?id=42691
2506
2507         Reviewed by Kenneth Rohde Christiansen.
2508
2509         Add WKBundleFrame private API to stop loading of a frame.
2510         This is needed by WebKitTestRunner to implement
2511         testrunner.setStopProvisionalFrameLoads.
2512
2513         Original patch by Alexey Proskuryakov.
2514
2515         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2516         (WKBundleFrameStopLoading):
2517         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
2518         * WebProcess/WebPage/WebFrame.cpp:
2519         (WebKit::WebFrame::stopLoading):
2520         (WebKit):
2521         * WebProcess/WebPage/WebFrame.h:
2522         (WebFrame):
2523
2524 2012-09-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2525
2526         [EFL] Add unit test for RefPtr<Evas_Object>
2527         https://bugs.webkit.org/show_bug.cgi?id=96776
2528
2529         Reviewed by Simon Hausmann.
2530
2531         Basic testing of the new EFL specific RefPtr type.
2532
2533         * PlatformEfl.cmake:
2534         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2535         (EWK2UnitTest::EWK2UnitTestBase::backingStore):
2536         (EWK2UnitTest::EWK2UnitTestBase::canvas):
2537
2538             Add some new accessors for Ecore_Evas and Evas*.
2539
2540         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Added.
2541         (TEST_F):
2542
2543 2012-09-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2544
2545         [Qt] Move .mm file to OBJECTIVE_SOURCES
2546
2547         Reviewed by Simon Hausmann.
2548
2549         * Target.pri:
2550
2551 2012-09-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2552
2553         WebKitTestRunner needs layoutTestController.setTabKeyCyclesThroughElements
2554         https://bugs.webkit.org/show_bug.cgi?id=42687
2555
2556         Reviewed by Kenneth Rohde Christiansen.
2557
2558         Implement testRunner.setTabKeyCyclesThroughElements for
2559         WebKitTestRunner.
2560
2561         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2562         (WKBundleSetTabKeyCyclesThroughElements):
2563         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2564         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2565         (WebKit::InjectedBundle::setTabKeyCyclesThroughElements):
2566         (WebKit):
2567         * WebProcess/InjectedBundle/InjectedBundle.h:
2568         (InjectedBundle):
2569
2570 2012-09-14  Keishi Hattori  <keishi@webkit.org>
2571
2572         Add runtime flag that enables lang attribute for form controls in LayoutTests
2573         https://bugs.webkit.org/show_bug.cgi?id=96636
2574
2575         Reviewed by Kent Tamura.
2576
2577         * win/WebKit2.def:
2578         * win/WebKit2CFLite.def:
2579
2580 2012-09-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2581
2582         Add method to get the list of all available dictionaries
2583         https://bugs.webkit.org/show_bug.cgi?id=96518
2584
2585         Reviewed by Carlos Garcia Campos.
2586
2587         * UIProcess/API/gtk/WebKitTextChecker.cpp:
2588         (WebKitTextChecker::getSpellCheckingLanguages):
2589         Update the method name that is called inside getSpellCheckingLanguages.
2590         This replace doesn't affect any on API changes.
2591
2592 2012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
2593
2594         [WK2] Add color picker API support for WebKit2
2595         https://bugs.webkit.org/show_bug.cgi?id=95058
2596
2597         Reviewed by Gyuyoung Kim.
2598
2599         Add support for color picker API to WebKit2.
2600
2601         * CMakeLists.txt:
2602         * GNUmakefile.list.am:
2603         * Shared/API/c/WKBase.h:
2604         * Shared/APIClientTraits.cpp:
2605         (WebKit):
2606         * Shared/APIClientTraits.h:
2607         * Shared/APIObject.h:
2608         * Target.pri:
2609         * UIProcess/API/C/WKAPICast.h:
2610         (WebKit):
2611         * UIProcess/API/C/WKColorPickerResultListener.cpp: Added.
2612         (WKColorPickerResultListenerGetTypeID):
2613         (WKColorPickerResultListenerColorSet):
2614         * UIProcess/API/C/WKColorPickerResultListener.h: Added.
2615         * UIProcess/API/C/WKPage.h:
2616         * UIProcess/API/gtk/WebKitUIClient.cpp:
2617         (attachUIClientToView):
2618         * UIProcess/WebColorChooserProxy.cpp: Added.
2619         (WebKit):
2620         (WebKit::WebColorChooserProxy::WebColorChooserProxy):
2621         (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
2622         (WebKit::WebColorChooserProxy::endChooser):
2623         (WebKit::WebColorChooserProxy::setSelectedColor):
2624         * UIProcess/WebColorChooserProxy.h:
2625         (WebColorChooserProxy):
2626         (WebKit::WebColorChooserProxy::create):
2627         * UIProcess/WebColorPickerResultListenerProxy.cpp: Added.
2628         (WebKit):
2629         (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
2630         (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
2631         (WebKit::WebColorPickerResultListenerProxy::invalidate):
2632         (WebKit::WebColorPickerResultListenerProxy::setColor):
2633         * UIProcess/WebColorPickerResultListenerProxy.h: Added.
2634         (WebKit):
2635         (WebColorPickerResultListenerProxy):
2636         (WebKit::WebColorPickerResultListenerProxy::create):
2637         (WebKit::WebColorPickerResultListenerProxy::type):
2638         * UIProcess/WebPageProxy.cpp:
2639         (WebKit::WebPageProxy::close):
2640         (WebKit::WebPageProxy::showColorChooser):
2641         (WebKit::WebPageProxy::didEndColorChooser):
2642         (WebKit::WebPageProxy::processDidCrash):
2643         * UIProcess/WebPageProxy.h:
2644         (WebKit):
2645         (WebPageProxy):
2646         * UIProcess/WebUIClient.cpp:
2647         (WebKit):
2648         (WebKit::WebUIClient::showColorPicker):
2649         (WebKit::WebUIClient::hideColorPicker):
2650         * UIProcess/WebUIClient.h:
2651         (WebKit):
2652         (WebUIClient):
2653         * WebKit2.xcodeproj/project.pbxproj:
2654         * win/WebKit2.vcproj:
2655         * win/WebKit2Generated.make:
2656
2657 2012-09-13  KwangYong Choi  <ky0.choi@samsung.com>
2658
2659         [EFL][WK2] Implement missing initializeLogChannel function
2660         https://bugs.webkit.org/show_bug.cgi?id=96478
2661
2662         Reviewed by Gyuyoung Kim.
2663
2664         Implemented log channel initialization function for EFL platform in WebKit2.
2665
2666         * Platform/Logging.cpp:
2667         (WebKit):
2668         * Platform/Logging.h:
2669         (WebKit):
2670         * Platform/efl/LoggingEfl.cpp: Added.
2671         (WebKit):
2672         (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
2673         * PlatformEfl.cmake:
2674
2675 2012-09-13  Mark Rowe  <mrowe@apple.com>
2676
2677         <rdar://problem/12283706> WebKit looks for some files on the system even when building against an SDK.
2678
2679         Reviewed by David Kilzer.
2680
2681         If an SDK is being used, pass it through to our custom invocations of the preprocessor.
2682
2683         * DerivedSources.make:
2684
2685 2012-09-13  Brent Fulgham  <bfulgham@webkit.org>
2686
2687         [WinCairo] Unreviewed build fix for export declarations.
2688
2689         New entries were added to the standard Windows export definition
2690         file, but were not added to the WinCairo version, breaking the build.
2691
2692         * win/WebKit2CFLite.def: Incoproate changes from WebKit2.def file.
2693
2694 2012-09-13  Tim Horton  <timothy_horton@apple.com>
2695
2696         Add optional debug logging when we fall into/out of threaded scrolling
2697         https://bugs.webkit.org/show_bug.cgi?id=93898
2698         <rdar://problem/12089098>
2699
2700         Reviewed by Simon Fraser.
2701
2702         Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
2703         before the early-return if we don't have layer debugging borders on.
2704
2705         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2706         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2707
2708 2012-09-13  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2709
2710         [WK2][WTR] WebKitTestRunner needs testRunner.callShouldCloseOnWebView
2711         https://bugs.webkit.org/show_bug.cgi?id=96366
2712
2713         Reviewed by Anders Carlsson.
2714
2715         Implement testRunner.callShouldCloseOnWebView for WebKitTestRunner
2716         by calling shouldClose() on the FrameLoader.
2717
2718         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2719         (WKBundleFrameCallShouldCloseOnWebView):
2720         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2721
2722 2012-09-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2723
2724         [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path
2725         https://bugs.webkit.org/show_bug.cgi?id=96649
2726
2727         Reviewed by Kenneth Rohde Christiansen.
2728
2729         Updated the alternative test theme file. It is basically
2730         the default theme with extra padding on the button widget as
2731         specified by the comments on the test case.
2732
2733         * UIProcess/API/efl/tests/resources/big_button_theme.edj:
2734
2735 2012-09-13  Balazs Kelemen  <kbalazs@webkit.org>
2736
2737         [WK2] LayerTreeCoordinator should release unused UpdatedAtlases
2738         https://bugs.webkit.org/show_bug.cgi?id=95072
2739
2740         Reviewed by Jocelyn Turcotte.
2741
2742         Release graphic buffers that haven't been used for a while in order to save memory.
2743         This way we can give back memory to the system when no user interaction happens
2744         after a period of time, for example when we are in the background.
2745
2746         * Shared/ShareableBitmap.h:
2747         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2748         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2749         (WebKit::LayerTreeCoordinator::beginContentUpdate):
2750         (WebKit):
2751         (WebKit::LayerTreeCoordinator::scheduleReleaseInactiveAtlases):
2752         (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
2753         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2754         (LayerTreeCoordinator):
2755         * WebProcess/WebPage/UpdateAtlas.cpp:
2756         (WebKit::UpdateAtlas::UpdateAtlas):
2757         (WebKit::UpdateAtlas::didSwapBuffers):
2758         Don't call buildLayoutIfNeeded here. It's enought to call it in beginPaintingOnAvailableBuffer
2759         and this way we can track whether this atlas is used with m_areaAllocator.
2760         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
2761         * WebProcess/WebPage/UpdateAtlas.h:
2762         (WebKit::UpdateAtlas::addTimeInactive):
2763         (WebKit::UpdateAtlas::isInactive):
2764         (WebKit::UpdateAtlas::isInUse):
2765         (UpdateAtlas):
2766
2767 2012-09-13  Lauro Neto  <lauro.neto@openbossa.org>
2768
2769         [Qt][WK2] fast/forms/access-key-for-all-elements.html fails
2770         https://bugs.webkit.org/show_bug.cgi?id=73917
2771
2772         Reviewed by Simon Hausmann.
2773
2774         Access-key tests were failing due to hardcoded Mac OS X in the
2775         Qt WK2 user agent string. This commit moves the WK1 implementation
2776         to a shared one to be used by both versions.
2777
2778         Use the shared implementation instead of hardcoding the user agent.
2779
2780         * UIProcess/qt/WebPageProxyQt.cpp:
2781         (WebKit::WebPageProxy::standardUserAgent):
2782
2783 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
2784
2785         [Qt] Fix build of WTR and the QML2 plugin on Windows
2786         https://bugs.webkit.org/show_bug.cgi?id=96652
2787
2788         Reviewed by Tor Arne Vestbø.
2789
2790         Some components that we build such as WTR or the QML2 plugin include
2791         WebKit2 header files as well as WebKit2's config.h. Only the include
2792         paths of WebKit2 are required for that at the moment (WEBKIT +=
2793         webkit2). Only on Windows WebKit2's config.h also includes
2794         WebCore/config.h, which in turn requires to have WebCore/platform in
2795         your include search path. That in turn means that any component that
2796         wants to use WebKit2 headers also needs the WebCore headers, but only
2797         one Windows. It turns out that for the Qt build we don't need it, so
2798         skip it in our configuration and make the include path requirement
2799         the same across all the platforms we build.
2800
2801         * config.h:
2802
2803 2012-09-13  Andras Becsi  <andras.becsi@nokia.com>
2804
2805         [Qt][WK2] REGRESSION(r128245): It made zillion API tests fail
2806         https://bugs.webkit.org/show_bug.cgi?id=96531
2807
2808         Reviewed by Jocelyn Turcotte.
2809
2810         Preferences have to be updated after the drawing area was created
2811         for compositing mode to be set.
2812
2813         * WebProcess/WebPage/WebPage.cpp:
2814         (WebKit::WebPage::WebPage):
2815
2816 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
2817
2818         [Qt] Fix UIProcess build with Qt on Windows
2819         https://bugs.webkit.org/show_bug.cgi?id=96635
2820
2821         Reviewed by Csaba Osztrogonác.
2822
2823         Enabling setShouldCloseConnectionOnProcessTermination on the connection
2824         is something that is only implemented in ConnectionUnix, not
2825         ConnectionWin.cpp, where appears to be built-in functionality.
2826
2827         * UIProcess/WebConnectionToWebProcess.cpp:
2828         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
2829
2830 2012-09-13  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
2831
2832         [Qt] Fix build against namespaced Qt
2833
2834         Reviewed by Tor Arne Vestbø.
2835
2836         * UIProcess/qt/PageViewportControllerClientQt.h:
2837
2838 2012-09-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2839
2840         [EFL][Qt][WK2] Implement shared undo controller for EFL and Qt port.
2841         https://bugs.webkit.org/show_bug.cgi?id=92504
2842
2843         Reviewed by Kenneth Rohde Christiansen.
2844
2845         EFL port needs an undo controller similiar to one from Qt port. Instead of
2846         duplicating the code existing class was renamed and moved to UIProcess
2847         directory.
2848
2849         * PlatformEfl.cmake:
2850         * Target.pri:
2851         * UIProcess/API/efl/PageClientImpl.cpp:
2852         (WebKit::PageClientImpl::registerEditCommand):
2853         (WebKit::PageClientImpl::clearAllEditCommands):
2854         (WebKit::PageClientImpl::canUndoRedo):
2855         (WebKit::PageClientImpl::executeUndoRedo):
2856         * UIProcess/API/efl/PageClientImpl.h:
2857         (PageClientImpl):
2858         * UIProcess/API/qt/qquickwebview_p_p.h:
2859         (QQuickWebViewPrivate):
2860         * UIProcess/DefaultUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.cpp.
2861         (WebKit):
2862         (WebKit::DefaultUndoController::registerEditCommand):
2863         (WebKit::DefaultUndoController::clearAllEditCommands):
2864         (WebKit::DefaultUndoController::canUndoRedo):
2865         (WebKit::DefaultUndoController::executeUndoRedo):
2866         * UIProcess/DefaultUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.h.
2867         (WebKit):
2868         (DefaultUndoController):
2869         * UIProcess/qt/QtPageClient.cpp:
2870         (WebKit::QtPageClient::initialize):
2871         * UIProcess/qt/QtPageClient.h:
2872         (WebKit):
2873         (QtPageClient):
2874
2875 2012-09-13  Christophe Dumez  <christophe.dumez@intel.com>
2876
2877         [EFL][WK2] Make _ref() functions return the object
2878         https://bugs.webkit.org/show_bug.cgi?id=96604
2879
2880         Reviewed by Gyuyoung Kim.
2881
2882         Make _ref() functions return the ref'd object to
2883         make them more convenient to use. Also fix their
2884         usage to make use of the newly returned value.
2885
2886         This change is consistent with eina_stringshare_ref()
2887         in EFL and g_object_ref() in glib.
2888
2889         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2890         (createEinaList):
2891         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
2892         (ewk_back_forward_list_item_ref):
2893         * UIProcess/API/efl/ewk_back_forward_list_item.h:
2894         * UIProcess/API/efl/ewk_context.cpp:
2895         (ewk_context_download_job_add):
2896         * UIProcess/API/efl/ewk_download_job.cpp:
2897         (ewk_download_job_ref):
2898         (ewk_download_job_response_set):
2899         * UIProcess/API/efl/ewk_download_job.h:
2900         * UIProcess/API/efl/ewk_form_submission_request.cpp:
2901         (ewk_form_submission_request_ref):
2902         * UIProcess/API/efl/ewk_form_submission_request.h:
2903         * UIProcess/API/efl/ewk_intent.cpp:
2904         (ewk_intent_ref):
2905         * UIProcess/API/efl/ewk_intent.h:
2906         * UIProcess/API/efl/ewk_intent_service.cpp:
2907         (ewk_intent_service_ref):
2908         * UIProcess/API/efl/ewk_intent_service.h:
2909         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
2910         (ewk_navigation_policy_decision_ref):
2911         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
2912         * UIProcess/API/efl/ewk_url_request.cpp:
2913         (ewk_url_request_ref):
2914         * UIProcess/API/efl/ewk_url_request.h:
2915         * UIProcess/API/efl/ewk_url_response.cpp:
2916         (ewk_url_response_ref):
2917         * UIProcess/API/efl/ewk_url_response.h:
2918         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
2919         (ewk_url_scheme_request_ref):
2920         * UIProcess/API/efl/ewk_url_scheme_request.h:
2921         * UIProcess/API/efl/ewk_view.cpp:
2922         (ewk_view_resource_load_initiated):
2923         * UIProcess/API/efl/ewk_web_resource.cpp:
2924         (ewk_web_resource_ref):
2925         * UIProcess/API/efl/ewk_web_resource.h:
2926
2927 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2928
2929         Unreviewed, rolling out r127876.
2930         http://trac.webkit.org/changeset/127876
2931         https://bugs.webkit.org/show_bug.cgi?id=96600
2932
2933         mouse click doesn't work for spin button if spin button in
2934         iframe (Requested by yosin on #webkit).
2935
2936         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
2937         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
2938         * WebProcess/WebPage/WebPage.cpp:
2939         (WebKit::handleContextMenuEvent):
2940         (WebKit::WebPage::highlightPotentialActivation):
2941         (WebKit::WebPage::findZoomableAreaForPoint):
2942         * WebProcess/WebPage/mac/WebPageMac.mm:
2943         (WebKit::WebPage::characterIndexForPoint):
2944         (WebKit::WebPage::performDictionaryLookupAtLocation):
2945         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
2946         (WebKit::WebPage::acceptsFirstMouse):
2947         * win/WebKit2.def:
2948         * win/WebKit2CFLite.def:
2949
2950 2012-09-12  Brady Eidson  <beidson@apple.com>
2951
2952         Assert in NetscapePlugin::destroy() with async plugin init
2953         <rdar://problem/12277595> and https://bugs.webkit.org/show_bug.cgi?id=96576
2954
2955         Reviewed by Anders Carlsson.
2956
2957         Most of the NPN_* API calls have a plug-in protector during the calls.
2958         NPN_Invoke and NPN_InvokeDefault do not.
2959
2960         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2961         (WebKit::NPN_Invoke): Protect the plug-in during this call.
2962         (WebKit::NPN_InvokeDefault): Ditto.
2963
2964 2012-09-11  Alexey Proskuryakov  <ap@apple.com>
2965
2966         <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are no longer created for sandbox paths
2967         https://bugs.webkit.org/show_bug.cgi?id=96442
2968
2969         Reviewed by Darin Adler.
2970
2971         * Shared/SandboxExtension.h:
2972         (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
2973         * Shared/mac/SandboxExtensionMac.mm:
2974         (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
2975         Added a function for read-write configuration directories. It matches
2976         appendReadwriteSandboxDirectory() function behavior from WebProcessMac.mm.
2977
2978         * UIProcess/WebContext.cpp:
2979         (WebKit::WebContext::createNewWebProcess):
2980         * UIProcess/mac/WebContextMac.mm:
2981         (WebKit::WebContext::platformInitializeWebProcess):
2982         Use the new function for directories that need to be created if they don't exist.
2983
2984 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
2985
2986         [WK2][WKTR] TestRunner needs to implement originsWithApplicationCache
2987         https://bugs.webkit.org/show_bug.cgi?id=96496
2988
2989         Reviewed by Kenneth Rohde Christiansen.
2990
2991         Add Bundle C API to retrieve security origins with
2992         an application cache. This is needed by WebKitTestRunner
2993         to support originsWithApplicationCache.
2994
2995         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2996         (WKBundleCopyOriginsWithApplicationCache):
2997         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2998         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2999         (WebKit::InjectedBundle::originsWithApplicationCache):
3000         (WebKit):
3001         * WebProcess/InjectedBundle/InjectedBundle.h:
3002         (InjectedBundle):
3003
3004 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
3005
3006         [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
3007         https://bugs.webkit.org/show_bug.cgi?id=96374
3008
3009         Reviewed by Kenneth Rohde Christiansen.
3010
3011         Add Bundle C API to reset the application cache quota
3012         for a given origin.
3013
3014         Add new reachedApplicationCacheOriginQuota callback
3015         to WKBundlePageUIClient which is called from
3016         WebChromeClient::reachedApplicationCacheOriginQuota().
3017
3018         Those are needed by WebKitTestRunner to dump
3019         information about the application cache callbacks
3020         if instructed to.
3021
3022         * Shared/APIClientTraits.cpp:
3023         (WebKit):
3024         * Shared/APIClientTraits.h:
3025         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3026         (WKBundleSetApplicationCacheOriginQuota):
3027         (WKBundleResetApplicationCacheOriginQuota):
3028         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3029         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3030         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3031         (WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
3032         (WebKit):
3033         * WebProcess/InjectedBundle/InjectedBundle.h:
3034         (InjectedBundle):
3035         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3036         (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
3037         (WebKit):
3038         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3039         (WebKit):
3040         (InjectedBundlePageUIClient):
3041         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3042         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
3043         * win/WebKit2.def:
3044         * win/WebKit2CFLite.def:
3045
3046 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3047
3048         Unreviewed, rolling out r128280.
3049         http://trac.webkit.org/changeset/128280
3050         https://bugs.webkit.org/show_bug.cgi?id=96498
3051
3052         it broke compilation on windows debug bot (Requested by loislo
3053         on #webkit).
3054
3055         * Shared/APIClientTraits.cpp:
3056         (WebKit):
3057         * Shared/APIClientTraits.h:
3058         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3059         (WKBundleSetApplicationCacheOriginQuota):
3060         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3061         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3062         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3063         * WebProcess/InjectedBundle/InjectedBundle.h:
3064         (InjectedBundle):
3065         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3066         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3067         (WebKit):
3068         (InjectedBundlePageUIClient):
3069         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3070         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
3071
3072 2012-09-12  Byungwoo Lee  <bw80.lee@samsung.com>
3073
3074         [EFL][WK2] WorkQueue::dispatchAfterDelay() doesn't work properly.
3075         https://bugs.webkit.org/show_bug.cgi?id=91179
3076
3077         Reviewed by Gyuyoung Kim.
3078
3079         When UI Process is crashed and WebProcess's ecore main loop is very
3080         busy or lockup also, watchdocCallback() function in the
3081         ChildProcess.cpp doesn't triggered. And this is because of that
3082         WorkQueue::dispatchAfterDelay() function uses ecore timer for getting
3083         timer event.
3084
3085         For removing the dependency between the dispatchAfterDelay() and ecore
3086         main loop, new timer event mechanism is added to WorkQueue main loop.
3087
3088         * Platform/WorkQueue.h:
3089         (TimerWorkItem):
3090         (WorkQueue::TimerWorkItem::dispatch):
3091         (WorkQueue::TimerWorkItem::expireTime):
3092         (WorkQueue::TimerWorkItem::expired):
3093         (WorkQueue):
3094         * Platform/efl/WorkQueueEfl.cpp:
3095         (WorkQueue::TimerWorkItem::create):
3096         (WorkQueue::TimerWorkItem::TimerWorkItem):
3097         (WorkQueue::performFileDescriptorWork):
3098         (WorkQueue::getCurrentTime):
3099         (WorkQueue::getNextTimeOut):
3100         (WorkQueue::performTimerWork):
3101         (WorkQueue::workQueueThread):
3102         (WorkQueue::dispatchAfterDelay):
3103
3104 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
3105
3106         [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks
3107         https://bugs.webkit.org/show_bug.cgi?id=96374
3108
3109         Reviewed by Kenneth Rohde Christiansen.
3110
3111         Add Bundle C API to reset the application cache quota
3112         for a given origin.
3113
3114         Add new reachedApplicationCacheOriginQuota callback
3115         to WKBundlePageUIClient which is called from
3116         WebChromeClient::reachedApplicationCacheOriginQuota().
3117
3118         Those are needed by WebKitTestRunner to dump
3119         information about the application cache callbacks
3120         if instructed to.
3121
3122         * Shared/APIClientTraits.cpp:
3123         (WebKit):
3124         * Shared/APIClientTraits.h:
3125         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3126         (WKBundleSetApplicationCacheOriginQuota):
3127         (WKBundleResetApplicationCacheOriginQuota):
3128         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3129         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3130         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3131         (WebKit::InjectedBundle::resetApplicationCacheOriginQuota):
3132         (WebKit):
3133         * WebProcess/InjectedBundle/InjectedBundle.h:
3134         (InjectedBundle):
3135         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3136         (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
3137         (WebKit):
3138         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3139         (WebKit):
3140         (InjectedBundlePageUIClient):
3141         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3142         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
3143
3144 2012-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3145
3146         [WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount
3147         https://bugs.webkit.org/show_bug.cgi?id=96388
3148
3149         Reviewed by Kenneth Rohde Christiansen.
3150
3151         Added WKBundleGetWorkerThreadCount() function to Injected Bundle private API.
3152
3153         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3154         (WKBundleGetWorkerThreadCount):
3155         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3156         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3157         (WebKit::InjectedBundle::workerThreadCount): Returns count of worker threads.
3158         (WebKit):
3159         * WebProcess/InjectedBundle/InjectedBundle.h:
3160         (InjectedBundle):
3161
3162 2012-09-12  Darin Adler  <darin@apple.com>
3163
3164         Make NetscapePlugin::m_timers use HashMap<OwnPtr> instead of deleteAllValues
3165         https://bugs.webkit.org/show_bug.cgi?id=96469
3166
3167         Reviewed by Dan Bernstein.
3168
3169         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3170         (WebKit::NetscapePlugin::scheduleTimer): Call release rather than leakPtr when
3171         entering a timer into the map.
3172         (WebKit::NetscapePlugin::unscheduleTimer): Take an existing timer from the map
3173         with the take function rather than the roundabout code needed before.
3174         (WebKit::NetscapePlugin::destroy): Remove now-unneeded call to deleteAllValues.
3175         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Change the value type for
3176         TimerMap to OwnPtr<Timer> rather than Timer*.
3177
3178 2012-09-11  Anders Carlsson  <andersca@apple.com>
3179
3180         Accelerated compositing should always be forced when using the tiled drawing area
3181         https://bugs.webkit.org/show_bug.cgi?id=96449
3182
3183         Reviewed by Andy Estes.
3184
3185         There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled.
3186         This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences.
3187
3188         * WebProcess/WebPage/DrawingArea.h:
3189         (WebKit::DrawingArea::updatePreferences):
3190         This now takes a WebPreferencesStore.
3191
3192         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3193         (WebKit::DrawingAreaImpl::updatePreferences):
3194         Move code here from WebPage::updatePreferences.
3195
3196         * WebProcess/WebPage/WebPage.cpp:
3197         (WebKit::WebPage::updatePreferences):
3198         Pass the WebPreferencesStore to DrawingArea::updatePreferences.
3199
3200         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3201         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3202         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3203         Remove call to updatePreferences, it's going to be called by the WebPage object later.
3204
3205         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3206         This now takes a WebPreferencesStore.
3207
3208 2012-09-11  Brady Eidson  <beidson@apple.com>
3209
3210         Get rid of the PluginProcessShim for 64-bit plug-ins
3211         <rdar://problem/12068560> and https://bugs.webkit.org/show_bug.cgi?id=96415
3212
3213         Reviewed by Anders Carlsson.
3214
3215         * PluginProcess/PluginProcess.h:
3216         (PluginProcess):
3217
3218         * PluginProcess/mac/PluginProcessMac.mm:
3219         (WebKit::getCurrentEventButtonState):
3220         (WebKit):
3221         (WebKit::beginModal): Moved from the shim, to be shared with shimmed processes.
3222         (WebKit::endModal): Ditto.
3223         (WebKit::replacedRunModalForWindow): Only used by Cocoa overrides.
3224         (WebKit::PluginProcess::initializeShim):
3225         (WebKit::PluginProcess::initializeCocoaOverrides): 
3226
3227         * PluginProcess/mac/PluginProcessMainMac.mm:
3228         (WebKit::PluginProcessMain): Only call initializeShim for 32-bit processes, always call initializeCocoaOverrides
3229
3230         * PluginProcess/mac/PluginProcessShim.h:
3231         (PluginProcessShimCallbacks):
3232         * PluginProcess/mac/PluginProcessShim.mm:
3233         (WebKit):
3234         (WebKit::shimModalDialog): Call beginModal/endModal from the shim callbacks.
3235         (WebKit::shimAlert): Ditto.
3236         (WebKit::WebKitPluginProcessShimInitialize): Don't do the Cocoa overrides as they are now handled outside the shim.
3237
3238 2012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
3239
3240         Restore original value of mock scrollbars enabled in InternalSettings
3241         https://bugs.webkit.org/show_bug.cgi?id=87680
3242
3243         Reviewed by Adam Barth.
3244
3245         Added backup support for mock scrollbars state in
3246         InternalSettings::Backup, and removed support for these
3247         from Qt's DumpRenderTree.
3248
3249         * win/WebKit2.def:
3250
3251 2012-09-11  Brady Eidson  <beidson@apple.com>
3252
3253         We should wait longer before killing the PluginProcess.
3254         <rdar://problem/12067728> and https://bugs.webkit.org/show_bug.cgi?id=96407
3255
3256         Reviewed by Anders Carlsson.
3257
3258         Currently we kill the PluginProcess 15 seconds after the last plug-in is destroyed.
3259         This is short enough that most users will have the process killed many times during browsing sessions,
3260         which is painful because relaunching the process is I/O and kernel intensive.
3261
3262         In an ideal world we could keep it around forever until the system tells us resources are running low.
3263
3264         In reality we do want to kill it occasionally to get a clean slate from any plug-in leaks.
3265
3266         A reasonable balance for now is to set a minimum lifetime of 30 minutes on the plug-in process and to 
3267         extend the termination timer from 15 seconds to 10 minutes.
3268         
3269         * PluginProcess/PluginProcess.cpp:
3270         (WebKit::PluginProcess::PluginProcess):
3271         (WebKit::PluginProcess::initializePluginProcess):
3272         (WebKit::PluginProcess::setMinimumLifetime):
3273         (WebKit):
3274         (WebKit::PluginProcess::minimumLifetimeTimerFired):
3275         * PluginProcess/PluginProcess.h:
3276         (PluginProcess):
3277
3278         * Shared/Plugins/PluginProcessCreationParameters.cpp:
3279         (WebKit::PluginProcessCreationParameters::encode):
3280         (WebKit::PluginProcessCreationParameters::decode):
3281         * Shared/Plugins/PluginProcessCreationParameters.h:
3282         (PluginProcessCreationParameters):
3283
3284         * UIProcess/Plugins/PluginProcessProxy.cpp:
3285         (WebKit):
3286         (WebKit::PluginProcessProxy::didFinishLaunching):
3287
3288 2012-09-11  Jinwoo Song  <jinwoo7.song@samsung.com>
3289
3290         Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
3291         https://bugs.webkit.org/show_bug.cgi?id=96344
3292
3293         Reviewed by Benjamin Poulain.
3294
3295         Use StringBuilder::appendNumber() instead of String::number(). Also deploy 
3296         StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
3297
3298         * Shared/WebMemorySampler.cpp:
3299         (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
3300         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
3301         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
3302         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
3303         (WebKit::WebInspectorServer::inspectorUrlForPageID):
3304         (WebKit::WebInspectorServer::buildPageList):
3305
3306 2012-09-11  Anders Carlsson  <andersca@apple.com>
3307
3308         Fix speling error in comment.
3309
3310         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3311         (WebKit::isTransparentSilverlightBackgroundValue):
3312
3313 2012-09-11  Raphael Kubo da Costa  <rakuco@webkit.org>
3314
3315         [EFL] Rewrite the EFL-related Find modules
3316         https://bugs.webkit.org/show_bug.cgi?id=95237
3317
3318         Reviewed by Kenneth Rohde Christiansen.
3319
3320         * CMakeLists.txt: Stop setting the LINK_FLAGS property.
3321         * PlatformEfl.cmake: Add libraries and include directories for
3322         each Enlightenment Foundation Library used by the port.
3323
3324 2012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
3325
3326         [WK2][WKTR] TestRunner needs to implement setApplicationCacheOriginQuota
3327         https://bugs.webkit.org/show_bug.cgi?id=96379
3328
3329         Reviewed by Kenneth Rohde Christiansen.
3330
3331         Add Bundle C API to set the application cache quota for a
3332         given security origin. This is needed by WebKitTestRunner
3333         to implement setApplicationCacheOriginQuota().
3334
3335         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3336         (WKBundleSetApplicationCacheOriginQuota):
3337         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3338         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3339         (WebKit::InjectedBundle::setApplicationCacheOriginQuota):
3340         (WebKit):
3341         * WebProcess/InjectedBundle/InjectedBundle.h:
3342         (InjectedBundle):
3343
3344 2012-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3345
3346         [WK2][WTR] WebKitTestRunner needs testRunner.setSpatialNavigationEnabled
3347         https://bugs.webkit.org/show_bug.cgi?id=96269
3348
3349         Reviewed by Kenneth Rohde Christiansen.
3350
3351         Added a new setter for spacial navigation enabling to Injected Bundle private API.
3352
3353         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3354         (WKBundleSetSpatialNavigationEnabled):
3355         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3356         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3357         (WebKit::InjectedBundle::setSpatialNavigationEnabled):
3358         (WebKit):
3359         * WebProcess/InjectedBundle/InjectedBundle.h:
3360         (InjectedBundle):
3361
3362 2012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
3363
3364         [Qt][WK2] Page loading status API lacks a status for intentionally stopped loading
3365         https://bugs.webkit.org/show_bug.cgi?id=83062
3366
3367         Reviewed by Tor Arne Vestbø.
3368
3369         When the loading of a page is intentionally interrupted, the loading
3370         status is set to the new state LoadStoppedStatus. This reflects
3371         reality more accurately because the page was not fully loaded
3372         (a LoadSucceededStatus), and it wasn't an unexpected error
3373         (a LoadFailedStatus).
3374
3375         * UIProcess/API/qt/qquickwebview.cpp:
3376         (QQuickWebViewPrivate::loadDidStop):
3377         * UIProcess/API/qt/qquickwebview_p.h:
3378         * UIProcess/API/qt/qquickwebview_p_p.h:
3379         (QQuickWebViewPrivate):
3380         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3381         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
3382         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml:
3383         * UIProcess/qt/QtWebPageLoadClient.cpp:
3384         (WebKit::QtWebPageLoadClient::dispatchLoadStopped):
3385         (WebKit):
3386         (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
3387         * UIProcess/qt/QtWebPageLoadClient.h:
3388         (QtWebPageLoadClient):
3389
3390 2012-09-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3391
3392         [Qt] Add a configure step to the Qt build system
3393
3394         This allows building the Qt port using just 'qmake WebKit.pro'. Using
3395         the build-webkit script is still supported, and will add slightly more
3396         logic to the build, such as detecting the need for clean or incremental
3397         builds.
3398
3399         Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
3400         all things related to configuring the build, such as use/have/enable flags,
3401         and these are translated to defines in default_post. Project files should
3402         no longer check contains(DEFINES,...) to detect features, but use the new
3403         enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
3404         options have been translated into WEBKIT_CONFIG options as well, and can
3405         be checked using build?().
3406
3407         Reviewed by Simon Hausmann.
3408
3409         * Target.pri:
3410         * UIProcess/API/qt/tests/tests.pri:
3411         * WebKit2.pri:
3412         * config.h:
3413
3414 2012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
3415
3416         [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
3417         https://bugs.webkit.org/show_bug.cgi?id=96372
3418
3419         Reviewed by Kenneth Rohde Christiansen.
3420
3421         Add Bundle C API to clear the application cache for a
3422         given origin. This is needed by WebKitTestRunner to
3423         implement clearApplicationCacheForOrigin().
3424
3425         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3426         (WKBundleClearApplicationCacheForOrigin):
3427         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3428         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3429         (WebKit::InjectedBundle::clearApplicationCacheForOrigin):
3430         (WebKit):
3431         * WebProcess/InjectedBundle/InjectedBundle.h:
3432         (InjectedBundle):
3433
3434 2012-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3435
3436         [WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval
3437         https://bugs.webkit.org/show_bug.cgi?id=96256
3438
3439         Reviewed by Kenneth Rohde Christiansen.
3440
3441         Added new setter for minimum DOM timer interval to InjectedBundle private API.
3442
3443         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3444         (WKBundleSetMinimumTimerInterval):
3445         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3446         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3447         (WebKit::InjectedBundle::setMinimumTimerInterval):
3448         (WebKit):
3449         * WebProcess/InjectedBundle/InjectedBundle.h:
3450         (InjectedBundle):
3451
3452 2012-09-11  Kangil Han  <kangil.han@samsung.com>
3453
3454         [WK2][EFL] Fix compile warnings when enable tiled backing store
3455         https://bugs.webkit.org/show_bug.cgi?id=95342
3456
3457         Reviewed by Gyuyoung Kim.
3458
3459         Fixed compile time warning messages when enable tiled backing store.
3460
3461         * UIProcess/API/efl/ewk_view.cpp:
3462         (ewk_view_accelerated_compositing_mode_enter): Fixed invalid use of 'EINA_SAFETY_ON_NULL_RETURN_VAL' since it used '!' ahead of evasGl value so it is always null.
3463         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3464         (WebCore::CoordinatedGraphicsLayer::setChildren): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
3465         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3466         (WebKit::LayerTreeCoordinator::renderNextFrame): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
3467         (WebKit::LayerTreeCoordinator::beginContentUpdate): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
3468
3469 2012-09-11  Byungwoo Lee  <bw80.lee@samsung.com>
3470
3471         [EFL][WK2] WKEinaSharedString needs a function to adopt eina stringshare.
3472         https://bugs.webkit.org/show_bug.cgi?id=96201
3473
3474         Reviewed by Kenneth Rohde Christiansen.
3475
3476         WKEinaSharedString needs a to adopt eina stringshare directly.
3477
3478         With this adopt function, an instance that is directly created with
3479         eina_stringshare_add() can be easily handled by WKEinaSharedString
3480         without calling eina_stringshare_del() for preventing memory leak.
3481
3482         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
3483         (WKEinaSharedString::adopt):
3484         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
3485         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
3486         (TEST_F):
3487
3488 2012-09-11  Andras Becsi  <andras.becsi@nokia.com>
3489
3490         [Qt][WK2] Fix the build with recent Qt5
3491         https://bugs.webkit.org/show_bug.cgi?id=96283
3492
3493         Reviewed by Simon Hausmann.
3494
3495         We should not use deprecated Qt API because doing that results
3496         in build failure since all the deprecated API was disabled
3497         in qtbase (https://codereview.qt-project.org/#change,24890).
3498
3499         * UIProcess/API/qt/qwebnavigationhistory.cpp:
3500         (QWebNavigationListModel::roleNames):
3501         (QWebNavigationListModel::reset):
3502         * UIProcess/API/qt/qwebnavigationhistory_p.h:
3503         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
3504         (WebView::load):
3505         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
3506         (PopupMenuItemModel):
3507         (WebKit::PopupMenuItemModel::PopupMenuItemModel):
3508         (WebKit::PopupMenuItemModel::roleNames):
3509         (WebKit):
3510
3511 2012-09-11  Christophe Dumez  <christophe.dumez@intel.com>
3512
3513         WTR needs an implementation of applicationCacheDiskUsageForOrigin
3514         https://bugs.webkit.org/show_bug.cgi?id=87188
3515
3516         Reviewed by Kenneth Rohde Christiansen.
3517
3518         Add Bundle private C API to retrieve the application cache
3519         usage for a specific security origin. This is needed by
3520         WebKitTestRunner.
3521
3522         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3523         (WKBundleGetAppCacheUsageForOrigin):
3524         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3525         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3526         (WebKit::InjectedBundle::appCacheUsageForOrigin):
3527         (WebKit):
3528         * WebProcess/InjectedBundle/InjectedBundle.h:
3529         (InjectedBundle):
3530
3531 2012-09-11  Zhigang Gong  <zhigang.gong@linux.intel.com>
3532
3533         [EFL][WK2] Add necessary include directory in WebKit2
3534         https://bugs.webkit.org/show_bug.cgi?id=95173
3535
3536         Unreviewed build fix.
3537
3538         revision r126694: Move TextureMapperGL to use
3539         GraphicsContext3D. modify the TextureMapperGL.h to include
3540         GraphicsContext3D.h. And when enable TEXTURE_MAPPER,
3541         file WebKit2/Shared/ShareableSurface.cpp will include
3542         TextureMapperGL.h then depends on GraphicsContext3D.h
3543         thus it need to add ANGLE director. As currently, this
3544         problem only affect EFL platform, according to Gyuyoung Kim's
3545         suggestion, we add this include dir into EFL private file
3546         PlatformEfl.cmake. Otherwise, the build will fail.
3547
3548         To trigger this problem by using the following command:
3549         ./Tools/Scripts/build-webkit --efl --3d-rendering --tiled-backing-store
3550
3551         * CMakeLists.txt:
3552
3553 2012-09-10  Byungwoo Lee  <bw80.lee@samsung.com>
3554
3555         [EFL][WK2] Build warning : fix warning about extended initializer lists on EWK2UnitTestBase.cpp.
3556         https://bugs.webkit.org/show_bug.cgi?id=95990
3557
3558         Reviewed by Gyuyoung Kim.
3559
3560         Fix build warning about extended initializer lists only available with
3561         -std=c++0x or -std=gnu++0x.
3562
3563         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3564         (EWK2UnitTest::ewk2UnitTestBrowserViewSmartClass):
3565         (EWK2UnitTest):
3566         (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
3567
3568 2012-09-10  Beth Dakin  <bdakin@apple.com>
3569
3570         https://bugs.webkit.org/show_bug.cgi?id=96158
3571         Need API to suppress scrollbar animations
3572         -and corresponding-
3573         <rdar://problem/12210972>
3574
3575         Reviewed by Sam Weinig.
3576
3577         Add suppressScrollbarAnimations as a WebCreationParameter.
3578         * Shared/WebPageCreationParameters.h:
3579         (WebPageCreationParameters):
3580
3581         New API. Calls into the web process for the setter but not the 
3582         getter.
3583         * UIProcess/API/C/WKPage.cpp:
3584         (WKPageSetSuppressScrollbarAnimations):
3585         (WKPageAreScrollbarAnimationsSuppressed):
3586         * UIProcess/API/C/WKPage.h:
3587         * UIProcess/WebPageProxy.cpp:
3588         (WebKit::WebPageProxy::WebPageProxy):
3589         (WebKit::WebPageProxy::setSuppressScrollbarAnimations):
3590         (WebKit):
3591         (WebKit::WebPageProxy::creationParameters):
3592         * UIProcess/WebPageProxy.h:
3593         (WebPageProxy):
3594         (WebKit::WebPageProxy::areScrollbarAnimationsSuppressed):
3595         * WebProcess/WebPage/WebPage.messages.in:
3596
3597         Call into WebCore.
3598         * WebProcess/WebPage/WebPage.cpp:
3599         (WebKit::WebPage::setSuppressScrollbarAnimations):
3600         (WebKit):
3601         * WebProcess/WebPage/WebPage.h:
3602         (WebPage):
3603
3604         This ScrollableArea area function is re-named by this patch in 
3605         WebCore.
3606         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3607         * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
3608         (WebKit::BuiltInPDFView::scrollbarsCanBeActive):
3609
3610 2012-09-10  James Robinson  <jamesr@chromium.org>
3611
3612         Unreviewed, rolling out r127837.
3613         http://trac.webkit.org/changeset/127837
3614         https://bugs.webkit.org/show_bug.cgi?id=93898
3615
3616         Broke ScrollingCoordinator on chromium
3617
3618         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3619         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3620
3621 2012-09-10  Jer Noble  <jer.noble@apple.com>
3622
3623         Unreviewed; rolling out r128081.
3624         http://trac.webkit.org/changeset/128081
3625         https://bugs.webkit.org/show_bug.cgi?id=96134
3626
3627         New test http/tests/media/video-donottrack.html fails to run on Apple test bots.
3628
3629         * Shared/APIClientTraits.h:
3630         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3631         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3632         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
3633         (InjectedBundlePageLoaderClient):
3634         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3635         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3636         (WebFrameLoaderClient):
3637         * WebProcess/qt/QtBuiltinBundlePage.cpp:
3638         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
3639
3640 2012-09-07  Jon Lee  <jonlee@apple.com>
3641
3642         Update notifications to latest spec
3643         https://bugs.webkit.org/show_bug.cgi?id=91726
3644         <rdar://problem/11910451>
3645
3646         Reviewed by Alexey Proskuryakov.
3647
3648         Expose lang and dir.
3649
3650         * UIProcess/API/C/WKNotification.cpp:
3651         (WKNotificationCopyLang):
3652         (WKNotificationCopyDir):
3653         * UIProcess/API/C/WKNotification.h:
3654         * UIProcess/Notifications/WebNotification.cpp:
3655         (WebKit::WebNotification::WebNotification):
3656         * UIProcess/Notifications/WebNotification.h:
3657         (WebKit::WebNotification::create):
3658         (WebKit::WebNotification::lang):
3659         (WebKit::WebNotification::dir):
3660         (WebNotification):
3661         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
3662         (WebKit::WebNotificationManagerProxy::show):
3663         * UIProcess/Notifications/WebNotificationManagerProxy.h:
3664         (WebNotificationManagerProxy):
3665         * UIProcess/WebPageProxy.cpp:
3666         (WebKit::WebPageProxy::showNotification):
3667         * UIProcess/WebPageProxy.h:
3668         (WebPageProxy):
3669         * UIProcess/WebPageProxy.messages.in:
3670         * WebProcess/Notifications/WebNotificationManager.cpp:
3671         (WebKit::WebNotificationManager::show):
3672
3673 2012-09-10  Alexey Proskuryakov  <ap@apple.com>
3674
3675         Build fix.
3676
3677         * UIProcess/WebContext.h: Added a default value for relatedPage argment - if
3678         you don't have one, null is fine.
3679
3680 2012-09-10  Alexey Proskuryakov  <ap@apple.com>
3681
3682         [WK2] Add an API to open a page in same process
3683         https://bugs.webkit.org/show_bug.cgi?id=96306
3684
3685         Reviewed by Anders Carlsson.
3686
3687         The name "related" inspired by <http://wiki.whatwg.org/wiki/Links_to_Unrelated_Browsing_Contexts>.
3688
3689         * UIProcess/API/mac/WKView.h: Added an API. It's unwieldy, but I blame
3690         WKBrowsingContextGroup, not the related view.
3691
3692         * UIProcess/API/mac/WKViewPrivate.h: Matching SPI for clients that mostly use
3693         C APIs.
3694
3695         * UIProcess/API/mac/WKView.mm:
3696         (-[WKView initWithFrame:processGroup:browsingContextGroup:]): Use new back-end
3697         signature.
3698         (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
3699         Get page from WKView, and call back-end.
3700         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Reimplement existing method
3701         by calling new, more powerful one.
3702         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Just one change,
3703         pass relatedPage to the context.
3704
3705         * UIProcess/WebContext.cpp: (WebKit::WebContext::createWebPage): If related page
3706         is not null, use its process.
3707
3708         * UIProcess/WebContext.h: (WebContext): Updated createWebPage signature.
3709
3710 2012-09-10  Brady Eidson  <beidson@apple.com>
3711
3712         Javascript in foreground tabs should not wait synchronously for plug-ins to load
3713         <rdar://problem/12067415> and https://bugs.webkit.org/show_bug.cgi?id=96167
3714
3715         Reviewed by Geoff Garen.
3716
3717         Synchronously waiting for initialization to complete when javascript accesses the plug-in script object severely
3718         reduces the effectiveness of having an asynchronous NPP_New.
3719
3720         Such as with background tabs that have never been viewed, we already have cases where JS calls into the plug-in 
3721         element fail because we haven't bothered to initialize the plug-in.
3722
3723         We get a huge win by expanding that to foreground tabs that simply haven't finished initializing their plug-ins.
3724
3725         * WebProcess/Plugins/PluginView.cpp:
3726         (WebKit::PluginView::scriptObject): If initialization is not complete just return 0 - They can get at the script object later.
3727
3728         Remove the notion of "wait for asynchronous initialization" altogether:
3729         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3730         (NetscapePlugin):
3731         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3732         (BuiltInPDFView):
3733         * WebProcess/Plugins/Plugin.h:
3734         (Plugin):
3735         * WebProcess/Plugins/PluginProxy.cpp:
3736         * WebProcess/Plugins/PluginProxy.h:
3737         (PluginProxy):
3738
3739 2012-09-07  Jer Noble  <jer.noble@apple.com>
3740
3741         <audio> and <video> should send Do Not Track when appropriate
3742         https://bugs.webkit.org/show_bug.cgi?id=96134
3743
3744         Reviewed by Eric Carlson.
3745
3746         Add support for the shouldSendDoNotTrackHTTPHeader by passing the request
3747         on to the WebFrameLoadDelegate.
3748
3749         * Shared/APIClientTraits.cpp: Increment the interfaceSizes for 
3750             WKBundlePageLoaderClient by the value of the new functions.
3751         * Shared/APIClientTraits.h: Ditto.
3752         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add a new API to 
3753             WKBundlePageLoaderClient and bump the version number.
3754         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3755         (WebKit::InjectedBundlePageLoaderClient::shouldSendDoNotTrackHTTPHeader):
3756             Pass the question on to the client.
3757         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
3758         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3759         (WebKit::WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader):
3760             Pass the question on to the bundle.
3761         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3762         * WebProcess/qt/QtBuiltinBundlePage.cpp:
3763         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
3764             Add an entry for the new function in the Qt loader client.
3765
3766 2012-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3767
3768         [SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename()
3769         https://bugs.webkit.org/show_bug.cgi?id=96261
3770
3771         Reviewed by Martin Robinson.
3772
3773         * WebProcess/Downloads/soup/DownloadSoup.cpp:
3774         (WebKit::DownloadClient::didReceiveResponse):
3775
3776 2012-09-10  Alexander Shalamov  <alexander.shalamov@intel.com>
3777
3778         [EFL][WK2] Add fullscreen enter / exit signals to the ewk_view API
3779         https://bugs.webkit.org/show_bug.cgi?id=92362
3780
3781         Reviewed by Gyuyoung Kim.
3782
3783         Handle WebFullScreenManagerProxy::enterFullScreen and exitFullScreen
3784         methods, so that ewk_view could enter and exit fullscreen mode when requested.
3785         Also, two callbacks were added to ewk_view API, so that UI could customise
3786         behavior when fullscreen mode is requested, e.g. show security dialog.
3787
3788         * UIProcess/API/efl/ewk_settings.cpp:
3789         (ewk_settings_fullscreen_enabled_set):
3790         (ewk_settings_fullscreen_enabled_get):
3791         * UIProcess/API/efl/ewk_settings.h:
3792         * UIProcess/API/efl/ewk_view.cpp:
3793         (_ewk_view_initialize):
3794         (ewk_view_full_screen_enter):
3795         (ewk_view_full_screen_exit):
3796         * UIProcess/API/efl/ewk_view.h:
3797         * UIProcess/API/efl/ewk_view_private.h:
3798         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3799         (TEST_F):
3800         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3801         (fullScreenCallback):
3802         (checkFullScreenProperty):
3803         (TEST_F):
3804         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3805         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
3806         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
3807
3808 2012-09-10  Kevin Funk  <kevin.funk@kdab.com>
3809
3810         [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
3811         https://bugs.webkit.org/show_bug.cgi?id=96258
3812
3813         Reviewed by Simon Hausmann.
3814
3815         Sync with latest changes in Qt5.
3816
3817         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
3818         * WebProcess/qt/WebProcessQt.cpp:
3819
3820 2012-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3821
3822         [GTK] Sanitize the suggested filename when building the download destination URI
3823         https://bugs.webkit.org/show_bug.cgi?id=96260
3824
3825         Reviewed by Gustavo Noronha Silva.
3826
3827         The suggested filename returned by the server can contain
3828         directory separators so that the filename would be interpreted as
3829         a full path.
3830
3831         * UIProcess/API/gtk/WebKitDownload.cpp:
3832         (webkitDownloadDecideDestination): Convert any directory separator
3833         contained in the suggested filename to an underscore.
3834
3835 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
3836
3837         [Qt] Fix generation of forward headers for generated files in WebCore on Windows
3838         https://bugs.webkit.org/show_bug.cgi?id=96245
3839
3840         Reviewed by Tor Arne Vestbø.
3841
3842         We generate the forwarding header files of generated WebCore sources by using
3843         mkdir to ensure the target directory exists, followed by
3844         echo #include "..." > file.h. On Windows mkdir returns with an error if the
3845         target directory exists. For us that is not an error, so work around it with
3846         (mkdir path 2>nul || echo>nul)
3847
3848         * DerivedSources.pri:
3849
3850 2012-09-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3851
3852         [Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash
3853         https://bugs.webkit.org/show_bug.cgi?id=96243
3854
3855         Reviewed by Kenneth Rohde Christiansen.
3856
3857         Skip the code if QClipboard is not available, and give WebCore a chance to handle the event first.
3858
3859         * WebProcess/WebPage/WebPage.cpp:
3860         (WebKit::handleMouseEvent):
3861         * WebProcess/WebPage/qt/WebPageQt.cpp:
3862         (WebKit::WebPage::handleMouseReleaseEvent):
3863
3864 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
3865
3866         [Qt] WK2 build fixes for MSVC
3867         https://bugs.webkit.org/show_bug.cgi?id=96248
3868
3869         Reviewed by Tor Arne Vestbø.
3870
3871         MSVC is picky when it comes to the use of forward declaration and the use of
3872         such forward declared types in templates. In these instances inline functions were
3873         passed parameters in RefPtrs that were only forward declared, but at compile time
3874         MSVC wants to know what type it is in order to completely instantiate RefPtr (which
3875         needs to call the type destructor for example). Therefore this patch resolves a couple
3876         of forward declarations with direct header file inclusions.
3877
3878         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3879         * UIProcess/InspectorServer/WebSocketServerClient.h:
3880         * UIProcess/qt/QtPageClient.h:
3881
3882 2012-09-10  Andras Becsi  <andras.becsi@nokia.com>
3883
3884         [Qt][WK2] QWebKitTest should retrieve the viewport state from the PageViewportController
3885         https://bugs.webkit.org/show_bug.cgi?id=96106
3886
3887         Reviewed by Simon Hausmann.
3888
3889         The functions in PageViewportControllerClientQt proxying the
3890         viewport state values can be removed if QWebKitTest uses the
3891         PageViewportController to retrieve these values.
3892
3893         * UIProcess/API/qt/qquickwebview_p_p.h:
3894         (QQuickWebViewPrivate::viewportController):
3895         * UIProcess/API/qt/qwebkittest.cpp:
3896         (QWebKitTest::viewport):
3897         (QWebKitTest::devicePixelRatio):
3898         (QWebKitTest::contentsScale):
3899         * UIProcess/PageViewportController.h:
3900         (WebKit::PageViewportController::currentContentsScale):
3901         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3902         * UIProcess/qt/PageViewportControllerClientQt.h:
3903         (PageViewportControllerClientQt):
3904
3905 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
3906
3907         [WK2] Make WK2 C API headers compile in the Qt build on Windows
3908         https://bugs.webkit.org/show_bug.cgi?id=96246
3909
3910         Reviewed by Kenneth Rohde Christiansen.
3911
3912         WKBase.h and WKAPICast.h include files that are specific to the Safari/Windows
3913         port if WIN32 or _WIN32 is defined. When building WebKit2 on Windows with Qt, we
3914         do not want to include these files, as they define an API that is different to ours
3915         (the view aspect differs). Therefore guard the inclusion with !defined(BUILDING_QT__)
3916
3917         * Shared/API/c/WKBase.h:
3918         * UIProcess/API/C/WKAPICast.h:
3919
3920 2012-09-10  Kevin Funk  <kevin.funk@kdab.com>
3921
3922         Replace calls to QString::fromAscii which is deprecated in Qt5
3923         https://bugs.webkit.org/show_bug.cgi?id=96242
3924
3925         Reviewed by Simon Hausmann.
3926
3927         Replace with QString::fromLatin1 which does the same.
3928
3929         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
3930
3931 2012-09-10  Christophe Dumez  <christophe.dumez@intel.com>
3932
3933         [WK2] New fast/forms/number/number-interactive-validation-required.html fails
3934         https://bugs.webkit.org/show_bug.cgi?id=95936
3935
3936         Reviewed by Kenneth Rohde Christiansen.
3937
3938         Add WKPreference private API for manipulate the interactive form
3939         validation setting. This is now needed by WebKitTestRunner.
3940
3941         * Shared/WebPreferencesStore.h:
3942         (WebKit):
3943         * UIProcess/API/C/WKPreferences.cpp:
3944         (WKPreferencesSetInteractiveFormValidationEnabled):
3945         (WKPreferencesGetInteractiveFormValidationEnabled):
3946         * UIProcess/API/C/WKPreferencesPrivate.h:
3947         * WebProcess/WebPage/WebPage.cpp:
3948         (WebKit::WebPage::updatePreferences):
3949
3950 2012-09-09  Sam Weinig  <sam@webkit.org>
3951
3952         Simplify WebKit2 XPC service backend now that I know it doesn't need to soft link WebKit2.framework
3953         https://bugs.webkit.org/show_bug.cgi?id=96228
3954
3955         Reviewed by Dan Bernstein.
3956
3957         We soft link the non-XPC service WebProcess backend to the WebKit2 framework to
3958         ensure that we can close all the necessary file descriptors at launch, without
3959         fear that we will be closing one we open while initializing WebKit2 or one of its
3960         dependencies. Since we don't need to close file descriptors in the XPC service 
3961         backend, we don't need to soft link! While here, also do some cleanup and code
3962         sharing.
3963
3964         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3965         (WebKit::launchXPCService):
3966         We don't need to send the framework executable path anymore (it was used for the
3967         soft linking), but we do need the client identifier.
3968         
3969         * WebKit2.xcodeproj/project.pbxproj:
3970         Add new files. Link the XPC service to WebKit2.framework.
3971
3972         * WebKit2Service/MainMacService.mm:
3973         Now that we don't have to soft link, just make this a stub that calls immediately
3974         into the WebKit2 framework.
3975         
3976         * WebProcess/mac/WebProcessInitialization.h: Added.
3977         * WebProcess/mac/WebProcessInitialization.mm: Added.
3978         (WebKit::InitializeWebProcess):
3979         Move initialization that is common between the XPC and non-XPC backends here.
3980
3981         * WebProcess/mac/WebProcessMainMac.mm:
3982         (WebKit::WebProcessMain):
3983         Remove XPC backend related code. Use new shared InitializeWebProcess function.
3984
3985         * WebProcess/mac/WebProcessXPCServiceMain.h: Added.
3986         * WebProcess/mac/WebProcessXPCServiceMain.mm: Added.
3987         (WebKit::WebKit2ServiceEventHandler):
3988         (WebProcessXPCServiceMain):
3989         Move XPC service backend initialization here.
3990
3991 2012-09-09  Emil A Eklund  <eae@chromium.org>
3992
3993         Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
3994         https://bugs.webkit.org/show_bug.cgi?id=81413
3995
3996         Reviewed by David Hyatt.
3997
3998         Update WebPage to call pixelSnappedBoundingBox.
3999
4000         * WebProcess/WebPage/WebPage.cpp:
4001         (WebKit::WebPage::editorState):
4002
4003 2012-09-08  Sam Weinig  <sam@webkit.org>
4004
4005         Switch to entering the sandbox directly from main(), rather than waiting for the initialization message
4006         https://bugs.webkit.org/show_bug.cgi?id=96194
4007
4008         Reviewed by Dan Bernstein.
4009
4010         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
4011         (WebKit::ProcessLauncher::launchProcess):
4012         Pass a client identifier to WebProcess as a command line argument
4013         so that it can be used to create private temporary and cache directories.
4014
4015         * WebProcess/WebProcess.h:
4016         (WebProcess):
4017         * WebProcess/mac/WebProcessMac.mm:
4018         (WebKit::WebProcess::initializeSandbox):
4019         (WebKit::WebProcess::platformInitializeWebProcess):
4020         Expose the initializeSandbox() function and stop calling it from platformInitializeWebProcess()
4021         since it is now going to be called from WebProcessMain.  Also, move changing the current working
4022         directory to sandbox initialization function and replace use of creation parameters with just
4023         the client identifier.
4024
4025         * WebProcess/com.apple.WebProcess.sb.in:
4026         Add some new exceptions that come from entering the sandbox earlier in the AppKit
4027         initialization process. Don't allow access to com.apple.coreservices.appleevents.
4028
4029         * WebProcess/mac/WebProcessMainMac.mm:
4030         (WebKit::WebProcessMainXPC):
4031         (WebKit::WebProcessMain):
4032         Enter the sandbox explicitly, not waiting until the initialization message.  Also,
4033         since we now have an extra parameter for the client identifier, make the WebProcess
4034         launches the UIProcess code path work by extracting a client identifier from the 
4035         client executable path.
4036
4037 2012-09-09  Patrick Gansterer  <paroga@webkit.org>
4038
4039         Make the String initialization on the function side of String::number()
4040         https://bugs.webkit.org/show_bug.cgi?id=95940
4041
4042         Reviewed by Benjamin Poulain.
4043
4044         * win/WebKit2.def:
4045         * win/WebKit2CFLite.def:
4046
4047 2012-09-09  Pierre Rossi  <pierre.rossi@gmail.com>
4048
4049         [WK2] expose element rect for color input type
4050         https://bugs.webkit.org/show_bug.cgi?id=91664
4051
4052         Reviewed by Simon Hausmann.
4053
4054         In the same way we do for select elements already. This allows placing the picker
4055         in a sensible location.
4056
4057         * UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature.
4058         (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
4059         * UIProcess/API/efl/PageClientImpl.h: Ditto.
4060         (PageClientImpl):
4061         * UIProcess/API/gtk/PageClientImpl.cpp:
4062         (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
4063         * UIProcess/API/gtk/PageClientImpl.h: Ditto.
4064         (PageClientImpl):
4065         * UIProcess/API/mac/PageClientImpl.h: Ditto.
4066         (PageClientImpl):
4067         * UIProcess/API/mac/PageClientImpl.mm:
4068         (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
4069         * UIProcess/API/qt/raw/qrawwebview.cpp:
4070         (QRawWebViewPrivate::createColorChooserProxy): Ditto.
4071         * UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto.
4072         (QRawWebViewPrivate):
4073         * UIProcess/PageClient.h: Ditto.
4074         (PageClient):
4075         * UIProcess/WebPageProxy.cpp:
4076         (WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform.
4077         * UIProcess/WebPageProxy.h:
4078         (WebPageProxy):
4079         * UIProcess/WebPageProxy.messages.in:
4080         * UIProcess/qt/QtPageClient.cpp:
4081         (WebKit::QtPageClient::createColorChooserProxy):
4082         * UIProcess/qt/QtPageClient.h:
4083         (QtPageClient):
4084         * UIProcess/qt/WebColorChooserProxyQt.cpp:
4085         (ColorChooserContextObject):
4086         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
4087         (WebKit::ColorChooserContextObject::elementRect):
4088         (WebKit::ColorChooserContextObject::accept):
4089         (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
4090         * UIProcess/qt/WebColorChooserProxyQt.h:
4091         (WebKit::WebColorChooserProxyQt::create):
4092         (WebColorChooserProxyQt):
4093         * UIProcess/win/WebView.cpp:
4094         (WebKit::WebView::createColorChooserProxy): Update the function's signature.
4095         * UIProcess/win/WebView.h: