1fe2dc43e8d05081b4e73cc95ff23408c723c2f5
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-12-13  Jussi Kukkonen  <jussi.kukkonen@intel.com>
2
3         [EFL][GTK] Don't call deprecated g_type_init when glib => 2.35
4         https://bugs.webkit.org/show_bug.cgi?id=103209
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         g_type_init() is deprecated from 2.35.0 onwards. Don't call it
9         in that case to avoid warnings and/or build failure.
10
11         Also, remove a call to g_type_init() from WebProcessMainGtk():
12         It is not needed if gtk_init() is called.
13
14         * UIProcess/API/efl/ewk_main.cpp:
15         (ewk_init):
16         * WebProcess/efl/WebProcessMainEfl.cpp:
17         (WebKit::WebProcessMainEfl):
18         * WebProcess/gtk/WebProcessMainGtk.cpp:
19         (WebKit::WebProcessMainGtk):
20
21 2012-12-13  Joaquim Rocha  <jrocha@igalia.com>
22
23         REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
24         https://bugs.webkit.org/show_bug.cgi?id=104790
25
26         Reviewed by Carlos Garcia Campos.
27
28         The cookies accept policy and the cookies persistent storage type
29         were not being correctly assigned.
30
31         * UIProcess/WebContext.cpp: Set the default value of the cookie
32         accept policy.
33         (WebKit::WebContext::WebContext):
34         * UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
35         storage type (it was mistakenly assigning the policy instead) and
36         set the accept policy which was missing.
37         (WebKit::WebContext::platformInitializeWebProcess):
38
39 2012-12-13  Jon Lee  <jonlee@apple.com>
40
41         plugin snapshotting accepts bad snapshot after 5 seconds
42         https://bugs.webkit.org/show_bug.cgi?id=104886
43         <rdar://problem/12838753>
44
45         Reviewed by Maciej Stachowiak.
46
47         * WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.
48
49 2012-12-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50
51         NetworkInfoController needs to support destructor
52         https://bugs.webkit.org/show_bug.cgi?id=104642
53
54         Reviewed by Kentaro Hara.
55
56         Though NetworkInfoController can be referenced by each port in order to update network status change,
57         there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
58         controller is destroyed.
59
60         * UIProcess/efl/NetworkInfoProvider.cpp:
61         (NetworkInfoProvider::networkInfoControllerDestroyed):
62         * UIProcess/efl/NetworkInfoProvider.h:
63         (NetworkInfoProvider):
64         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
65         (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
66         (WebKit):
67         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
68         (WebNetworkInfoClient):
69
70 2012-12-12  Andy Estes  <aestes@apple.com>
71
72         Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
73
74         * WebProcess/Plugins/PDF/PDFPlugin.h:
75
76 2012-12-12  Seokju Kwon  <seokju.kwon@gmail.com>
77
78         [EFL] Refactor duplicate code into EflInspectorUtilities
79         https://bugs.webkit.org/show_bug.cgi?id=104329
80
81         Reviewed by Kenneth Rohde Christiansen.
82
83         Remove duplicated work to get the resource path for inspector.
84         And use WebCore::inspectorResourcePath().
85
86         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
87         (WebKit::WebInspectorServer::platformResourceForPath):
88         * UIProcess/efl/WebInspectorProxyEfl.cpp:
89         (WebKit::WebInspectorProxy::inspectorBaseURL):
90
91 2012-12-12  Mark Lam  <mark.lam@apple.com>
92
93         Encapsulate externally used webdatabase APIs in DatabaseManager.
94         https://bugs.webkit.org/show_bug.cgi?id=104741.
95
96         Reviewed by Sam Weinig.
97
98         Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
99         and DatabaseContext directly. This is to prepare for upcoming webkit2
100         refactoring.
101
102         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
103         (WebKit::WebChromeClient::exceededDatabaseQuota):
104         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
105         (WebKit::WebDatabaseManager::initialize):
106         (WebKit::WebDatabaseManager::WebDatabaseManager):
107         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
108         (WebKit::WebDatabaseManager::getDatabaseOrigins):
109         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
110         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
111         (WebKit::WebDatabaseManager::deleteAllDatabases):
112         (WebKit::WebDatabaseManager::setQuotaForOrigin):
113         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
114         (WebDatabaseManager):
115         * WebProcess/WebPage/WebPage.cpp:
116         (WebKit::WebPage::updatePreferences):
117
118 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
119
120         <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
121         https://bugs.webkit.org/show_bug.cgi?id=104844
122
123         Reviewed by Sam Weinig.
124
125         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
126         (WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
127         canceled.
128
129         * WebProcess/Network/WebResourceLoader.cpp:
130         (WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.
131
132 2012-12-12  Andras Becsi  <andras.becsi@digia.com>
133
134         [Qt][WK2] Fix the build on Mac
135
136         Unreviewed build fix.
137
138         Add missing virtual destructor with empty
139         definition to fix missing vtable error
140         in test util's LoadStartedCatcher.
141
142         * UIProcess/API/qt/tests/util.h:
143         (LoadStartedCatcher::~LoadStartedCatcher):
144
145 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
146
147         Make LOG() work in WebProcess and NetworkProcess
148         https://bugs.webkit.org/show_bug.cgi?id=104718
149
150         Reviewed by Tim Horton.
151
152         * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
153         Initialize WebCore and WebKit2 logging.
154
155         * Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
156         Added Network and NetworkScheduling. Re-ordered to match declaration order,
157         alphabetical clearly doesn't help here.
158
159         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
160         logging in addition to WebCore.
161
162         * UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
163         logging in addition to WebCore.
164
165 2012-12-12  Simon Pena  <spena@igalia.com>
166
167         [GTK] Add sections documentation to WebKit2 GTK+ API
168         https://bugs.webkit.org/show_bug.cgi?id=104484
169
170         Reviewed by Martin Robinson.
171
172         Many of the sections in the WebKit2 GTK+ API documentation were
173         missing. This commit adds new documentation, in some cases
174         adapting it from WebKitGtk+ and in others writing it from the
175         scratch.
176
177         It also removes the WebKitWebViewBase class from the documentation
178         index, since it is not really relevant.
179
180         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
181         * UIProcess/API/gtk/WebKitContextMenu.cpp:
182         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
183         * UIProcess/API/gtk/WebKitCookieManager.cpp:
184         * UIProcess/API/gtk/WebKitDownload.cpp:
185         * UIProcess/API/gtk/WebKitError.cpp:
186         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
187         * UIProcess/API/gtk/WebKitFindController.cpp:
188         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
189         * UIProcess/API/gtk/WebKitPlugin.cpp:
190         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
191         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
192         * UIProcess/API/gtk/WebKitURIRequest.cpp:
193         * UIProcess/API/gtk/WebKitURIResponse.cpp:
194         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
195         * UIProcess/API/gtk/WebKitVersion.cpp:
196         * UIProcess/API/gtk/WebKitWebContext.cpp:
197         * UIProcess/API/gtk/WebKitWebInspector.cpp:
198         * UIProcess/API/gtk/WebKitWebResource.cpp:
199         (webkit_web_resource_class_init):
200         * UIProcess/API/gtk/WebKitWebView.cpp:
201         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
202
203 2012-12-12  Kondapally Kalyan  <kalyan.kondapally@intel.com>
204
205         [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
206         https://bugs.webkit.org/show_bug.cgi?id=104535.
207
208         Reviewed by Kenneth Rohde Christiansen.
209
210         GraphicsContext3DEfl does not re-create the surface on canvas resize, this
211         conflicted with the logic in coordinated graphics Layer.
212         CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
213         in UI-Process should be recreated or not. With this
214         patch we also check for size of the platform Layer.
215
216         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
217         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
218         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
219         (CoordinatedGraphicsLayer):
220
221 2012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
222
223         Unreviewed, rolling out r137438.
224         http://trac.webkit.org/changeset/137438
225         https://bugs.webkit.org/show_bug.cgi?id=104798
226
227         assertion reached when removing tile (Requested by tmpsantos
228         on #webkit).
229
230         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
231         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
232         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
233         (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
234         (WebCore::CoordinatedGraphicsLayer::setContentsScale):
235         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
236         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
237         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
238         (WebCore::CoordinatedGraphicsLayer::createTile):
239         (WebCore::CoordinatedGraphicsLayer::updateTile):
240         (WebCore::CoordinatedGraphicsLayer::removeTile):
241         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
242         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
243         (WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
244         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
245         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
246         (CoordinatedGraphicsLayerClient):
247         (CoordinatedGraphicsLayer):
248         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
249         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
250         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
251         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
252         (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
253         (WebKit):
254         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
255         (CoordinatedLayerTreeHost):
256
257 2012-12-12  Mario Sanchez Prada  <mario@webkit.org>
258
259         [GTK][WK2] New API to detect display/execution of insecure content
260         https://bugs.webkit.org/show_bug.cgi?id=104578
261
262         Reviewed by Martin Robinson.
263
264         Added new API and documentation for detecting insecure content.
265
266         Implemented needed functions from C API's WKPageLoaderClient
267
268         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
269         (didDisplayInsecureContentForFrame): Implemented.
270         (didRunInsecureContentForFrame): Ditto.
271         (attachLoaderClientToView): Added newly implemented functions.
272
273         Added new 'insecure-content-detected' signal to API.
274
275         * UIProcess/API/gtk/WebKitWebView.cpp:
276         (webkit_web_view_class_init): Installed new signal.
277         (webkitWebViewInsecureContentDetected): Helper function aded to
278         private API to emit the new signal from the page loader client.
279         * UIProcess/API/gtk/WebKitWebView.h:
280         (_WebKitWebViewClass): Added new signal.
281
282         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
283         new helper function webkitWebViewInsecureContentDetected().
284
285         Added new unit tests.
286
287         * UIProcess/API/gtk/tests/TestSSL.cpp:
288         (testSSL): Updated to the new variable name for the https server.
289         (testInsecureContent): New unit test.
290         (httpsServerCallback): Renamed from serverCallback() and updated
291         to return HTML content linking to external resources in an
292         insecure (plain http) server, to be used by the new test.
293         (httpServerCallback): New callback for a new http server, that
294         will serve a script and an image when requested.
295         (beforeAll): Run the new http server, besides the https one.
296         (afterAll): Delete both the http and the https server.
297
298         Updated documentation with new API.
299
300         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
301         to the new WebKitInsecureContentEvent enum type.
302
303 2012-12-12  Huang Dongsung  <luxtella@company100.net>
304
305         Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
306         https://bugs.webkit.org/show_bug.cgi?id=103959
307
308         Reviewed by Kenneth Rohde Christiansen.
309
310         Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
311         It has two problem.
312         1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
313         TiledBackingStore from asynchronously sending UpdateTile message to UI
314         Process.
315         2. CreateTile and RemoveTile message can be sent to UI Process at any time.
316
317         This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
318         It means only during flushing layer states, CoordinatedGraphicsLayer
319         calls methods of TiledBackingStore, which indirectly call createTile(),
320         updateTile() and removeTile().
321
322         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
323         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
324         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
325         (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
326         (WebCore::CoordinatedGraphicsLayer::setContentsScale):
327         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
328         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
329         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
330         (WebCore::CoordinatedGraphicsLayer::createTile):
331         (WebCore::CoordinatedGraphicsLayer::updateTile):
332         (WebCore::CoordinatedGraphicsLayer::removeTile):
333         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
334         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
335         (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
336         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
337         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
338         (CoordinatedGraphicsLayerClient):
339         (CoordinatedGraphicsLayer):
340         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
341         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
342         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
343         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
344         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
345         (CoordinatedLayerTreeHost):
346
347 2012-12-12  Joaquim Rocha  <jrocha@igalia.com>
348
349         [GTK] Cookies' storage path and policy are not set when the WebProcess is killed and relaunched
350         https://bugs.webkit.org/show_bug.cgi?id=104370
351
352         Reviewed by Carlos Garcia Campos.
353
354         This issue happens on ports that use Soup and causes problems like not finding the stored cookies
355         nor their policy when the WebProcess is relaunched. As an example of a problem caused by this,
356         a previously logged in user will not be logged in again when the process is relaunched and the
357         policy used is always the same one.
358
359         * Shared/WebProcessCreationParameters.cpp:
360         (WebKit::WebProcessCreationParameters::encode): Encode cookies' persistent storage path,
361         storage type and acceptance policy.
362         (WebKit::WebProcessCreationParameters::decode): Decode cookies' persistent storage path,
363         storage type and acceptance policy.
364         * Shared/WebProcessCreationParameters.h: Create 3 variables to hold the values mentioned above.
365         (WebProcessCreationParameters):
366         * UIProcess/WebCookieManagerProxy.cpp:
367         (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
368         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Call WebCookieManagerProxySoup::setCookieAcceptPolicy.
369         * UIProcess/WebCookieManagerProxy.h: Declare new Soup's methods setCookieAcceptPolicy, cookieAcceptPolicy and
370         cookiePersistentStorage as well as the variables m_cookieAcceptPolicy and m_cookiePersistentStorage.
371         (WebCookieManagerProxy):
372         * UIProcess/efl/WebContextEfl.cpp: Assign the parameters' cookiePersistentStoragePath and
373         cookiePersistentStorageType with the respective values.
374         (WebKit::WebContext::platformInitializeWebProcess):
375         * UIProcess/gtk/WebContextGtk.cpp: Assign the parameters' cookiePersistentStoragePath and
376         cookiePersistentStorageType with the respective values.
377         (WebKit::WebContext::platformInitializeWebProcess):
378         * UIProcess/soup/WebCookieManagerProxySoup.cpp:
379         (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Assign the m_cookiePersistentStorage pair
380         with the method's parameters.
381         (WebKit):
382         (WebKit::WebCookieManagerProxy::getCookiePersistentStorage): Implement this getter.
383         * WebProcess/Cookies/WebCookieManager.h: Declare setCookiePersistentStorage.
384         (WebCookieManager):
385         * WebProcess/soup/WebProcessSoup.cpp:
386         (WebKit::WebProcess::platformInitializeWebProcess): Set the cookies' persistent storage and policy
387         using the WebCookieManager's methods.
388
389 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
390
391         [EFL][WK2] Duplicated WebPageGroup initialization
392         https://bugs.webkit.org/show_bug.cgi?id=103229
393
394         Reviewed by Kenneth Rohde Christiansen.
395
396         WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
397         because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
398
399         As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
400         is created with default context.
401
402         * UIProcess/API/efl/ewk_view.cpp:
403         (createEwkView):
404
405 2012-12-11  Sam Weinig  <sam@webkit.org>
406
407         Add API to set the maximum number of processes allowed in a WKContext
408         https://bugs.webkit.org/show_bug.cgi?id=104769
409
410         Reviewed by Dan Bernstein.
411
412         Switch from using NSUserDefaults to a WKContext API to set the maximum number of processes
413         for a context.
414
415         * UIProcess/API/C/WKContext.cpp:
416         (WKContextSetMaximumNumberOfProcesses):
417         (WKContextGetMaximumNumberOfProcesses):
418         * UIProcess/API/C/WKContext.h:
419         * UIProcess/WebContext.cpp:
420         (WebKit::WebContext::setMaximumNumberOfProcesses):
421         (WebKit):
422         * UIProcess/WebContext.h:
423         (WebContext):
424         (WebKit::WebContext::maximumNumberOfProcesses):
425         * UIProcess/mac/WebContextMac.mm:
426         (WebKit::registerUserDefaultsIfNeeded):
427         (WebKit::WebContext::platformInitialize):
428
429 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
430
431         Vibration API: IDL type doesn't match implementation type
432         https://bugs.webkit.org/show_bug.cgi?id=103899
433
434         Reviewed by Kentaro Hara.
435
436         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
437         Therefore unsigned long need to be changed to unsigned for the Vibration API.
438         - Change a parameter type of vibrate function from uint64_t to uint_32_t.
439
440         * UIProcess/API/C/WKVibration.h:
441         * UIProcess/API/efl/EwkViewCallbacks.h:
442         * UIProcess/WebVibrationProvider.cpp:
443         (WebKit::WebVibrationProvider::vibrate):
444         * UIProcess/WebVibrationProvider.h:
445         (WebVibrationProvider):
446         * UIProcess/WebVibrationProxy.cpp:
447         (WebKit::WebVibrationProxy::vibrate):
448         * UIProcess/WebVibrationProxy.h:
449         (WebVibrationProxy):
450         * UIProcess/WebVibrationProxy.messages.in:
451         * UIProcess/efl/VibrationClientEfl.cpp:
452         (VibrationClientEfl::vibrateCallback):
453         * UIProcess/efl/VibrationClientEfl.h:
454         (VibrationClientEfl):
455         * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
456         (WebKit::WebVibrationClient::vibrate):
457         * WebProcess/WebCoreSupport/WebVibrationClient.h:
458         (WebVibrationClient):
459
460 2012-12-11  Alexey Proskuryakov  <ap@apple.com>
461
462         <rdar://problem/12857870> [WK2 NetworkProcess] Cannot load HTTPS sites
463         https://bugs.webkit.org/show_bug.cgi?id=104732
464
465         Reviewed by Anders Carlsson.
466
467         * Shared/BlockingResponseMap.h: (BlockingBoolResponseMap::waitForResponse):
468         Fixed to make sense.
469
470 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
471
472         Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
473         https://bugs.webkit.org/show_bug.cgi?id=104714
474
475         Reviewed by Eric Seidel.
476
477         Export symbol Page::mainThreadScrollingReasonsAsText().
478
479         * win/WebKit2.def.in:
480
481 2012-12-11  Gwang Yoon Hwang  <ryumiel@company100.net>
482
483         Coordinated Graphics: Rename LayerTreeCoordinator to CoordinatedLayerTreeHost
484         https://bugs.webkit.org/show_bug.cgi?id=104641
485
486         Reviewed by Noam Rosenthal.
487
488         The name of LayerTreeCoordinator does not match LayerTreeHost.  This
489         patch renames it to CoordinatedLayerTreeHost. And make a getter for
490         CoordinatedLayerTreeHostProxy in QQuickWebPagePrivate to make a cleaner code.
491
492         No new tests - just a refactoring.
493
494         * CMakeLists.txt:
495         * DerivedSources.pri:
496         * Platform/CoreIPC/MessageID.h:
497         * Target.pri:
498         * UIProcess/API/efl/EwkViewImpl.cpp:
499         (EwkViewImpl::layerTreeRenderer):
500         * UIProcess/API/qt/qquickwebpage.cpp:
501         (QQuickWebPagePrivate::paint):
502         (QQuickWebPagePrivate::coordinatedLayerTreeHostProxy):
503         (QQuickWebPage::updatePaintNode):
504         (QQuickWebPagePrivate::updateSize):
505         * UIProcess/API/qt/qquickwebpage_p_p.h:
506         (WebKit):
507         (QQuickWebPagePrivate):
508         * UIProcess/API/qt/raw/qrawwebview.cpp:
509         (QRawWebView::setSize):
510         (QRawWebView::layerTreeRenderer):
511         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp.
512         (WebKit):
513         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
514         (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
515         (WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
516         (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
517         (WebKit::CoordinatedLayerTreeHostProxy::createTileForLayer):
518         (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
519         (WebKit::CoordinatedLayerTreeHostProxy::removeTileForLayer):
520         (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
521         (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
522         (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayer):
523         (WebKit::CoordinatedLayerTreeHostProxy::setRootCompositingLayer):
524         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerState):
525         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerChildren):
526         (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerFilters):
527         (WebKit::CoordinatedLayerTreeHostProxy::removeCustomFilterProgram):
528         (WebKit::CoordinatedLayerTreeHostProxy::createCustomFilterProgram):
529         (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
530         (WebKit::CoordinatedLayerTreeHostProxy::createImageBacking):
531         (WebKit::CoordinatedLayerTreeHostProxy::updateImageBacking):
532         (WebKit::CoordinatedLayerTreeHostProxy::clearImageBackingContents):
533         (WebKit::CoordinatedLayerTreeHostProxy::removeImageBacking):
534         (WebKit::CoordinatedLayerTreeHostProxy::setContentsSize):
535         (WebKit::CoordinatedLayerTreeHostProxy::setLayerAnimations):
536         (WebKit::CoordinatedLayerTreeHostProxy::setAnimationsLocked):
537         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
538         (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
539         (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
540         (WebKit::CoordinatedLayerTreeHostProxy::animationFrameReady):
541         (WebKit::CoordinatedLayerTreeHostProxy::didChangeScrollPosition):
542         (WebKit::CoordinatedLayerTreeHostProxy::createCanvas):
543         (WebKit::CoordinatedLayerTreeHostProxy::syncCanvas):
544         (WebKit::CoordinatedLayerTreeHostProxy::destroyCanvas):
545         (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
546         (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
547         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h.
548         (WebKit):
549         (CoordinatedLayerTreeHostProxy):
550         (WebKit::CoordinatedLayerTreeHostProxy::layerTreeRenderer):
551         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in.
552         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
553         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
554         (WebKit::LayerTreeRenderer::animationFrameReady):
555         (WebKit::LayerTreeRenderer::updateViewport):
556         (WebKit::LayerTreeRenderer::renderNextFrame):
557         (WebKit::LayerTreeRenderer::purgeBackingStores):
558         (WebKit::LayerTreeRenderer::detach):
559         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
560         (WebKit):
561         (LayerTreeRenderer):
562         * UIProcess/DrawingAreaProxy.cpp:
563         (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
564         * UIProcess/DrawingAreaProxy.h:
565         (WebKit):
566         (WebKit::DrawingAreaProxy::coordinatedLayerTreeHostProxy):
567         (DrawingAreaProxy):
568         * UIProcess/DrawingAreaProxyImpl.cpp:
569         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
570         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
571         (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
572         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
573         * UIProcess/DrawingAreaProxyImpl.h:
574         (WebKit):
575         * UIProcess/WebPageProxy.cpp:
576         (WebKit::WebPageProxy::didReceiveMessage):
577         * UIProcess/efl/PageClientBase.cpp:
578         * UIProcess/efl/PageClientLegacyImpl.cpp:
579         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
580         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
581         (WebKit::PageViewportControllerClientEfl::setRendererActive):
582         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
583         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
584         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp.
585         (WebKit):
586         (WebKit::CoordinatedLayerTreeHost::create):
587         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
588         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
589         (WebKit::CoordinatedLayerTreeHost::setLayerFlushSchedulingEnabled):
590         (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
591         (WebKit::CoordinatedLayerTreeHost::cancelPendingLayerFlush):
592         (WebKit::CoordinatedLayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush):
593         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
594         (WebKit::CoordinatedLayerTreeHost::invalidate):
595         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
596         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
597         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
598         (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
599         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
600         (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
601         (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
602         (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
603         (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
604         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
605         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
606         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
607         (WebKit::CoordinatedLayerTreeHost::syncLayerChildren):
608         (WebKit::CoordinatedLayerTreeHost::createCanvas):
609         (WebKit::CoordinatedLayerTreeHost::syncCanvas):
610         (WebKit::CoordinatedLayerTreeHost::destroyCanvas):
611         (WebKit::CoordinatedLayerTreeHost::syncLayerFilters):
612         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
613         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
614         (WebKit::CoordinatedLayerTreeHost::disconnectCustomFilterPrograms):
615         (WebKit::CoordinatedLayerTreeHost::detachLayer):
616         (WebKit::updateOffsetFromViewportForSelf):
617         (WebKit::updateOffsetFromViewportForLayer):
618         (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
619         (WebKit::CoordinatedLayerTreeHost::lockAnimations):
620         (WebKit::CoordinatedLayerTreeHost::unlockAnimations):
621         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
622         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
623         (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
624         (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
625         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
626         (WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer):
627         (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
628         (WebKit::CoordinatedLayerTreeHost::createImageBacking):
629         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
630         (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
631         (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
632         (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
633         (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
634         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
635         (WebKit::CoordinatedLayerTreeHost::paintContents):
636         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
637         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
638         (WebKit::CoordinatedLayerTreeHost::createTile):
639         (WebKit::CoordinatedLayerTreeHost::updateTile):
640         (WebKit::CoordinatedLayerTreeHost::removeTile):
641         (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
642         (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
643         (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
644         (WebKit::CoordinatedLayerTreeHost::setLayerAnimations):
645         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
646         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
647         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
648         (WebKit::CoordinatedLayerTreeHost::animationFrameReady):
649         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
650         (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
651         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
652         (WebKit::CoordinatedLayerTreeHost::beginContentUpdate):
653         (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
654         (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
655         (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
656         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h.
657         (WebKit):
658         (CoordinatedLayerTreeHost):
659         (WebKit::CoordinatedLayerTreeHost::layerTreeContext):
660         (WebKit::CoordinatedLayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
661         (WebKit::CoordinatedLayerTreeHost::pauseRendering):
662         (WebKit::CoordinatedLayerTreeHost::resumeRendering):
663         (WebKit::CoordinatedLayerTreeHost::deviceScaleFactorDidChange):
664         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in.
665         * WebProcess/WebPage/DrawingArea.h:
666         (DrawingArea):
667         * WebProcess/WebPage/DrawingAreaImpl.cpp:
668         (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
669         * WebProcess/WebPage/DrawingAreaImpl.h:
670         (DrawingAreaImpl):
671         * WebProcess/WebPage/LayerTreeHost.cpp:
672         (WebKit::LayerTreeHost::create):
673         * WebProcess/WebPage/LayerTreeHost.h:
674         (LayerTreeHost):
675         * WebProcess/WebPage/WebPage.cpp:
676         (WebKit::WebPage::WebPage):
677         (WebKit::WebPage::~WebPage):
678         (WebKit::WebPage::didReceiveMessage):
679
680 2012-12-11  Alexey Proskuryakov  <ap@apple.com>
681
682         <rdar://problem/12857080> Per-Tab WebProcess: Blue lines between menu tabs at apple.com
683         https://bugs.webkit.org/show_bug.cgi?id=104709
684
685         Reviewed by Sam Weinig.
686
687         Data URLs were broken. Removing a no longer valid optimization for now.
688
689         * WebProcess/Network/WebResourceLoadScheduler.cpp:
690         (WebKit::WebResourceLoadScheduler::scheduleLoad):
691
692 2012-12-11  Michael Pruett  <michael@68k.org>
693
694         [JSC] Add tests for explicit serialization values
695         https://bugs.webkit.org/show_bug.cgi?id=104423
696
697         Reviewed by Oliver Hunt.
698
699         Add tests for serialization and deserialization mechanisms of
700         the JSC implementation of SerializedScriptValue. Similar tests
701         already exist for the V8 implementation.
702
703         * win/WebKit2.def.in:
704
705 2012-12-11  Jon Lee  <jonlee@apple.com>
706
707         Initialize new web processes with list of auto-start origins for plug-ins
708         https://bugs.webkit.org/show_bug.cgi?id=103219
709         <rdar://problem/12747219>
710
711         Reviewed by Anders Carlsson.
712
713         Serialize the set of hashes into a vector as a parameter in web process creation.
714
715         * Shared/WebProcessCreationParameters.h: Add a parameter for the origin hashes.
716
717         * Shared/WebProcessCreationParameters.cpp: Encode/decode that parameter.
718         (WebKit::WebProcessCreationParameters::encode):
719         (WebKit::WebProcessCreationParameters::decode):
720
721         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
722         (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Return a vector copy with contents from the
723         hash set.
724         * UIProcess/Plugins/PlugInAutoStartProvider.h:
725         (PlugInAutoStartProvider):
726
727         * UIProcess/WebContext.cpp:
728         (WebKit::WebContext::createNewWebProcess): Populate the parameter with the contents of the set.
729         * WebProcess/WebProcess.cpp:
730         (WebKit::WebProcess::initializeWebProcess): Add the items in the vector to the web process' copy of the set.
731
732 2012-12-11  Andreas Kling  <akling@apple.com>
733
734         CoreIPC: ArgumentEncoder should have an inline buffer.
735         <http://webkit.org/b/104622>
736
737         Reviewed by Anders Carlsson.
738
739         Add a 4K inline buffer to CoreIPC::ArgumentEncoder to avoid malloc/free churn.
740         It was dominating the transient allocations graph in Instruments.
741
742         * Platform/CoreIPC/ArgumentEncoder.cpp:
743         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
744         (CoreIPC::ArgumentEncoder::grow):
745         * Platform/CoreIPC/ArgumentEncoder.h:
746         (CoreIPC::ArgumentEncoder::buffer):
747         (ArgumentEncoder):
748         (CoreIPC::ArgumentEncoder::usesInlineBuffer):
749
750 2012-12-11  Mike West  <mkwst@chromium.org>
751
752         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
753         https://bugs.webkit.org/show_bug.cgi?id=66371
754
755         Reviewed by Pavel Feldman.
756
757         Drops WebCore::MessageLevel from the addMessageToConsole method.
758
759         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
760         (WebKit::WebChromeClient::addMessageToConsole):
761         * WebProcess/WebCoreSupport/WebChromeClient.h:
762         (WebChromeClient):
763
764 2012-12-11  Thiago Marcos P. Santos  <thiago.santos@intel.com>
765
766         [EFL] Increase the timeout of the API unit tests
767         https://bugs.webkit.org/show_bug.cgi?id=104666
768
769         Reviewed by Kenneth Rohde Christiansen.
770
771         Palliative fix until we find out why the tests are taking so long.
772
773         * PlatformEfl.cmake:
774
775 2012-12-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
776
777         [Qt][EFL][WK2] Resizing the window doesn't always result in right content position
778         https://bugs.webkit.org/show_bug.cgi?id=104416
779
780         Reviewed by Simon Hausmann.
781
782         Make sure the client is notified about position and scale changed done by us.
783         Rename the m_*IsLocked to m_pending*Change as that makes the code more obvious.
784
785         Patch verified with both Qt and EFL.
786
787         * UIProcess/PageViewportController.cpp:
788         (WebKit::PageViewportController::PageViewportController):
789         (WebKit::PageViewportController::didRenderFrame): Notify client and pixel align.
790         (WebKit::PageViewportController::didChangeContentsVisibility):
791         (WebKit::PageViewportController::didChangeViewportAttributes):
792         (WebKit::PageViewportController::applyScaleAfterRenderingContents):
793         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
794         * UIProcess/PageViewportController.h:
795         (PageViewportController):
796
797 2012-12-11  Christophe Dumez  <christophe.dumez@intel.com>
798
799         [CoordinatedGraphics] Use unsigned integers for UpdateAtlas IDs
800         https://bugs.webkit.org/show_bug.cgi?id=104654
801
802         Reviewed by Kenneth Rohde Christiansen.
803
804         UpdateAtlas currently uses *signed* integer type for its identifier.
805         Due to the way we generate those IDs, it is safer to use *unsigned*
806         integers. This is because the generated ID will overflow at some
807         point and the C and C++ language standards say that overflow of a
808         signed value is undefined behaviour.
809
810         This patch switches to unsigned integer type for UpdateAtlas IDs
811         since unsigned integers are guaranteed to wrap around on overflow.
812
813         * Shared/SurfaceUpdateInfo.h:
814         (SurfaceUpdateInfo):
815         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
816         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
817         (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
818         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
819         (LayerTreeCoordinatorProxy):
820         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
821         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
822         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
823         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
824         (CoordinatedGraphicsLayerClient):
825         (CoordinatedGraphicsLayer):
826         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
827         (CoordinatedTileClient):
828         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
829         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
830         (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
831         (WebKit::LayerTreeCoordinator::beginContentUpdate):
832         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
833         (LayerTreeCoordinator):
834         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
835         (WebKit::UpdateAtlas::UpdateAtlas):
836         (WebKit::UpdateAtlas::~UpdateAtlas):
837         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
838         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
839         (UpdateAtlasClient):
840         (UpdateAtlas):
841
842 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
843
844         [EFL][WK2] Create a ewk view object with new context for API tests
845         https://bugs.webkit.org/show_bug.cgi?id=103692
846
847         Reviewed by Gyuyoung Kim. 
848
849         Bug 103229 fixes the issue which PageGroupID increased even though
850         the EwkView was created with default context. If the Bug 103229 is
851         resolved, the EwkViews with same context will have same setting preferences.
852
853         Currently, WebKit2/EFL API test is creating the ewk view object
854         with the default context so the setting values set previously may
855         influence the following tests. So this patch created a ewk view object
856         with a new context instead of default one.
857
858         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
859         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
860
861 2012-12-10  Dan Winship  <danw@gnome.org>
862
863         [Soup] Fix spelling of "initiating" in API.
864
865         Reviewed by Martin Robinson.
866
867         * WebProcess/soup/WebSoupRequestManager.cpp:
868         (WebKit::WebSoupRequestManager::send):
869
870 2012-12-10  Alexey Proskuryakov  <ap@apple.com>
871
872         [WK2] Add a user default to limit the number of web processes
873         https://bugs.webkit.org/show_bug.cgi?id=104606
874
875         Reviewed by Sam Weinig.
876
877         When the limit is reached, we'll reuse an existing process with fewest pages.
878
879         * UIProcess/WebContext.cpp:
880         (WebKit::WebContext::WebContext): Initialize m_webProcessCountLimit.
881         (WebKit::WebContext::platformInitialize): Added a hook for reading the preference,
882         empty implementation on most platforms.
883         (WebKit::WebContext::createNewWebProcess): Changed to return a raw pointer. The new
884         process is put into a vector anyway, so there is no ownership transfer.
885         (WebKit::WebContext::warmInitialProcess): Don't create a new process if that would
886         exceed the limit.
887         (WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit): Added a new
888         function that wither creates a new process, or picks an existing one.
889         (WebKit::WebContext::createWebPage): Call the above new function instead of
890         unconditionally creating a process.
891
892         * UIProcess/WebContext.h: createNewWebProcess is no private. All clients should
893         respect the process count limit.
894
895         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
896         Respect the process count limit.
897
898         * UIProcess/mac/WebContextMac.mm:
899         (WebKit::registerUserDefaultsIfNeeded): Register the new default.
900         (WebKit::WebContext::platformInitialize): Read the default into a WebContext
901         member variable.
902         (WebKit::WebContext::platformInitializeWebProcess): Moved registerUserDefaultsIfNeeded()
903         from here to platformInitialize(), as that's a better place for it. Also added a
904         FIXME for an unrelated issue.
905
906 2012-12-10  Jon Lee  <jonlee@apple.com>
907
908         Build fix.
909
910         * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
911         (WebKit::WebPlugInClient::WebPlugInClient): Remove unneeded m_page variable.
912         * WebProcess/WebCoreSupport/WebPlugInClient.h:
913         (WebPlugInClient):
914
915 2012-12-10  Jon Lee  <jonlee@apple.com>
916
917         Keep track of plug-in snapshots clicked by user
918         https://bugs.webkit.org/show_bug.cgi?id=103206
919         <rdar://problem/12746483>
920
921         Reviewed by Anders Carlsson.
922
923         Create a new provider class for the web context that maintains a mapping of the plug-in origins
924         allowed to auto-start for a specific page origin.
925
926         * WebProcess/WebPage/WebPage.cpp:
927         (WebKit::WebPage::WebPage): Create and set WebPlugInClient.
928
929         Implement WebCore::PlugInClient.
930         * WebProcess/WebCoreSupport/WebPlugInClient.cpp: Added.
931         (WebKit::WebPlugInClient::WebPlugInClient):
932         (WebKit::WebPlugInClient::~WebPlugInClient):
933         (WebKit::WebPlugInClient::pageDestroyed):
934         (WebKit::WebPlugInClient::isAutoStartOrigin): Forward to WebProcess.
935         (WebKit::WebPlugInClient::addAutoStartOrigin): Forward to WebProcess.
936         * WebProcess/WebCoreSupport/WebPlugInClient.h: Added.
937
938         * WebProcess/WebProcess.cpp: Maintains a copy of the hash set.
939         (WebKit::WebProcess::isPlugInAutoStartOrigin): Look for the hash in the set.
940         (WebKit::WebProcess::addPlugInAutoStartOrigin): Tell the UI process to add the hash for the page.
941         (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Add the hash to the cached set.
942         * WebProcess/WebProcess.h:
943         * WebProcess/WebProcess.messages.in: Add DidAddPlugInAutoStartOrigin.
944
945         Add the auto-start provider.
946         * UIProcess/WebContext.cpp:
947         (WebKit::WebContext::WebContext): Initialize the provider.
948         (WebKit::WebContext::addPlugInAutoStartOriginHash): Forward to the provider.
949         * UIProcess/WebContext.h:
950         * UIProcess/WebContext.messages.in: Add AddPlugInAutoStartOriginHash.
951
952         The provider class maintains a map of page domains to hashes, and a set of all the hashes.
953         The latter will be used to initialize new web processes without having to crawl through the
954         whole map.
955         * UIProcess/Plugins/PlugInAutoStartProvider.cpp: Added.
956         (WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
957         (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Add the origin to the map and set. Tell
958         all processes to add the origin to their local copies.
959         * UIProcess/Plugins/PlugInAutoStartProvider.h: Added.
960
961         Add PlugInAutoStartProvider and WebPlugInClient.
962         * CMakeLists.txt:
963         * GNUmakefile.list.am:
964         * Target.pri:
965         * WebKit2.xcodeproj/project.pbxproj:
966         * win/WebKit2.vcproj:
967
968 2012-12-10  Anders Carlsson  <andersca@apple.com>
969
970         Add WKPageSetInvalidMessageFunction stub
971         https://bugs.webkit.org/show_bug.cgi?id=104614
972         <rdar://problem/12841671>
973
974         Reviewed by Mark Rowe.
975
976         * UIProcess/API/C/WKPage.cpp:
977         (WKPageSetInvalidMessageFunction):
978         * UIProcess/API/C/WKPagePrivate.h:
979
980 2012-12-09  Antti Koivisto  <antti@apple.com>
981
982         Factor node traversal into standalone functions
983         https://bugs.webkit.org/show_bug.cgi?id=104507
984
985         Reviewed by Eric Seidel.
986
987         * WebProcess/WebPage/WebFrame.cpp:
988         (WebKit::WebFrame::containsAnyFormElements):
989
990 2012-12-10  Eduardo Lima Mitev  <elima@igalia.com>
991
992         [GTK] Expose HitTestResult::scrollbar() condition in API
993         https://bugs.webkit.org/show_bug.cgi?id=104369
994
995         Reviewed by Carlos Garcia Campos.
996
997         This patch populates WebCore::HitTestResult::scrollbar() condition
998         in WebKitHitTestResult public API, and includes a corresponding unit
999         test.
1000
1001         * Shared/WebHitTestResult.cpp: Adds new isScrollbar member to
1002         encoding and decoding methods to carry the scrollbar condition
1003         from Web process to UI process.
1004         (WebKit::WebHitTestResult::Data::encode):
1005         (WebKit::WebHitTestResult::Data::decode):
1006         * Shared/WebHitTestResult.h:
1007         (Data): Adds new bool member isScrollbar.
1008         (WebKit::WebHitTestResult::Data::Data): Initializes isScrollbar from
1009         WebCore::HitTestResult::scrollbar().
1010         (WebKit::WebHitTestResult::isScrollbar): Method that returns value
1011         of isScrollbar member.
1012         (WebHitTestResult):
1013         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
1014         (webkitHitTestResultCreate): Adds scrollbar condition to context upon
1015         initialization.
1016         (webkitHitTestResultCompare): Adds comparison of scrollbar condition.
1017         (webkit_hit_test_result_context_is_scrollbar): Public accessor for
1018         scrollbar presence in context.
1019         * UIProcess/API/gtk/WebKitHitTestResult.h: Adds new flag
1020         WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to
1021         WebKitHitTestResultContext enum.
1022         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Adds new API symbol
1023         to the corresponding documentation sections.
1024         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1025         (testWebViewMouseTarget): Updates mouse-target
1026         test to include assertions for hitting scrollbar condition, and
1027         an new HTML to privide a positive case.
1028
1029 2012-12-10  Alexis Menard  <alexis@webkit.org>
1030
1031         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
1032         https://bugs.webkit.org/show_bug.cgi?id=104539
1033
1034         Reviewed by Antonio Gomes.
1035
1036         As discussed on webkit-dev it is not needed to keep this feature flag 
1037         as support for <position> type is a small feature that is already 
1038         implemented by three other UAs. It was useful while landing this 
1039         feature as partial bits were landed one after one.
1040
1041         * Configurations/FeatureDefines.xcconfig:
1042
1043 2012-12-10  Alberto Garcia  <agarcia@igalia.com>
1044
1045         WebKitWebViewBase produces a warning if compiled with gcc
1046         https://bugs.webkit.org/show_bug.cgi?id=104561
1047
1048         Reviewed by Carlos Garcia Campos.
1049
1050         * UIProcess/API/gtk/WebKitWebViewBase.h:
1051         since this file can be included from C code, use void to
1052         explicitly specify that webkit_web_view_base_get_type() doesn't
1053         have parameters. Otherwise we get "warning: function declaration
1054         isn't a prototype" with -Wstrict-prototypes.
1055
1056 2012-12-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1057
1058         [WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
1059         https://bugs.webkit.org/show_bug.cgi?id=104544
1060
1061         Reviewed by Kenneth Rohde Christiansen.
1062
1063         Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
1064         as it was not used by anyone.
1065
1066         * UIProcess/PageViewportController.cpp:
1067         (WebKit::PageViewportController::didRenderFrame):
1068         * UIProcess/PageViewportControllerClient.h:
1069         (PageViewportControllerClient):
1070         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1071         (WebKit::PageViewportControllerClientEfl::setContentsScale):
1072         * UIProcess/efl/PageViewportControllerClientEfl.h:
1073         (PageViewportControllerClientEfl):
1074         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1075         (WebKit::PageViewportControllerClientQt::setContentsScale):
1076         * UIProcess/qt/PageViewportControllerClientQt.h:
1077         (PageViewportControllerClientQt):
1078
1079 2012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
1080
1081         Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
1082         https://bugs.webkit.org/show_bug.cgi?id=103886
1083
1084         Reviewed by Kenneth Rohde Christiansen.
1085
1086         Add support for TestRunner::setViewModeMediaFeature().
1087         This functionality is needed by the following LayoutTests:
1088         fast/media/media-query-list-02.html
1089         fast/media/media-query-list-03.html
1090         fast/media/media-query-list-04.html
1091         fast/media/media-query-list-05.html
1092         fast/media/media-query-list-06.html
1093         fast/media/media-query-list-07.html
1094         fast/media/view-mode-media-feature.html
1095
1096         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1097         (WKBundlePageSetViewMode):
1098         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1099         * WebProcess/WebPage/WebPage.cpp:
1100         (WebKit::WebPage::setViewMode):
1101         (WebKit):
1102         * WebProcess/WebPage/WebPage.h:
1103         (WebPage):
1104
1105 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
1106
1107         [Qt] Fix QtWebProcess discovery on Windows
1108         https://bugs.webkit.org/show_bug.cgi?id=104552
1109
1110         Reviewed by Jocelyn Turcotte.
1111
1112         Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
1113
1114         * Shared/qt/ProcessExecutablePathQt.cpp:
1115         (WebKit::executablePath):
1116
1117 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
1118
1119         [GTK] Bring Harfbuzz-ng support to Gtk
1120         https://bugs.webkit.org/show_bug.cgi?id=92098
1121
1122         Reviewed by Gustavo Noronha Silva.
1123
1124         Add a HarfBuzz dependency.
1125
1126         * GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
1127
1128 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
1129
1130         [Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
1131         https://bugs.webkit.org/show_bug.cgi?id=104541
1132
1133         Reviewed by Jocelyn Turcotte.
1134
1135         We now depend on a Qt 5 version that is guaranteed to have this API, so we
1136         can remove the configure checks for it.
1137
1138         * PluginProcess.pro:
1139         * Shared/qt/ProcessExecutablePathQt.cpp:
1140         (WebKit::executablePath):
1141         * WebProcess.pro:
1142
1143 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
1144
1145         [Qt] Fix build without QtQuick 2
1146
1147         Unreviewed trivial build fix.
1148
1149         This function is defined in QtWebContext, which is only used when QtQuick2 is available.
1150
1151         * UIProcess/qt/WebContextQt.cpp:
1152         (WebKit::WebContext::platformInvalidateContext):
1153
1154 2012-12-10  Huang Dongsung  <luxtella@company100.net>
1155
1156         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
1157         https://bugs.webkit.org/show_bug.cgi?id=100819
1158
1159         Reviewed by Kenneth Rohde Christiansen.
1160
1161         It is a follow-up patch of r137117.
1162
1163         There are two changes
1164         1. Add a const qualifier to supportsAlpha().
1165         2. Use << instead of encode() when using ArgumentEncoder.
1166
1167         * Shared/CoordinatedGraphics/CoordinatedSurface.h:
1168         (WebKit::CoordinatedSurface::supportsAlpha):
1169         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
1170         (WebKit::WebCoordinatedSurface::Handle::encode):
1171         (WebKit::WebCoordinatedSurface::copyToTexture):
1172
1173 2012-12-10  Huang Dongsung  <luxtella@company100.net>
1174
1175         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
1176         https://bugs.webkit.org/show_bug.cgi?id=100819
1177
1178         Reviewed by Kenneth Rohde Christiansen.
1179
1180         WebCoordinatedSurface::copyToTexture should return early if the backend
1181         is GraphicsSurface.
1182
1183         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
1184         (WebKit::WebCoordinatedSurface::copyToTexture):
1185
1186 2012-12-10  Huang Dongsung  <luxtella@company100.net>
1187
1188         Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
1189         https://bugs.webkit.org/show_bug.cgi?id=100819
1190
1191         Reviewed by Noam Rosenthal.
1192
1193         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
1194
1195         It is a preparation patch for Threaded Coordinated Graphics on WK1.
1196
1197         Create a CoordinatedSurface class that can be the base class both for
1198         the current IPC-based ShareableSurface, renamed here to
1199         WebCoordinatedSurface, and to a future thread-based surface
1200         implementation.
1201
1202         * CMakeLists.txt:
1203         * Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
1204         (WebCore):
1205         (WebKit):
1206         (CoordinatedSurface):
1207         (WebKit::CoordinatedSurface::~CoordinatedSurface):
1208         (WebKit::CoordinatedSurface::supportsAlpha):
1209         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
1210           Extends CoordinatedSurface.
1211         (WebKit):
1212         (WebKit::WebCoordinatedSurface::Handle::Handle):
1213         (WebKit::WebCoordinatedSurface::Handle::encode):
1214         (WebKit::WebCoordinatedSurface::Handle::decode):
1215         (WebKit::CoordinatedSurface::create):
1216         (WebKit::WebCoordinatedSurface::create):
1217         (WebKit::WebCoordinatedSurface::createWithSurface):
1218         (WebKit::WebCoordinatedSurface::createGraphicsContext):
1219         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
1220         (WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
1221         (WebKit::WebCoordinatedSurface::createHandle):
1222         (WebKit::WebCoordinatedSurface::copyToTexture):
1223         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
1224         (WebCore):
1225         (WebKit):
1226         (WebCoordinatedSurface):
1227         (Handle):
1228         (WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
1229         (WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
1230         * Target.pri:
1231         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1232         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
1233         (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
1234         (WebKit::CoordinatedBackingStore::updateTile):
1235         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
1236         (WebKit):
1237         (CoordinatedBackingStoreTile):
1238         (CoordinatedBackingStore):
1239         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1240         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
1241         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
1242         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1243         (LayerTreeCoordinatorProxy):
1244         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1245         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1246         (WebKit::LayerTreeRenderer::updateImageBacking):
1247         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1248         (TileUpdate):
1249         (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
1250         (LayerTreeRenderer):
1251         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1252         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
1253         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1254         (CoordinatedGraphicsLayerClient):
1255         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
1256         (WebKit::CoordinatedImageBacking::update):
1257         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
1258         (Coordinator):
1259         (CoordinatedImageBacking):
1260         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1261         (WebKit::LayerTreeCoordinator::updateImageBacking):
1262         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
1263         (WebKit::LayerTreeCoordinator::beginContentUpdate):
1264         (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
1265         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1266         (LayerTreeCoordinator):
1267         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
1268         (WebKit::UpdateAtlas::UpdateAtlas):
1269         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1270         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
1271         (UpdateAtlasClient):
1272         (UpdateAtlas):
1273         (WebKit::UpdateAtlas::supportsAlpha):
1274
1275 2012-12-09  Huang Dongsung  <luxtella@company100.net>
1276
1277         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
1278         https://bugs.webkit.org/show_bug.cgi?id=103843
1279
1280         Reviewed by Noam Rosenthal.
1281
1282         Send SetRootCompositingLayer message to the UI process before
1283         flushing compositing states of layer tree.
1284
1285         This is in preparation for refactoring TextureMapper to work in an actor
1286         model (http://webkit.org/b/103854).
1287
1288         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1289         (WebKit::LayerTreeRenderer::setLayerState):
1290         (WebKit::LayerTreeRenderer::setRootLayerID):
1291         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1292         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1293         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1294         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
1295         (WebKit):
1296         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1297         (LayerTreeCoordinator):
1298
1299 2012-12-09  Jon Lee  <jonlee@apple.com>
1300
1301         [WK2] Move button image to injected bundle
1302         https://bugs.webkit.org/show_bug.cgi?id=104107
1303         <rdar://problem/12813842>
1304
1305         Reviewed by Simon Fraser.
1306
1307         Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
1308
1309         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1310         (WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
1311         * WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
1312
1313         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1314         (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
1315         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1316
1317         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
1318
1319         * Shared/API/c/cg/WKImageCG.cpp:
1320         (WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
1321
1322 2012-12-09  Kangil Han  <kangil.han@samsung.com>
1323
1324         Fix unused parameter compile warnings
1325         https://bugs.webkit.org/show_bug.cgi?id=104463
1326
1327         Reviewed by Kentaro Hara.
1328
1329         Remove compile warning messages by omitting parameter name.
1330
1331         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1332         (WebKit::LayerTreeRenderer::createCanvas):
1333
1334 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
1335
1336         [EFL][WK2] Add Remote Web Inspector
1337         https://bugs.webkit.org/show_bug.cgi?id=98705
1338
1339         Reviewed by Gyuyoung Kim.
1340
1341         Add Remote Web Inspector to EFL port.
1342         The WebInspectorSever will be started during WebKit context initialization.
1343         The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
1344
1345         * CMakeLists.txt:
1346         * PlatformEfl.cmake:
1347         * UIProcess/InspectorServer/WebInspectorServer.h:
1348         (WebInspectorServer):
1349         * UIProcess/InspectorServer/WebSocketServer.h:
1350         (WebSocketServer):
1351         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
1352         (WebKit):
1353         (WebKit::inspectorResourcePath):
1354         (WebKit::WebInspectorServer::platformResourceForPath):
1355         (WebKit::WebInspectorServer::buildPageList):
1356         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
1357         (WebKit::connectionCallback):
1358         * UIProcess/efl/WebContextEfl.cpp:
1359         (WebKit::initializeInspectorServer):
1360         (WebKit):
1361         (WebKit::WebContext::platformInitializeWebProcess):
1362         * config.h:
1363
1364 2012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
1365
1366         Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
1367
1368         * GNUmakefile.am:
1369
1370 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
1371
1372         Remove unused headers
1373         https://bugs.webkit.org/show_bug.cgi?id=104428
1374
1375         Reviewed by Kentaro Hara.
1376
1377         Header inclusion cleanup.
1378         Remove <WebCore/NotImplement.h>.
1379
1380         * Platform/qt/WorkQueueQt.cpp:
1381         * Platform/win/WorkQueueWin.cpp:
1382         * Shared/qt/ShareableBitmapQt.cpp:
1383         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1384         * UIProcess/win/TextCheckerWin.cpp:
1385         * UIProcess/win/WebContextMenuProxyWin.cpp:
1386         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
1387
1388 2012-12-07  Jinwoo Song  <jinwoo7.song@samsung.com>
1389
1390         [EFL][WK2] Remove unused source file from PlatformEfl.cmake
1391         https://bugs.webkit.org/show_bug.cgi?id=104430
1392
1393         Reviewed by Kentaro Hara.
1394
1395         Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
1396
1397         * PlatformEfl.cmake:
1398
1399 2012-12-07  Jer Noble  <jer.noble@apple.com>
1400
1401         Allow the WebProcess access to the CoreMedia preferences file.
1402         https://bugs.webkit.org/show_bug.cgi?id=104320
1403         <rdar://problem/10904519>
1404
1405         Reviewed by Alexey Proskuryakov.
1406
1407         Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
1408         by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
1409         to access those preferences as well.
1410
1411         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
1412         * WebProcess/com.apple.WebProcess.sb.in:
1413
1414 2012-12-07  Tim Horton  <timothy_horton@apple.com>
1415
1416         [wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
1417         https://bugs.webkit.org/show_bug.cgi?id=104418
1418
1419         Reviewed by Simon Fraser.
1420
1421         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1422         (WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
1423         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
1424         (WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
1425
1426 2012-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1427
1428         Unreviewed, rolling out r136993.
1429         http://trac.webkit.org/changeset/136993
1430         https://bugs.webkit.org/show_bug.cgi?id=104415
1431
1432         This patch breaks the mac build (Requested by cabanier on
1433         #webkit).
1434
1435         * win/WebKit2.def.in:
1436
1437 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
1438
1439         There is no need to change cached resource storage policy through ResourceHandleClient
1440         https://bugs.webkit.org/show_bug.cgi?id=104413
1441
1442         Reviewed by Brady Eidson.
1443
1444         * NetworkProcess/NetworkResourceLoader.cpp:
1445         * NetworkProcess/NetworkResourceLoader.h:
1446         Deleted overrides of the removed willCacheResponse.
1447
1448 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
1449
1450         Network process should use a correct storage session in private browsing mode
1451         <rdar://problem/12838490>
1452         https://bugs.webkit.org/show_bug.cgi?id=104401
1453
1454         Reviewed by Brady Eidson.
1455
1456         Notify NetworkProcess when it needs to create or destroy a private browsing session,
1457         and add a NetworkResourceLoadParameters member telling if the particular resource
1458         should be requested using it.
1459
1460         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1461         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1462         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1463         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1464         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1465         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1466         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
1467         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
1468         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
1469         Added another dummy argument to dummy networking context.
1470
1471         * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
1472         Ensure private browsing session if it's needed due to a persistent preference, not
1473         an API call at runtime (which is handled below as ensure/destroy).
1474
1475         * NetworkProcess/NetworkResourceLoader.cpp:
1476         (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
1477         used for loading.
1478         (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
1479         matches WebCore, but may be not needed.
1480
1481         * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
1482         Store privateBrowsingEnabled flag.
1483
1484         * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
1485         Return a private session when it's in use.
1486
1487         * Shared/Network/NetworkProcessCreationParameters.cpp:
1488         (WebKit::NetworkProcessCreationParameters::encode):
1489         (WebKit::NetworkProcessCreationParameters::decode):
1490         * Shared/Network/NetworkProcessCreationParameters.h:
1491         Pass privateBrowsingEnabled flag to the new process.
1492
1493         * Shared/Network/NetworkResourceLoadParameters.cpp:
1494         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
1495         (WebKit::NetworkResourceLoadParameters::encode):
1496         (WebKit::NetworkResourceLoadParameters::decode):
1497         * Shared/Network/NetworkResourceLoadParameters.h:
1498         (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
1499         Pass inPrivateBrowsingMode flag for the request.
1500
1501         * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
1502         Exposed, so that we can send messages without going through NetworkProcessManager.
1503
1504         * UIProcess/WebContext.cpp:
1505         (WebKit::WebContext::usesNetworkProcess):
1506         (WebKit::anyContextUsesNetworkProcess):
1507         (WebKit::WebContext::willStartUsingPrivateBrowsing):
1508         (WebKit::WebContext::willStopUsingPrivateBrowsing):
1509         Notify NetworkProcess when entering or exiting private browsing.
1510
1511         * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
1512         anyContextUsesNetworkProcess to use.
1513
1514         * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
1515         Put current private browsing state over in NetworkResourceLoadParameters.
1516
1517 2012-12-07  Helder Correia  <helder.correia@nokia.com>
1518
1519         [CoordGfx] Variable name starts with upper case character
1520         https://bugs.webkit.org/show_bug.cgi?id=104327
1521
1522         Reviewed by Noam Rosenthal.
1523
1524         Just fixing a typo.
1525
1526         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1527         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
1528
1529 2012-12-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1530
1531         [WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
1532         https://webkit.org/b/103519
1533
1534         Reviewed by Noam Rosenthal.
1535
1536         This patch removes the blurriness by pixel aligning the layers. It
1537         does not fully remove the shaking, only minimizes it.
1538
1539         * UIProcess/API/efl/EwkViewImpl.cpp:
1540         (EwkViewImpl::transformFromScene):
1541         (EwkViewImpl::displayTimerFired):
1542         * UIProcess/API/efl/EwkViewImpl.h:
1543         (EwkViewImpl::pagePosition):
1544
1545             As the pixel alignment of the main layer is moved to the
1546             PageViewportController, rename discretePagePosition to just
1547             pagePosition. It now returns a FloatPoint but the positions
1548             should still be discrete.
1549
1550         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1551         (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
1552         (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
1553         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1554         (LayerTreeCoordinatorProxy):
1555         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1556         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1557         (WebKit::LayerTreeRenderer::didChangeScrollPosition):
1558         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1559         (LayerTreeRenderer):
1560         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1561         (WebKit::LayerTreeCoordinator::visibleContentsRect):
1562         (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
1563         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1564         (LayerTreeCoordinator):
1565         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
1566         * WebProcess/WebPage/LayerTreeHost.h:
1567         (WebCore):
1568         (WebKit::LayerTreeHost::setVisibleContentsRect):
1569
1570             Change the internal scroll position/visible contents rect
1571             to be represented as float positions. The rounding to integer
1572             values not happens just before setFixesVisibleContentsRect.
1573             This makes it possible to know our exact positions and
1574             calculate proper scroll deltas.
1575
1576         (WebKit::LayerTreeRenderer::setLayerState):
1577
1578             Group anchor point, position and size together.
1579
1580         * UIProcess/PageViewportController.h:
1581         (PageViewportController):
1582         * UIProcess/PageViewportController.cpp:
1583         (WebKit::PageViewportController::PageViewportController):
1584         (WebKit::PageViewportController::boundContentsPosition):
1585         (WebKit::PageViewportController::boundContentsPositionAtScale):
1586         (WebKit::PageViewportController::didRenderFrame):
1587         (WebKit::PageViewportController::pageDidRequestScroll):
1588         (WebKit::PageViewportController::didChangeContentsVisibility):
1589         (WebKit::PageViewportController::syncVisibleContents):
1590         (WebKit::PageViewportController::visibleContentsSize):
1591         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
1592         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1593         (WebKit::PageViewportControllerClientQt::focusEditableArea):
1594         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1595         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
1596
1597             Some renaming as what was called viewportPos was actually the
1598             contents position. Rename clampViewportToContents to
1599             boundContentsPosition and remove scale argument which is has
1600             direct access to.
1601
1602             Make the boundContentsPosition allow one extra pixel in each
1603             orientation to allow for pixel alignment of fixed position layers
1604
1605         (WebKit::isIntegral):
1606         (WebKit):
1607         (WebKit::PageViewportController::pixelAlignedFloatPoint):
1608
1609             Introduce way to pixel align the main contents layer. Only in
1610             use for EFL so far.
1611
1612         * UIProcess/efl/PageClientLegacyImpl.cpp:
1613         (WebKit::PageClientLegacyImpl::updateViewportSize):
1614         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1615         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
1616         * UIProcess/efl/PageViewportControllerClientEfl.h:
1617         (WebKit::PageViewportControllerClientEfl::contentPosition):
1618         (PageViewportControllerClientEfl):
1619
1620             Store the contents position as a FloatPoint.
1621
1622         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1623         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1624         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
1625         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
1626         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
1627         (WebCore::isIntegral):
1628         (WebCore):
1629         (WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
1630         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
1631         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1632         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1633         (CoordinatedGraphicsLayerClient):
1634         (CoordinatedGraphicsLayer):
1635
1636             Pixel align layers when the effective scale is not an integer
1637             value. This code is based on code from GraphicsLayerCA.
1638
1639 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
1640
1641         REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
1642         https://bugs.webkit.org/show_bug.cgi?id=104392
1643
1644         Reviewed by Anders Carlsson.
1645
1646         * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
1647         back to using m_conection where it can be null.
1648
1649 2012-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>
1650
1651         [EFL][WK2] Add ewk_settings APIs for text autosizing
1652         https://bugs.webkit.org/show_bug.cgi?id=103342
1653
1654         Reviewed by Kenneth Rohde Christiansen.
1655
1656         Add ewk_settings_text_autosizing_enabled_get / set() functions.
1657         Text autosizing is disabled by default.
1658
1659         * UIProcess/API/efl/ewk_settings.cpp:
1660         (ewk_settings_text_autosizing_enabled_set):
1661         (ewk_settings_text_autosizing_enabled_get):
1662         * UIProcess/API/efl/ewk_settings.h:
1663         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1664         (TEST_F):
1665
1666 2012-12-06  Rick Byers  <rbyers@chromium.org>
1667
1668         CSS cursor property should support webkit-image-set
1669         https://bugs.webkit.org/show_bug.cgi?id=99493
1670
1671         Reviewed by Beth Dakin.
1672
1673         Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
1674
1675         * Configurations/FeatureDefines.xcconfig:
1676
1677 2012-12-06  Jae Hyun Park  <jae.park@company100.net>
1678
1679         Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
1680         https://bugs.webkit.org/show_bug.cgi?id=103983
1681
1682         Reviewed by Noam Rosenthal.
1683
1684         This patch refactors WebLayerTreeInfo in 2 areas.
1685
1686         1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
1687         should be located in WebKit2/Shared/CoordinatedGraphics instead of
1688         WebKit2/Shared.
1689
1690         2. The name of WebLayerTreeInfo is incorrect. Currently,
1691         WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
1692         what WebLayer is since we don't use that name anymore. More appropriate
1693         name for WebLayerInfo would be CoordinatedLayerInfo.
1694
1695         No new test, because no behavioral change.
1696
1697         * CMakeLists.txt:
1698         * Scripts/webkit2/messages.py:
1699         (headers_for_type):
1700         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
1701         (WebKit):
1702         (WebKit::CoordinatedLayerInfo::encode):
1703         (WebKit::CoordinatedLayerInfo::decode):
1704         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
1705         (WebKit):
1706         (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
1707         (CoordinatedLayerInfo):
1708         * Shared/LayerTreeContext.h:
1709         (LayerTreeContext):
1710         * Shared/efl/LayerTreeContextEfl.cpp:
1711         (WebKit::LayerTreeContext::LayerTreeContext):
1712         (WebKit::LayerTreeContext::encode):
1713         (WebKit::LayerTreeContext::decode):
1714         (WebKit::LayerTreeContext::isEmpty):
1715         (WebKit::operator==):
1716         * Shared/qt/LayerTreeContextQt.cpp:
1717         (WebKit::LayerTreeContext::LayerTreeContext):
1718         (WebKit::LayerTreeContext::encode):
1719         (WebKit::LayerTreeContext::decode):
1720         (WebKit::LayerTreeContext::isEmpty):
1721         (WebKit::operator==):
1722         * Target.pri:
1723         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1724         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
1725         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1726         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
1727         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
1728         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
1729         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
1730         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
1731         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
1732         (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
1733         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
1734         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1735         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
1736         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1737         (WebKit):
1738         (LayerTreeCoordinatorProxy):
1739         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1740         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1741         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
1742         (WebKit::LayerTreeRenderer::createLayer):
1743         (WebKit::LayerTreeRenderer::createCanvas):
1744         (WebKit::LayerTreeRenderer::syncCanvas):
1745         (WebKit::LayerTreeRenderer::destroyCanvas):
1746         (WebKit::LayerTreeRenderer::setLayerChildren):
1747         (WebKit::LayerTreeRenderer::setLayerFilters):
1748         (WebKit::LayerTreeRenderer::setLayerState):
1749         (WebKit::LayerTreeRenderer::deleteLayer):
1750         (WebKit::LayerTreeRenderer::ensureLayer):
1751         (WebKit::LayerTreeRenderer::setRootLayerID):
1752         (WebKit::LayerTreeRenderer::createTile):
1753         (WebKit::LayerTreeRenderer::removeTile):
1754         (WebKit::LayerTreeRenderer::updateTile):
1755         (WebKit::LayerTreeRenderer::ensureRootLayer):
1756         (WebKit::LayerTreeRenderer::purgeGLResources):
1757         (WebKit::LayerTreeRenderer::setLayerAnimations):
1758         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1759         (WebKit):
1760         (LayerTreeRenderer):
1761         (WebKit::LayerTreeRenderer::layerByID):
1762         * UIProcess/DrawingAreaProxy.h:
1763         (WebKit):
1764         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1765         (WebCore::layerByIDMap):
1766         (WebCore::toCoordinatedLayerID):
1767         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1768         (WebCore::CoordinatedGraphicsLayer::id):
1769         (WebCore::CoordinatedGraphicsLayer::syncChildren):
1770         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
1771         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1772         (CoordinatedGraphicsLayerClient):
1773         (CoordinatedGraphicsLayer):
1774         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
1775         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1776         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1777         (WebKit::LayerTreeCoordinator::syncLayerState):
1778         (WebKit::LayerTreeCoordinator::syncLayerChildren):
1779         (WebKit::LayerTreeCoordinator::createCanvas):
1780         (WebKit::LayerTreeCoordinator::syncCanvas):
1781         (WebKit::LayerTreeCoordinator::destroyCanvas):
1782         (WebKit::LayerTreeCoordinator::syncLayerFilters):
1783         (WebKit::LayerTreeCoordinator::createTile):
1784         (WebKit::LayerTreeCoordinator::updateTile):
1785         (WebKit::LayerTreeCoordinator::removeTile):
1786         (WebKit::LayerTreeCoordinator::setLayerAnimations):
1787         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1788         (LayerTreeCoordinator):
1789
1790 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1791
1792         Unreviewed, rolling out r136900.
1793         http://trac.webkit.org/changeset/136900
1794         https://bugs.webkit.org/show_bug.cgi?id=104318
1795
1796         Unreviewed build for Windows port. (Requested by rfong on
1797         #webkit).
1798
1799         * win/WebKit2.def.in:
1800
1801 2012-12-06  Jon Lee  <jonlee@apple.com>
1802
1803         Retry snapshots if they are too empty
1804         https://bugs.webkit.org/show_bug.cgi?id=104174
1805         <rdar://problem/12820146>
1806
1807         Reviewed by Simon Fraser.
1808
1809         * WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
1810         retried to come up with a snapshot.
1811         * WebProcess/Plugins/PluginView.cpp:
1812         (WebKit::PluginView::PluginView): Initialize the count to 0.
1813         (WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
1814         a grid of dots, and calculate the differences among them. If the average color difference is greater than
1815         a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
1816         bitmap image format, otherwise we return early.
1817         (WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
1818         evaluated to be too empty, then try again.
1819
1820 2012-12-06  Tony Chang  <tony@chromium.org>
1821
1822         Unreviewed, Apple Win Debug build fix.
1823
1824         * win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
1825
1826 2012-12-06  Alexey Proskuryakov  <ap@apple.com>
1827
1828         Track private browsing session in network process
1829         https://bugs.webkit.org/show_bug.cgi?id=104281
1830
1831         Reviewed by Jessie Berlin.
1832
1833         Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
1834         ensuring a private session may happen on demand if network process has been restarted
1835         after a crash, or if private browsing is enabled via a persistent preference.
1836
1837         Eventually, we should find a way to share code between WebFrameNetworkingContext
1838         and RemoteNetworkingContext.
1839
1840         * NetworkProcess/NetworkProcess.cpp:
1841         (WebKit::NetworkProcess::initializeNetworkProcess):
1842         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1843         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1844         * NetworkProcess/NetworkProcess.h:
1845         * NetworkProcess/NetworkProcess.messages.in:
1846         * NetworkProcess/mac/RemoteNetworkingContext.h:
1847         (RemoteNetworkingContext):
1848         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1849         (WebKit::privateBrowsingStorageSessionIdentifierBase):
1850         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1851         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1852         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
1853         * Shared/Network/NetworkProcessCreationParameters.cpp:
1854         (WebKit::NetworkProcessCreationParameters::encode):
1855         (WebKit::NetworkProcessCreationParameters::decode):
1856         * Shared/Network/NetworkProcessCreationParameters.h:
1857         (NetworkProcessCreationParameters):
1858         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
1859         (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
1860         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1861         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1862         * WebProcess/WebProcess.cpp:
1863         (WebKit::WebProcess::initializeWebProcess):
1864
1865 2012-12-06  Laszlo Gombos  <l.gombos@samsung.com>
1866
1867         [EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
1868         https://bugs.webkit.org/show_bug.cgi?id=104278
1869
1870         Reviewed by Brent Fulgham.
1871
1872         The guards are not required as it is always set for EFL.
1873
1874         * PlatformEfl.cmake:
1875         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1876         (WebKit::PluginProcessProxy::scanPlugin):
1877         * WebProcess/efl/WebProcessMainEfl.cpp:
1878         (WebKit::WebProcessMainEfl):
1879
1880 2012-12-06  Tony Chang  <tony@chromium.org>
1881
1882         REGRESSION(r135082): Restore the ability to insert author level style sheets from script
1883         https://bugs.webkit.org/show_bug.cgi?id=104042
1884
1885         Reviewed by Antti Koivisto.
1886
1887         Update exports for Internals.cpp.
1888
1889         * win/WebKit2.def.in:
1890
1891 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
1892
1893         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
1894         https://bugs.webkit.org/show_bug.cgi?id=104269
1895
1896         Unreviewed, trivialy fixing last minute change.
1897
1898         Move signal emission to the correct place.
1899
1900         * UIProcess/API/qt/qquickwebview.cpp:
1901         (QQuickWebViewFlickablePrivate::onComponentComplete):
1902         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1903         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
1904
1905 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
1906
1907         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
1908         https://bugs.webkit.org/show_bug.cgi?id=104269
1909
1910         Reviewed by Kenneth Rohde Christiansen.
1911
1912         Since the ViewportInfoItem of MiniBrowser is created before the
1913         WebView finishes construction, thus before the viewport controller
1914         has been instantiated, the shown device pixel ratio was incorrect.
1915         Additionally QWebKitTest's notification signal was also not emitted
1916         when the value changed.
1917
1918         * UIProcess/API/qt/qquickwebview.cpp:
1919         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1920         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1921         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
1922
1923 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1924
1925         Unreviewed, rolling out r136788.
1926         http://trac.webkit.org/changeset/136788
1927         https://bugs.webkit.org/show_bug.cgi?id=104260
1928
1929         Asserts on EFL WebKit2 Debug bot (Requested by yael on
1930         #webkit).
1931
1932         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1933         (WebKit::LayerTreeRenderer::setLayerState):
1934         (WebKit::LayerTreeRenderer::setRootLayerID):
1935         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1936         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1937         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1938         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1939         (LayerTreeCoordinator):
1940
1941 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1942
1943         Unreviewed, rolling out r136795.
1944         http://trac.webkit.org/changeset/136795
1945         https://bugs.webkit.org/show_bug.cgi?id=104257
1946
1947         Asserts on EFL WebKit2 Debug bot (Requested by yael on
1948         #webkit).
1949
1950         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1951         (WebKit::LayerTreeRenderer::setRootLayerID):
1952
1953 2012-12-06  Shinya Kawanaka  <shinyak@chromium.org>
1954
1955         Internals.getElementByIdInShadowRoot is nonsense now.
1956         https://bugs.webkit.org/show_bug.cgi?id=104241
1957
1958         Reviewed by Kent Tamura.
1959
1960         * win/WebKit2.def.in:
1961
1962 2012-12-06  Christophe Dumez  <christophe.dumez@intel.com>
1963
1964         [EFL][WK2] Context clients should unregister themselves when destroyed
1965         https://bugs.webkit.org/show_bug.cgi?id=104113
1966
1967         Reviewed by Kenneth Rohde Christiansen.
1968
1969         Make sure the context clients (History and Download clients)
1970         unregister themselves when destroyed to make sure their
1971         callback functions are never called after the client objects
1972         have been destroyed (i.e. when the parent Ewk_Context has
1973         been destroyed).
1974
1975         This addresses crashing issues after a Ewk_Context object
1976         gets unref'd and destroyed.
1977
1978         * UIProcess/efl/ContextHistoryClientEfl.cpp:
1979         (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
1980         (WebKit):
1981         (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
1982         * UIProcess/efl/ContextHistoryClientEfl.h:
1983         (ContextHistoryClientEfl):
1984         * UIProcess/efl/DownloadManagerEfl.cpp:
1985         (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
1986         (WebKit):
1987         * UIProcess/efl/DownloadManagerEfl.h:
1988         (DownloadManagerEfl):
1989
1990 2012-12-05  Huang Dongsung  <luxtella@company100.net>
1991
1992         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
1993         https://bugs.webkit.org/show_bug.cgi?id=103843
1994
1995         Reviewed by Noam Rosenthal.
1996
1997         Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
1998         lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
1999         have the same lifecycle to WebPage and the root layer is reused even if loading
2000         new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
2001         than twice.
2002
2003         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2004         (WebKit::LayerTreeRenderer::setRootLayerID):
2005
2006 2012-12-05  Brent Fulgham  <bfulgham@webkit.org>
2007
2008         [Windows, WinCairo] Regenerate .def files on changes
2009         https://bugs.webkit.org/show_bug.cgi?id=104136
2010
2011         Reviewed by Tim Horton.
2012
2013         The new .def file generator is not regenerating the link
2014         export definitions once it creates the definition file
2015         the first time. You must clean the build directory for
2016         new symbols to be added (or removed).
2017
2018         * win/WebKit2.vcproj: Change the WebKit2.def file reference to
2019           point to the generated version of the file.
2020         * win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
2021           file that participates in the build so that Visual Studio knows
2022           to build the project when the file changes.
2023         * win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
2024           command into its own shell script.
2025         * win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
2026         * win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
2027           and definition files to ensure a clean build.
2028
2029 2012-12-05  Halton Huo  <halton.huo@intel.com>
2030
2031         [CMake] Unify coding style for CMake files
2032         https://bugs.webkit.org/show_bug.cgi?id=103605
2033
2034         Reviewed by Laszlo Gombos.
2035
2036         Update cmake files(.cmake, CMakeLists.txt) with following style rules:
2037         1. Indentation
2038         1.1 Use spaces, not tabs.
2039         1.2 Four spaces as indent.
2040         2. Spacing
2041         2.1 Place one space between control statements and their parentheses.
2042             For eg, if (), else (), elseif (), endif (), foreach (),
2043             endforeach (), while (), endwhile (), break ().
2044         2.2 Do not place spaces between function and macro statements and
2045             their parentheses. For eg, macro(), endmacro(), function(),
2046             endfunction().
2047         2.3 Do not place spaces between a command or function or macro and its
2048             parentheses, or between a parenthesis and its content. For eg,
2049             message("testing") not message( "testing") or message ("testing" )
2050         2.4 No space at line ending.
2051         3. Lowercase when call commands macros and functions. For eg,
2052            add_executable() not ADD_EXECUTABLE(), set() not SET().
2053
2054         * CMakeLists.txt:
2055         * PlatformEfl.cmake:
2056         * win/WebKit2ExportGenerator.vcproj:
2057         * win/WebKit2ExportGeneratorCommon.vsprops:
2058
2059 2012-12-05  Huang Dongsung  <luxtella@company100.net>
2060
2061         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
2062         https://bugs.webkit.org/show_bug.cgi?id=103843
2063
2064         Reviewed by Noam Rosenthal.
2065
2066         Send SetRootCompositingLayer message to the UI process in the
2067         constructor instead of sending it on the first flush.
2068
2069         This is in preparation for refactoring TextureMapper to work in an actor
2070         model (http://webkit.org/b/103854).
2071
2072         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2073         (WebKit::LayerTreeRenderer::setLayerState):
2074         (WebKit::LayerTreeRenderer::setRootLayerID):
2075         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2076         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
2077         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
2078         (WebKit):
2079         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2080         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2081         (LayerTreeCoordinator):
2082
2083 2012-12-05  Jinwoo Song  <jinwoo7.song@samsung.com>
2084
2085         [EFL][WK2] Don't use the C API internally in ewk_cookie_manager
2086         https://bugs.webkit.org/show_bug.cgi?id=103243
2087
2088         Reviewed by Gyuyoung Kim.
2089
2090         Used the C++ classes directly instead of the C API wrappers
2091         to avoid a lot of toImpl/toAPI casts.
2092
2093         * UIProcess/API/efl/ewk_context.cpp:
2094         (EwkContext::cookieManager):
2095         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2096         (EwkCookieManager::EwkCookieManager):
2097         (EwkCookieManager::~EwkCookieManager):
2098         (EwkCookieManager::setPersistentStorage):
2099         (EwkCookieManager::setHTTPAcceptPolicy):
2100         (EwkCookieManager::clearHostnameCookies):
2101         (EwkCookieManager::clearAllCookies):
2102         (EwkCookieManager::watchChanges):
2103         (EwkCookieManager::getHostNamesWithCookies):
2104         (EwkCookieManager::getHTTPAcceptPolicy):
2105         * UIProcess/API/efl/ewk_cookie_manager_private.h:
2106         (EwkCookieManager::create):
2107         (EwkCookieManager):
2108
2109 2012-12-05  No'am Rosenthal  <noam@webkit.org>
2110
2111         Coordinated Graphics: Enable support for setContentsToBackgroundColor
2112         https://bugs.webkit.org/show_bug.cgi?id=104128
2113
2114         Reviewed by Kenneth Rohde Christiansen.
2115
2116         Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
2117
2118         * Shared/WebLayerTreeInfo.h:
2119         (WebLayerInfo):
2120         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2121         (WebKit::LayerTreeRenderer::setLayerState):
2122         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2123         (WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
2124         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2125         (CoordinatedGraphicsLayer):
2126
2127 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
2128
2129         <rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
2130
2131         Reviewed by Beth Dakin and Dan Bernstein.
2132
2133         * WebProcess/com.apple.WebProcess.sb.in:
2134
2135 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
2136
2137         [WK2] Would like to queue messages while NetworkProcess is launching
2138         https://bugs.webkit.org/show_bug.cgi?id=104143
2139
2140         Reviewed by Anders Carlsson.
2141
2142         Factored out process launching and message sending code to a ChildProcessProxy class.
2143         Process closing and crashing code should be moved once we better understand common
2144         requirements for the processes.
2145
2146         * CMakeLists.txt:
2147         * GNUmakefile.list.am:
2148         * Target.pri:
2149         * WebKit2.xcodeproj/project.pbxproj:
2150         * win/WebKit2.vcproj:
2151         Added ChildProcessProxy files.
2152
2153         * Shared/ChildProcessProxy.cpp: Added.
2154         (WebKit::ChildProcessProxy::ChildProcessProxy):
2155         (WebKit::ChildProcessProxy::~ChildProcessProxy):
2156         (WebKit::ChildProcessProxy::fromConnection):
2157         (WebKit::ChildProcessProxy::connect):
2158         (WebKit::ChildProcessProxy::terminate):
2159         (WebKit::ChildProcessProxy::sendMessage):
2160         (WebKit::ChildProcessProxy::isLaunching):
2161         (WebKit::ChildProcessProxy::didFinishLaunching):
2162         (WebKit::ChildProcessProxy::clearConnection):
2163         * Shared/ChildProcessProxy.h: Added.
2164         (WebKit::ChildProcessProxy::connection):
2165         (WebKit::ChildProcessProxy::isValid):
2166         (WebKit::ChildProcessProxy::canSendMessage):
2167         (WebKit::ChildProcessProxy::processIdentifier):
2168         (WebKit::ChildProcessProxy::send):
2169         (WebKit::ChildProcessProxy::sendSync):
2170         Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
2171         but every one is a connection queue client, so that latter is passed as an argument.
2172
2173         * UIProcess/Network/NetworkProcessProxy.h:
2174         * UIProcess/Network/NetworkProcessProxy.cpp:
2175         Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
2176
2177         * UIProcess/Network/NetworkProcessProxy.cpp:
2178         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
2179         (WebKit::NetworkProcessProxy::getLaunchOptions):
2180         (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
2181         (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
2182         (WebKit::NetworkProcessProxy::didFinishLaunching):
2183         * UIProcess/Network/NetworkProcessProxy.h:
2184         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2185         (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
2186         * UIProcess/WebProcessProxy.cpp:
2187         (WebKit::WebProcessProxy::WebProcessProxy):
2188         (WebKit::WebProcessProxy::~WebProcessProxy):
2189         (WebKit::WebProcessProxy::getLaunchOptions):
2190         (WebKit::WebProcessProxy::disconnect):
2191         (WebKit::WebProcessProxy::didFinishLaunching):
2192         Use shared code.
2193
2194         * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
2195         NetworkProcess inherits from conneciton client privately, so we need to do most
2196         of the work in ClientProcessProxy, and further upcast here.
2197
2198         * UIProcess/efl/WebProcessProxyEfl.cpp:
2199         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2200         * UIProcess/gtk/WebProcessProxyGtk.cpp:
2201         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2202         * UIProcess/mac/WebProcessProxyMac.mm:
2203         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2204         * UIProcess/qt/WebProcessProxyQt.cpp:
2205         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2206         * UIProcess/win/WebProcessProxyWin.cpp:
2207         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2208         Updated for renaming, platformConnect -> platformGetLaunchOptions().
2209
2210 2012-12-05  Kiran Muppala  <cmuppala@apple.com>
2211
2212         WebKit2 child processes need to initialize timer coalescing policy on Mac.
2213         https://bugs.webkit.org/show_bug.cgi?id=103613
2214
2215         Reviewed by Mark Rowe.
2216
2217         Set timer coalescing policy of WebKit2 child processes to that of visible applications
2218         until they can manage the policy based on UI process visibility.
2219
2220         * Shared/mac/ChildProcessMac.mm:
2221         (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
2222         for visible applications.
2223         (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
2224
2225 2012-12-05  Anders Carlsson  <andersca@apple.com>
2226
2227         Connection::waitForMessage shouldn't use the message ID
2228         https://bugs.webkit.org/show_bug.cgi?id=104157
2229
2230         Reviewed by Andreas Kling.
2231
2232         Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
2233         the message ID.
2234
2235         * Platform/CoreIPC/Connection.cpp:
2236         (CoreIPC::Connection::createSyncMessageEncoder):
2237         (CoreIPC::Connection::waitForMessage):
2238         (CoreIPC::Connection::processIncomingMessage):
2239         * Platform/CoreIPC/Connection.h:
2240         (CoreIPC::Connection::waitForAndDispatchImmediately):
2241
2242 2012-12-05  Jae Hyun Park  <jae.park@company100.net>
2243
2244         Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
2245         https://bugs.webkit.org/show_bug.cgi?id=103864
2246
2247         Reviewed by Noam Rosenthal.
2248
2249         AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
2250         So, these should be moved to CoordinatedGraphics to clarify the code.
2251
2252         No new test, because no change of behavior.
2253
2254         * CMakeLists.txt:
2255         * Target.pri:
2256         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
2257         (WebKit):
2258         (WebKit::AreaAllocator::AreaAllocator):
2259         (WebKit::AreaAllocator::~AreaAllocator):
2260         (WebKit::AreaAllocator::expand):
2261         (WebKit::AreaAllocator::expandBy):
2262         (WebKit::AreaAllocator::release):
2263         (WebKit::AreaAllocator::overhead):
2264         (WebKit::AreaAllocator::roundAllocation):
2265         (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
2266         (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
2267         (WebKit::GeneralAreaAllocator::freeNode):
2268         (WebKit::GeneralAreaAllocator::expand):
2269         (WebKit::fitsWithin):
2270         (WebKit::GeneralAreaAllocator::allocate):
2271         (WebKit::GeneralAreaAllocator::allocateFromNode):
2272         (WebKit::GeneralAreaAllocator::splitNode):
2273         (WebKit::GeneralAreaAllocator::updateLargestFree):
2274         (WebKit::GeneralAreaAllocator::release):
2275         (WebKit::GeneralAreaAllocator::overhead):
2276         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
2277         (WebCore::nextPowerOfTwo):
2278         (WebCore):
2279         (WebKit):
2280         (AreaAllocator):
2281         (WebKit::AreaAllocator::size):
2282         (WebKit::AreaAllocator::minimumAllocation):
2283         (WebKit::AreaAllocator::setMinimumAllocation):
2284         (WebKit::AreaAllocator::margin):
2285         (WebKit::AreaAllocator::setMargin):
2286         (GeneralAreaAllocator):
2287         (Node):
2288         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
2289         (WebKit):
2290         (WebKit::UpdateAtlas::UpdateAtlas):
2291         (WebKit::UpdateAtlas::~UpdateAtlas):
2292         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
2293         (WebKit::UpdateAtlas::didSwapBuffers):
2294         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
2295         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
2296         (WebCore):
2297         (WebKit):
2298         (UpdateAtlasClient):
2299         (UpdateAtlas):
2300         (WebKit::UpdateAtlas::size):
2301         (WebKit::UpdateAtlas::flags):
2302         (WebKit::UpdateAtlas::addTimeInactive):
2303         (WebKit::UpdateAtlas::isInactive):
2304         (WebKit::UpdateAtlas::isInUse):
2305
2306 2012-12-05  Michael Brüning  <michael.bruning@digia.com>
2307
2308         Fix compilation for Qt5.0.0 stable branch.
2309         https://bugs.webkit.org/show_bug.cgi?id=103870
2310
2311         Reviewed by Simon Hausmann.
2312
2313         QWindow::pos() and QQuickItem::pos() have been renamed to position().
2314         Patch by Lars Knoll <lars.knoll@digia.com>
2315
2316         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2317         (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
2318         (WebKit::PageViewportControllerClientQt::setViewportPosition):
2319
2320 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
2321
2322         [EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
2323         https://bugs.webkit.org/show_bug.cgi?id=104110
2324
2325         Reviewed by Laszlo Gombos.
2326
2327         Unregister the WKFaviconDatabase client in EwkFaviconDatabase
2328         destructor to avoid crashing if the callbacks get called
2329         after the EwkFaviconDatabase object has been destroyed (i.e.
2330         the parent EwkContext object was destroyed).
2331
2332         * UIProcess/API/efl/ewk_favicon_database.cpp:
2333         (EwkFaviconDatabase::~EwkFaviconDatabase):
2334
2335 2012-12-05  Andras Becsi  <andras.becsi@digia.com>
2336
2337         [Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
2338         https://bugs.webkit.org/show_bug.cgi?id=103889
2339
2340         Reviewed by Jocelyn Turcotte.
2341
2342         The client should always be notified in PageViewportController::didChangeViewportAttributes
2343         about the changed attributes not only if the minimum scale changed. This ensures that these
2344         changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
2345         Also increase precision of scale comparisons since the current value resulted in flakyness in
2346         scale related API tests.
2347
2348         * UIProcess/PageViewportController.cpp:
2349         (WebKit::PageViewportController::didChangeViewportAttributes):
2350         (WebKit::PageViewportController::updateMinimumScaleToFit):
2351
2352 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
2353
2354         [CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
2355         https://bugs.webkit.org/show_bug.cgi?id=103816
2356
2357         Reviewed by Jocelyn Turcotte.
2358
2359         Use unsigned integer for CoordinatedTile identifier type.
2360         CoordinatedTile was previously using signed integers for
2361         its identifier which is unsafe because the generated ID
2362         will overflow at some point and the C and C++ language
2363         standards say that overflow of a signed value is undefined
2364         behaviour.
2365
2366         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2367         (WebKit::CoordinatedBackingStore::createTile):
2368         (WebKit::CoordinatedBackingStore::removeTile):
2369         (WebKit::CoordinatedBackingStore::removeAllTiles):
2370         (WebKit::CoordinatedBackingStore::updateTile):
2371         (WebKit::CoordinatedBackingStore::texture):
2372         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
2373         (WebKit::CoordinatedBackingStore::commitTileOperations):
2374         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
2375         (CoordinatedBackingStore):
2376         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2377         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
2378         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
2379         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
2380         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2381         (LayerTreeCoordinatorProxy):
2382         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2383         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2384         (WebKit::LayerTreeRenderer::createTile):
2385         (WebKit::LayerTreeRenderer::removeTile):
2386         (WebKit::LayerTreeRenderer::updateTile):
2387         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2388         (LayerTreeRenderer):
2389         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2390         (WebCore::CoordinatedGraphicsLayer::createTile):
2391         (WebCore::CoordinatedGraphicsLayer::updateTile):
2392         (WebCore::CoordinatedGraphicsLayer::removeTile):
2393         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2394         (CoordinatedGraphicsLayerClient):
2395         (CoordinatedGraphicsLayer):
2396         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
2397         (WebKit):
2398         (WebKit::CoordinatedTile::CoordinatedTile):
2399         (WebKit::CoordinatedTile::~CoordinatedTile):
2400         (WebKit::CoordinatedTile::updateBackBuffer):
2401         (WebKit::CoordinatedTile::isReadyToPaint):
2402         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
2403         (CoordinatedTile):
2404         (CoordinatedTileClient):
2405         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2406         (WebKit::LayerTreeCoordinator::createTile):
2407         (WebKit::LayerTreeCoordinator::updateTile):
2408         (WebKit::LayerTreeCoordinator::removeTile):
2409         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2410         (LayerTreeCoordinator):
2411
2412 2012-12-05  Yuni Jeong  <yhnet.jung@samsung.com>
2413
2414         [EFL][WK2] Add APIs to get/set private browsing.
2415         https://bugs.webkit.org/show_bug.cgi?id=102052
2416
2417         Reviewed by Gyuyoung Kim.
2418
2419         Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
2420
2421         * UIProcess/API/efl/ewk_settings.cpp:
2422         (ewk_settings_private_browsing_enabled_set):
2423         (ewk_settings_private_browsing_enabled_get):
2424         * UIProcess/API/efl/ewk_settings.h:
2425         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2426         (TEST_F):
2427
2428 2012-12-05  Joaquim Rocha  <jrocha@igalia.com>
2429
2430         URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
2431         https://bugs.webkit.org/show_bug.cgi?id=104013
2432
2433         Reviewed by Darin Adler.
2434
2435         * WebProcess/WebProcess.cpp:
2436         (WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
2437         urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
2438         urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
2439         call the respective (already existing) methods for registering them.
2440
2441 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
2442
2443         [EFL][WK2] Add APIs to get/set default font size.
2444         https://bugs.webkit.org/show_bug.cgi?id=101921
2445
2446         Reviewed by Gyuyoung Kim.
2447
2448         Add setting APIs for default font size and a unit test.
2449
2450         * UIProcess/API/efl/ewk_settings.cpp:
2451         (ewk_settings_default_font_size_set):
2452         (ewk_settings_default_font_size_get):
2453         * UIProcess/API/efl/ewk_settings.h:
2454         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2455         (TEST_F):
2456
2457 2012-12-04  Anders Carlsson  <andersca@apple.com>
2458
2459         Remove #ifs that are always true
2460         https://bugs.webkit.org/show_bug.cgi?id=104080
2461
2462         Reviewed by Andreas Kling.
2463
2464         __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
2465
2466         * PluginProcess/mac/PluginProcessMac.mm:
2467         (WebKit::initializeSandbox):
2468         (WebKit::PluginProcess::platformInitialize):
2469         * Shared/DictionaryPopupInfo.cpp:
2470         (WebKit::DictionaryPopupInfo::encode):
2471         (WebKit::DictionaryPopupInfo::decode):
2472         * Shared/DictionaryPopupInfo.h:
2473         * Shared/mac/WebEventFactory.mm:
2474         (WebKit::phaseForEvent):
2475         (WebKit::momentumPhaseForEvent):
2476         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
2477         (WebKit::initializeSandbox):
2478         (WebKit::SharedWorkerProcess::platformInitialize):
2479         * UIProcess/API/mac/PDFViewController.mm:
2480         (WebKit::PDFViewScrollView_scrollWheel):
2481         (WebKit::PDFViewController::pdfKitBundle):
2482         * UIProcess/API/mac/PageClientImpl.mm:
2483         (WebKit::PageClientImpl::didPerformDictionaryLookup):
2484         (WebKit::PageClientImpl::dismissDictionaryLookupPanel):
2485         (WebKit::PageClientImpl::recordAutocorrectionResponse):
2486         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
2487         * UIProcess/API/mac/WKView.mm:
2488         (-[WKView displayIfNeeded]):
2489         (-[WKView draggingUpdated:]):
2490         (-[WKView viewDidMoveToWindow]):
2491         (-[WKView _intrinsicDeviceScaleFactor]):
2492         (-[WKView _cacheWindowBottomCornerRect]):
2493         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2494         (+[WKView hideWordDefinitionWindow]):
2495         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
2496         * UIProcess/Launcher/mac/EnvironmentVariables.h:
2497         (EnvironmentVariables):
2498         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2499         (WebKit::addDYLDEnvironmentAdditions):
2500         (WebKit::createWebProcessServiceForWebKitDevelopment):
2501         (WebKit):
2502         (WebKit::tryPreexistingProcess):
2503         (WebKit::createProcess):
2504         (WebKit::ProcessLauncher::launchProcess):
2505         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2506         (WebKit::PluginInfoStore::shouldUsePlugin):
2507         (WebKit::PluginInfoStore::reactivateInactivePlugin):
2508         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2509         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2510         * UIProcess/WebPageProxy.cpp:
2511         (WebKit::WebPageProxy::didCommitLoadForFrame):
2512         (WebKit::WebPageProxy::pageDidScroll):
2513         (WebKit::WebPageProxy::processDidCrash):
2514         (WebKit::WebPageProxy::recordAutocorrectionResponse):
2515         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
2516         * UIProcess/WebPageProxy.h:
2517         (WebPageProxy):
2518         * UIProcess/WebPageProxy.messages.in:
2519         * UIProcess/mac/TextCheckerMac.mm:
2520         (WebKit::initializeState):
2521         (WebKit::TextChecker::getGuessesForWord):
2522         * UIProcess/mac/WKFullScreenWindowController.mm:
2523         (convertRectToScreen):
2524         * UIProcess/mac/WebContextMac.mm:
2525         (WebKit::WebContext::platformInitializeWebProcess):
2526         * WebKit2Prefix.h:
2527         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2528         (WebKit::NPN_GetValue):
2529         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
2530         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2531         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
2532         * WebProcess/WebCoreSupport/WebEditorClient.h:
2533         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2534         (InitWebCoreSystemInterface):
2535         * WebProcess/WebPage/WebPage.cpp:
2536         (WebKit):
2537         * WebProcess/WebPage/WebPage.h:
2538         (WebPage):
2539         * WebProcess/WebPage/WebPage.messages.in:
2540         * WebProcess/WebPage/mac/WebPageMac.mm:
2541         (WebKit::WebPage::performDictionaryLookupAtLocation):
2542         (WebKit::WebPage::performDictionaryLookupForSelection):
2543         (WebKit::WebPage::performDictionaryLookupForRange):
2544         * WebProcess/mac/SecItemShimMethods.mm:
2545         * WebProcess/mac/WebProcessMac.mm:
2546         (WebKit::WebProcess::secItemResponse):
2547         * WebProcess/mac/WebProcessMainMac.mm:
2548         (WebKit::WebProcessMain):
2549         * WebProcessService/WebProcessServiceMain.mm:
2550         (main):
2551         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
2552         (WebProcessServiceForWebKitDevelopmentEventHandler):
2553         (main):
2554
2555 2012-12-04  Anders Carlsson  <andersca@apple.com>
2556
2557         Remove more Snow Leopard only code
2558         https://bugs.webkit.org/show_bug.cgi?id=104079
2559
2560         Reviewed by Andreas Kling.
2561
2562         All of the SecKeychainItem code was Snow Leopard only.
2563
2564         * Shared/mac/SecKeychainItemRequestData.cpp: Removed.
2565         * Shared/mac/SecKeychainItemRequestData.h: Removed.
2566         * Shared/mac/SecKeychainItemResponseData.cpp: Removed.
2567         * Shared/mac/SecKeychainItemResponseData.h: Removed.
2568         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
2569         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
2570         * UIProcess/WebProcessProxy.h:
2571         (WebProcessProxy):
2572         * UIProcess/WebProcessProxy.messages.in:
2573         * UIProcess/mac/WebProcessProxyMac.mm:
2574         * WebKit2.xcodeproj/project.pbxproj:
2575         * WebProcess/WebProcess.h:
2576         * WebProcess/WebProcess.messages.in:
2577         * WebProcess/mac/KeychainItemShimMethods.h: Removed.
2578         * WebProcess/mac/KeychainItemShimMethods.mm: Removed.
2579         * WebProcess/mac/WebProcessMac.mm:
2580         (WebKit::WebProcess::initializeShim):
2581         * WebProcess/mac/WebProcessShim.mm:
2582
2583 2012-12-04  Anders Carlsson  <andersca@apple.com>
2584
2585         Remove PageClient::didChangeScrollbarsForMainFrame
2586         https://bugs.webkit.org/show_bug.cgi?id=104077
2587
2588         Reviewed by Andreas Kling.
2589
2590         The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
2591
2592         * UIProcess/API/gtk/PageClientImpl.cpp:
2593         * UIProcess/API/gtk/PageClientImpl.h:
2594         (PageClientImpl):
2595         * UIProcess/API/mac/PageClientImpl.h:
2596         (PageClientImpl):
2597         * UIProcess/API/mac/PageClientImpl.mm:
2598         * UIProcess/API/mac/WKView.mm:
2599         (-[WKView viewWillMoveToWindow:]):
2600         * UIProcess/API/mac/WKViewInternal.h:
2601         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2602         * UIProcess/PageClient.h:
2603         (PageClient):
2604         * UIProcess/WebPageProxy.cpp:
2605         (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
2606         * UIProcess/efl/PageClientBase.cpp:
2607         (WebKit):
2608         * UIProcess/efl/PageClientBase.h:
2609         (PageClientBase):
2610         * UIProcess/qt/QtPageClient.h:
2611         * UIProcess/win/WebView.cpp:
2612         * UIProcess/win/WebView.h:
2613         (WebView):
2614
2615 2012-12-04  Andy Estes  <aestes@apple.com>
2616
2617         [WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
2618         https://bugs.webkit.org/show_bug.cgi?id=104063
2619
2620         Reviewed by Sam Weinig.
2621
2622         Objective-C message graphs can include browsing context controller
2623         objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
2624         in the web process plug-in and as WKBrowsingContextControllers in the UI
2625         process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
2626         by treating them as type WKBrowsingContextControllerType.
2627
2628         * Shared/mac/ObjCObjectGraphCoders.mm:
2629         (WebKit::typeFromObject):
2630
2631 2012-12-04  Simon Fraser  <simon.fraser@apple.com>
2632
2633         Show a mini visualizer for the tile cache tiles
2634         https://bugs.webkit.org/show_bug.cgi?id=104053
2635
2636         Reviewed by Beth Dakin.
2637
2638         Plumb through a preference that controls the visibility of a tiled
2639         scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
2640
2641         * Shared/WebPreferencesStore.h:
2642         * UIProcess/API/C/WKPreferences.cpp:
2643         (WKPreferencesSetTiledScrollingIndicatorVisible):
2644         (WKPreferencesGetTiledScrollingIndicatorVisible):
2645         * UIProcess/API/C/WKPreferencesPrivate.h:
2646         * WebProcess/WebPage/WebPage.cpp:
2647         (WebKit::WebPage::updatePreferences):
2648         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2649         (TiledCoreAnimationDrawingArea):
2650         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2651         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2652         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2653         (WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
2654         (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
2655
2656 2012-12-04  Anders Carlsson  <andersca@apple.com>
2657
2658         Set the visible process name before entering the sandbox
2659         https://bugs.webkit.org/show_bug.cgi?id=104030
2660         <rdar://problem/12800317>
2661
2662         Reviewed by Sam Weinig.
2663
2664         Pass the UI process name along as a process initialization parameter so we can set it
2665         before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
2666
2667         * Shared/WebProcessCreationParameters.cpp:
2668         (WebKit::WebProcessCreationParameters::encode):
2669         (WebKit::WebProcessCreationParameters::decode):
2670         * Shared/WebProcessCreationParameters.h:
2671         (WebProcessCreationParameters):
2672         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2673         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
2674         (WebKit::createWebProcessService):
2675         (WebKit::createProcess):
2676         * UIProcess/mac/WebContextMac.mm:
2677         (WebKit::WebContext::platformInitializeWebProcess):
2678         * WebProcess/mac/WebProcessInitialization.h:
2679         (WebProcessInitializationParameters):
2680         * WebProcess/mac/WebProcessInitialization.mm:
2681         (WebKit::initializeWebProcess):
2682         * WebProcess/mac/WebProcessMac.mm:
2683         (WebKit::WebProcess::platformInitializeWebProcess):
2684         * WebProcess/mac/WebProcessMainMac.mm:
2685         (WebKit::WebProcessMain):
2686         * WebProcess/mac/WebProcessServiceEntryPoints.h:
2687         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
2688         (WebKit::WebProcessServiceEventHandler):
2689         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
2690         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
2691         (WebProcessServiceForWebKitDevelopmentEventHandler):
2692
2693 2012-12-03  Alexey Proskuryakov  <ap@apple.com>
2694
2695         [WK2] Track private browsing session explicitly
2696         <rdar://problem/12714532>
2697         https://bugs.webkit.org/show_bug.cgi?id=103953
2698
2699         Reviewed by Jessie Berlin.
2700
2701         * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
2702         Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
2703         makes no sense.
2704
2705         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
2706         This is the only place in WK2 where we can learn that private browsing got disabled -
2707         no other functions are called when there are no pages open.
2708
2709         * UIProcess/WebContext.h:
2710         * UIProcess/WebContext.cpp:
2711         (WebKit::WebContext::willStartUsingPrivateBrowsing):
2712         (WebKit::WebContext::willStopUsingPrivateBrowsing):
2713         Count the number of API calls. We only implement a single shared private browsing
2714         session, not one per page group as API implies. When private browsing gets disabled,
2715         we want to destroy its session.
2716
2717         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
2718         Ensure a private browsing session if the current page needs it.
2719
2720         * WebProcess/WebProcess.h:
2721         * WebProcess/WebProcess.messages.in:
2722         * WebProcess/WebProcess.cpp:
2723         (WebKit::WebProcess::ensurePrivateBrowsingSession):
2724         (WebKit::WebProcess::destroyPrivateBrowsingSession):
2725         Call through to WebFrameNetworkingContext.
2726
2727 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
2728
2729         [EFL][WK2] Add APIs to toggle plug-ins support.
2730         https://bugs.webkit.org/show_bug.cgi?id=101920
2731
2732         Reviewed by Gyuyoung Kim.
2733
2734         Add setting APIs to toggle plug-ins support and add corresponding API tests.
2735
2736         * UIProcess/API/efl/ewk_settings.cpp:
2737         (ewk_settings_plugins_enabled_set):
2738         (ewk_settings_plugins_enabled_get):
2739         * UIProcess/API/efl/ewk_settings.h:
2740         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2741         (TEST_F):
2742
2743 2012-12-04  Andras Becsi  <andras.becsi@digia.com>
2744
2745         [Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
2746         https://bugs.webkit.org/show_bug.cgi?id=103901
2747
2748         Reviewed by Jocelyn Turcotte.
2749
2750         Setting the specific flag instead of resetting all the flags
2751         when enabling QQuickItem::ItemAcceptsDrops.
2752         This fixes clipping of the contents of QQuickWebView.
2753
2754         * UIProcess/API/qt/qquickwebview.cpp:
2755         (QQuickWebViewPrivate::initialize):
2756
2757 2012-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2758
2759         [GTK] Avoid unnecessary heap allocations during drag and drop operations
2760         https://bugs.webkit.org/show_bug.cgi?id=87938
2761
2762         Reviewed by Martin Robinson.
2763
2764         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2765         (webkitWebViewBaseDragDataReceived): Create DragData for the given
2766         DataObjectGtk in the stack.
2767         (webkitWebViewBaseDragMotion): Ditto.
2768         (webkitWebViewBaseDragDrop): Ditto.
2769
2770 2012-12-04  Jaehun Lim  <ljaehun.lim@samsung.com>
2771
2772         [EFL][WK2] Use consistent class names inside Ewk classes
2773         https://bugs.webkit.org/show_bug.cgi?id=103015
2774
2775         Reviewed by Gyuyoung Kim.
2776
2777         WebKit EFL doesn't use '_' in class names.
2778         This patch removes the remaining uses of '_' inside Ewk classes.
2779
2780         * UIProcess/API/efl/EwkViewImpl.cpp:
2781         (EwkViewImpl::EwkViewImpl):
2782         (EwkViewImpl::~EwkViewImpl):
2783         (EwkViewImpl::informIconChange):
2784         (EwkViewImpl::requestColorPicker):
2785         (EwkViewImpl::requestPopupMenu):
2786         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2787         (EwkBackForwardList::nextItem):
2788         (EwkBackForwardList::previousItem):
2789         (EwkBackForwardList::currentItem):
2790         (EwkBackForwardList::itemAt):
2791         (EwkBackForwardList::getFromCacheOrCreate):
2792         (EwkBackForwardList::createEinaList):
2793         * UIProcess/API/efl/ewk_back_forward_list_private.h:
2794         (EwkBackForwardList):
2795         * UIProcess/API/efl/ewk_context.cpp:
2796         (EwkContext::EwkContext):
2797         (EwkContext::cookieManager):
2798         (EwkContext::databaseManager):
2799         (EwkContext::ensureFaviconDatabase):
2800         (EwkContext::faviconDatabase):
2801         (EwkContext::storageManager):
2802         * UIProcess/API/efl/ewk_context_private.h:
2803         (EwkContext):
2804         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2805         (EwkCookieManager::cookiesDidChange):
2806         (getAcceptPolicyCallback):
2807         (getHostnamesWithCookiesCallback):
2808         * UIProcess/API/efl/ewk_cookie_manager_private.h:
2809         (EwkCookieManager::create):
2810         * UIProcess/API/efl/ewk_database_manager.cpp:
2811         (EwkDatabaseManager::createOriginList):
2812         (getDatabaseOriginsCallback):
2813         * UIProcess/API/efl/ewk_database_manager_private.h:
2814         (EwkDatabaseManager):
2815         * UIProcess/API/efl/ewk_favicon_database.cpp:
2816         (EwkFaviconDatabase::didChangeIconForPageURL):
2817         (EwkFaviconDatabase::iconDataReadyForPageURL):
2818         * UIProcess/API/efl/ewk_popup_menu.cpp:
2819         (EwkPopupMenu::EwkPopupMenu):
2820         (EwkPopupMenu::~EwkPopupMenu):
2821         * UIProcess/API/efl/ewk_storage_manager.cpp:
2822         (EwkStorageManager::createOriginList):
2823         (getStorageOriginsCallback):
2824         * UIProcess/API/efl/ewk_storage_manager_private.h:
2825         (EwkStorageManager):
2826
2827 2012-12-03  Huang Dongsung  <luxtella@company100.net>
2828
2829         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
2830         https://bugs.webkit.org/show_bug.cgi?id=103843
2831
2832         Reviewed by Noam Rosenthal.
2833
2834         Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
2835         because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
2836         setting the root layer. There is no behaviour changes because setting the root
2837         layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
2838         is received.
2839
2840         This is in preparation for refactoring TextureMapper to work in an actor
2841         model (http://webkit.org/b/103854).
2842
2843         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2844         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
2845         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2846         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2847
2848 2012-12-03  Anders Carlsson  <andersca@apple.com>
2849
2850         Make it easier to add more web process initialization parameters
2851         https://bugs.webkit.org/show_bug.cgi?id=103942
2852
2853         Reviewed by Andreas Kling.
2854
2855         Add a WebProcessInitializationParameters struct to make it easier to add more initialization
2856         parameters in the future. Also, fix naming and spelling errors.
2857
2858         * WebProcess/mac/WebProcessInitialization.h:
2859         (WebProcessInitializationParameters):
2860         (WebKit):
2861         * WebProcess/mac/WebProcessInitialization.mm:
2862         (WebKit::initializeWebProcess):
2863         * WebProcess/mac/WebProcessMainMac.mm:
2864         (WebKit::WebProcessMain):
2865         * WebProcess/mac/WebProcessServiceEntryPoints.h:
2866         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
2867         (WebKit::WebProcessServiceEventHandler):
2868         (webProcessServiceMain):
2869         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
2870         * WebProcessService/WebProcessServiceMain.mm:
2871         (main):
2872         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
2873         (WebProcessServiceForWebKitDevelopmentEventHandler):
2874
2875 2012-12-03  Tim Horton  <timothy_horton@apple.com>
2876
2877         PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
2878         https://bugs.webkit.org/show_bug.cgi?id=103286
2879         <rdar://problem/12752315>
2880
2881         Reviewed by Dan Bernstein.
2882
2883         Style fixes after http://trac.webkit.org/changeset/136316.
2884
2885         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2886         (WebKit::PDFPlugin::isFullFramePlugin):
2887
2888 2012-12-03  Alexis Menard  <alexis@webkit.org>
2889
2890         [Mac] Enable CSS3 background-position offset by default.
2891         https://bugs.webkit.org/show_bug.cgi?id=103905
2892
2893         Reviewed by Simon Fraser.
2894
2895         Turn the flag on by default.
2896
2897         * Configurations/FeatureDefines.xcconfig:
2898
2899 2012-12-03  Ryuan Choi  <ryuan.choi@samsung.com>
2900
2901         [EFL][WK2] Add contents,size,changed signal to the ewk_view API
2902         https://bugs.webkit.org/show_bug.cgi?id=103094
2903
2904         Reviewed by Kenneth Rohde Christiansen.
2905
2906         This patch emits signal to let applications know contents size.
2907         Applications can use this signal to give some additional behavior such as
2908         minimap, external scroll for quick movement.
2909
2910         * UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
2911         * UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
2912         * UIProcess/API/efl/EwkViewImpl.h: Ditto.
2913         (EwkViewImpl):
2914         * UIProcess/API/efl/ewk_view.h: Added test case.
2915         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2916         (onContentsSizeChanged):
2917         (TEST_F):
2918         * UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
2919         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
2920         * UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
2921         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2922         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2923         (WebKit::WebChromeClient::contentsSizeChanged):
2924         Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
2925
2926 2012-12-03  Csaba Osztrogonác  <ossy@webkit.org>
2927
2928         Unreviewed fix after r136292 to make GIT-SVN repositories happy.
2929
2930         * win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
2931         * win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
2932         * win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
2933         * win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
2934         * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
2935         * win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
2936         * win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
2937         * win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
2938         * win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
2939         * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
2940
2941 2012-12-03  Michael Brüning  <michael.bruning@digia.com>
2942
2943         [Qt][WK2] New resize tests fail
2944         https://bugs.webkit.org/show_bug.cgi?id=103875
2945
2946         Reviewed by Jocelyn Turcotte.
2947
2948         Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.   
2949
2950         * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
2951
2952 2012-12-03  Joaquim Rocha  <jrocha@igalia.com>
2953
2954         [GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
2955         https://bugs.webkit.org/show_bug.cgi?id=103729
2956
2957         Reviewed by Carlos Garcia Campos.
2958
2959         When a URI scheme is registered and the WebProcess is killed,
2960         those schemes would not work anymore after the process is relaunched.
2961
2962         This was observed in Epiphany and possibly affects any port that
2963         uses libsoup.
2964
2965         * Shared/WebProcessCreationParameters.cpp:
2966         (WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
2967         (WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
2968         * Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
2969         (WebProcessCreationParameters):
2970         * UIProcess/efl/WebContextEfl.cpp:
2971         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
2972         registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
2973         * UIProcess/gtk/WebContextGtk.cpp:
2974         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
2975         registered in the WebSoupRequestManagerProxy.
2976         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
2977         (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
2978         * UIProcess/soup/WebSoupRequestManagerProxy.h:
2979         (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
2980         (WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
2981         * WebProcess/soup/WebProcessSoup.cpp:
2982         (WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
2983         found in the parameters.
2984         * WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
2985         (WebSoupRequestManager):
2986
2987 2012-12-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2988
2989         CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
2990         https://bugs.webkit.org/show_bug.cgi?id=103737
2991
2992         Reviewed by Kenneth Rohde Christiansen.
2993
2994         ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
2995         This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
2996         descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
2997         affected already by the viewport descriptors from the previous stylesheet.
2998
2999         New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
3000         was added to frame view so that viewport descriptors can always be applied to the reliable
3001         viewport size.
3002
3003         Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
3004         are assigned appropriately now in WebPage::sendViewportAttributesChanged().
3005
3006         * WebProcess/WebPage/WebPage.cpp:
3007         (WebKit::WebPage::sendViewportAttributesChanged):
3008
3009 2012-12-02  Huang Dongsung  <luxtella@company100.net>
3010
3011         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
3012         https://bugs.webkit.org/show_bug.cgi?id=103843
3013
3014         Reviewed by Noam Rosenthal.
3015
3016         Send messages to the UI process by the tree order.
3017         This is in preparation for refactoring TextureMapper to work in an actor
3018         model (http://webkit.org/b/103854).
3019
3020         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3021         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3022
3023 2012-12-02  Ryuan Choi  <ryuan.choi@gmail.com>
3024
3025         [EFL][WK2] Update comments of header files which mentions deprecated API
3026         https://bugs.webkit.org/show_bug.cgi?id=103718
3027
3028         Reviewed by Gyuyoung Kim.
3029
3030         Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
3031
3032         * UIProcess/API/efl/ewk_context.h:
3033         * UIProcess/API/efl/ewk_database_manager.h:
3034         * UIProcess/API/efl/ewk_storage_manager.h:
3035
3036 2012-12-02  Huang Dongsung  <luxtella@company100.net>
3037
3038         REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
3039         https://bugs.webkit.org/show_bug.cgi?id=103845
3040
3041         Reviewed by Noam Rosenthal.
3042
3043         flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
3044         updateContentBuffers(). It means there can be the moment that
3045         CoordinatedGraphicsLayer has m_mainBackingStore although
3046         shouldHaveBackingStore() return false.
3047         This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
3048         of m_mainBackingStore.
3049
3050         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3051         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
3052         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
3053         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
3054         (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
3055         (WebCore):
3056         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3057         (CoordinatedGraphicsLayer):
3058
3059 2012-12-02  Seokju Kwon  <seokju.kwon@gmail.com>
3060
3061         Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
3062         https://bugs.webkit.org/show_bug.cgi?id=103743
3063
3064         Reviewed by Gustavo Noronha Silva.
3065
3066         EFL port is using a GSocket based implementation as well.
3067         WebSocketServerSoup can be used together.
3068
3069         * GNUmakefile.list.am:
3070         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
3071         (WebKit):
3072         (WebKit::connectionCallback):
3073         (WebKit::WebSocketServer::platformInitialize):
3074         (WebKit::WebSocketServer::platformListen):
3075         (WebKit::WebSocketServer::platformClose):
3076
3077 2012-12-02  Christophe Dumez  <christophe.dumez@intel.com>
3078
3079         [CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
3080         https://bugs.webkit.org/show_bug.cgi?id=103815
3081
3082         Reviewed by Noam Rosenthal.
3083
3084         Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
3085         to avoid calling HashMap::find() twice. find() was called once
3086         explicitly to get an iterator and a second time to remove the
3087         value from the value from the HashMap. We could have used
3088         remove(iterator) instead of remove(key) but using take() results
3089         in simpler code.
3090
3091         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3092         (WebKit::LayerTreeRenderer::removeImageBacking):
3093
3094 2012-12-02  Huang Dongsung  <luxtella@company100.net>
3095
3096         Coordinated Graphics: Images disappear randomly
3097         https://bugs.webkit.org/show_bug.cgi?id=103522
3098
3099         Reviewed by Kenneth Rohde Christiansen.
3100
3101         Currently, we delete layers before synchronizing layer states of layers. It
3102         causes flash. This patch deletes layers after the synchronization.
3103
3104         In addiation, this patch removes updateViewport() in
3105         LayerTreeCoordinatorProxy::deleteCompositingLayer() because
3106         LayerTreeCoordinatorProxy::didRenderFrame() is always called after
3107         deleting layers.
3108
3109         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3110         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
3111         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3112         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3113
3114 2012-12-02  Brent Fulgham  <bfulgham@webkit.org>
3115
3116         [Windows, WinCairo] Revise export definitions to match mac.
3117         https://bugs.webkit.org/show_bug.cgi?id=103687
3118
3119         Reviewed by Tim Horton.
3120
3121         Update export definition files to use the same feature exclusion
3122         macros as other generated ports.
3123
3124         * win/WebKit2.def.in: Added additional build macro guards.
3125
3126 2012-12-02  No'am Rosenthal  <noam@webkit.org>
3127
3128         [CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
3129         https://bugs.webkit.org/show_bug.cgi?id=103714
3130
3131         Reviewed by Kenneth Rohde Christiansen.
3132
3133         Remove a layer from the m_pendingSyncBackingStores map when it is deleted.
3134
3135         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3136         (WebKit::LayerTreeRenderer::deleteLayer):
3137
3138 2012-12-02  Yael Aharon  <yael.aharon@intel.com>
3139
3140         [EFL][WK2] MiniBrowser should have a legacy mode
3141         https://bugs.webkit.org/show_bug.cgi?id=103679
3142
3143         Reviewed by Kenneth Rohde Christiansen.
3144
3145         We need a way to create a web view in legacy mode, while still using the default context.
3146         WKViewCreate creates a legacy view, so change it to create a default context if a context
3147         was not passed.
3148
3149         * UIProcess/API/efl/ewk_view.cpp:
3150         (ewk_view_base_add):
3151
3152 2012-12-01  Tim Horton  <timothy_horton@apple.com>
3153
3154         PDFPlugin: Support PDF form editing in <iframe>s
3155         https://bugs.webkit.org/show_bug.cgi?id=103287
3156         <rdar://problem/10326917>
3157
3158         Reviewed by Dan Bernstein.
3159
3160         PDFPlugin form editing depends on having a Document that has the same
3161         size and position as the plugin; this is true not only in the full-main-frame
3162         case, but also in the <iframe> case. Therefore, we can enable form editing
3163         for <iframe> PDFPlugins.
3164
3165         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3166         (WebKit::PDFPlugin::supportsForms): Support form editing whenever
3167         our Document's widget is our PluginView (which will only be true in the
3168         full-main-frame or <iframe> case).
3169
3170 2012-12-01  Tim Horton  <timothy_horton@apple.com>
3171
3172         PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
3173         https://bugs.webkit.org/show_bug.cgi?id=103286
3174         <rdar://problem/12752315>
3175
3176         Reviewed by Dan Bernstein.
3177
3178         Detecting whether or not a PDFPlugin is a full-page plugin or not is not
3179         as simple as checking isMainFrame(), because <embed> and <object> will
3180         cause PDFPlugin to live in the main frame, while still not being full-page.
3181         We also have to check that the main frame's document is a PluginDocument,
3182         and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.
3183
3184         * WebProcess/Plugins/PDF/PDFPlugin.h:
3185         (PDFPlugin): Add isFullFramePlugin.
3186         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3187         (WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
3188         backed by a PluginDocument, and that that PluginDocument corresponds
3189         to this PDFPlugin.
3190         (WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
3191         (WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.
3192
3193 2012-12-01  Tim Horton  <timothy_horton@apple.com>
3194
3195         [wk2] Use spoolRect instead of snapshots for print preview
3196         https://bugs.webkit.org/show_bug.cgi?id=103798
3197         <rdar://problem/12686749>
3198
3199         Reviewed by Sam Weinig.
3200
3201         Revert to using spoolRect instead of snapshotting for printing; this was a bogus
3202         change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
3203         the core of that change, and incorrectly disregards the Frame parameter passed to
3204         beginPrinting, instead using the WebPage's current Frame.
3205
3206         * WebProcess/WebPage/WebPage.cpp:
3207         (WebKit::WebPage::drawRectToImage):
3208
3209 2012-11-30  Anders Carlsson  <andersca@apple.com>
3210
3211         Always listen for the DidFirstLayout layout milestone
3212         https://bugs.webkit.org/show_bug.cgi?id=103795
3213         <rdar://problem/12790268>
3214
3215         Reviewed by Dan Bernstein.
3216
3217         The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.
3218
3219         * WebProcess/WebPage/WebPage.cpp:
3220         (WebKit::WebPage::WebPage):
3221
3222 2012-11-30  Pierre Rossi  <pierre.rossi@gmail.com>
3223
3224         [Qt] Unreviewed speculative Mac build fix after r136232
3225
3226         cleanup an oversight from r136235
3227
3228         * PluginProcess.pro: s/webkit/webkitwidgets/
3229
3230 2012-11-30  Brent Fulgham  <bfulgham@webkit.org>
3231
3232         [Windows, WinCairo] Generate library export symbol file.
3233         https://bugs.webkit.org/show_bug.cgi?id=103687
3234
3235         Reviewed by Tim Horton.
3236
3237         Generate the export definition file based on the compile options
3238         and port settings. Get rid of the old hand-written file, and use
3239         a revised master input file that allows using conditional
3240         settings to generate the output, much like the Mac and other
3241         ports do.
3242
3243         * win/WebKit2.def: Removed.
3244         * win/WebKit2.def.in: Added.
3245         * win/WebKit2Apple.vsprops:
3246         * win/WebKit2CFLite.def: Removed.
3247         * win/WebKit2CFLite.vsprops:
3248         * win/WebKit2Common.vsprops:
3249         * win/WebKit2ExportGenerator.vcproj: Added.
3250         * win/WebKit2ExportGeneratorCommon.vsprops: Added.
3251         * win/WebKit2ExportGeneratorDebug.vsprops: Added.
3252         * win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
3253         * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
3254         * win/WebKit2ExportGeneratorPostBuild.cmd: Added.
3255         * win/WebKit2ExportGeneratorPreBuild.cmd: Added.
3256         * win/WebKit2ExportGeneratorProduction.vsprops: Added.
3257         * win/WebKit2ExportGeneratorRelease.vsprops: Added.
3258         * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
3259
3260 2012-11-30  Tim Horton  <timothy_horton@apple.com>
3261
3262         (Simple)PDFPlugin: Support conversion of PostScript documents
3263         https://bugs.webkit.org/show_bug.cgi?id=103289
3264         <rdar://problem/10235708>
3265
3266         Reviewed by Dan Bernstein.
3267
3268         SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
3269         to PDF before handing them off to their respective backends.
3270
3271         As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.
3272
3273         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
3274         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3275         (WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
3276         (WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
3277         (WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
3278         (WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
3279         (WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
3280         (WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
3281         (WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
3282         * WebProcess/WebPage/WebPage.cpp:
3283         (WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.
3284
3285 2012-11-30  Tim Horton  <timothy_horton@apple.com>
3286
3287         PDFPlugin: "Show Definition" context menu item should be implemented
3288         https://bugs.webkit.org/show_bug.cgi?id=103389
3289         <rdar://problem/12710751>
3290
3291         Reviewed by Dan Bernstein.
3292
3293         Call existing dictionary popup code when the context menu "Show Definition" item is selected.
3294
3295         * WebProcess/Plugins/PDF/PDFPlugin.h:
3296         (PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
3297         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3298         (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
3299         (WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
3300         Ask WebPageProxy to show the dictionary popup.
3301         (WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.
3302
3303 2012-11-30  Simon Hausmann  <simon.hausmann@digia.com>
3304
3305         Unreviewed trivial Qt build fix:
3306
3307         Always link against WebProcess against QT += webkit and use webkitwidgets only if available.
3308
3309         * WebProcess.pro:
3310
3311 2012-11-30  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi  <pierre.rossi@digia.com>
3312
3313         [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
3314         https://bugs.webkit.org/show_bug.cgi?id=99314
3315
3316         Reviewed by Tor Arne Vestbø.
3317
3318         This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
3319         shared libraries.
3320
3321         It's a big refactoring that mostly involves moving WebCore dependent
3322         code into QtWebKit and accessing it through exported QWebFrameAdapter
3323         and QWebPageAdapter classes.
3324
3325
3326         * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
3327         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
3328         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
3329         * UIProcess/API/qt/tests/qmltests/WebView.pro:
3330         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
3331         * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
3332         * UIProcess/API/qt/tests/tests.pri:
3333
3334 2012-11-30  Joone Hur  <joone.hur@intel.com>
3335
3336         [EFL]Drawing artifacts while resizing the view
3337         https://bugs.webkit.org/show_bug.cgi?id=101288
3338
3339         Reviewed by Kenneth Rohde Christiansen.
3340
3341         An Evas GL surface is recreated when the window is resized, but the update of the surface is 
3342         asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
3343         As a result, the flickering problem happens while resizing the view.
3344         So this patch allows to create an Evas GL surface synchronously with the update of the surface.
3345
3346         * UIProcess/API/efl/EwkViewImpl.cpp:
3347         (EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
3348         (EwkViewImpl::displayTimerFired): Create an Evas GL surface.
3349         * UIProcess/API/efl/EwkViewImpl.h:
3350         (EwkViewImpl::setNeedsSurfaceResize): Added.
3351         (EwkViewImpl):
3352         * UIProcess/API/efl/ewk_view.cpp:
3353         (_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.
3354
3355 2012-11-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3356
3357         [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
3358         https://bugs.webkit.org/show_bug.cgi?id=103428
3359
3360         Reviewed by Kenneth Rohde Christiansen.
3361
3362         Set now appropriate fixed visible content rect before layout when viewport
3363         attributes change.
3364
3365         * UIProcess/PageViewportController.cpp:
3366         (WebKit::PageViewportController::syncVisibleContents):
3367         (WebKit::PageViewportController::didChangeViewportAttributes):
3368         * WebProcess/WebPage/WebPage.cpp:
3369         (WebKit::WebPage::sendViewportAttributesChanged):
3370
3371 2012-11-30  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3372
3373         [EFL] Gardening after r136031 and r136142
3374         https://bugs.webkit.org/show_bug.cgi?id=103734
3375
3376         Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
3377         is asserting after r136031. So, disabling the test until bug 103732 is
3378         fixed.
3379
3380         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3381         (TEST_F):
3382
3383 2012-11-30  Zeno Albisser  <zeno@webkit.org>
3384
3385         [Qt] Enable WebGL by default.
3386         https://bugs.webkit.org/show_bug.cgi?id=103731
3387
3388         Reviewed by Simon Hausmann.
3389
3390         * UIProcess/API/qt/qquickwebview.cpp:
3391         (QQuickWebViewPrivate::initialize):
3392
3393 2012-11-30  Mihai Maerean  <mmaerean@adobe.com>
3394
3395         [CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
3396         https://bugs.webkit.org/show_bug.cgi?id=101192
3397
3398         Reviewed by Hajime Morita.
3399
3400         Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.
3401
3402         Tests: No new tests because there is no functional change.
3403
3404         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3405         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3406         (WebKit::InjectedBundle::setCSSRegionsEnabled):
3407         (WebKit):
3408         * WebProcess/InjectedBundle/InjectedBundle.h:
3409         (InjectedBundle):
3410         * WebProcess/WebPage/WebPage.cpp:
3411         (WebKit::WebPage::updatePreferences):
3412
3413 2012-11-29  Tim Horton  <timothy_horton@apple.com>
3414
3415         PDFPlugin: Only plain text can be copied out of PDFs
3416         https://bugs.webkit.org/show_bug.cgi?id=103591
3417         <rdar://problem/12555161>
3418
3419         Reviewed by Alexey Proskuryakov.
3420
3421         Don't write zero-length data to the pasteboard, just skip the item.
3422
3423         As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
3424         so we assert that it doesn't happen in debug builds.
3425
3426         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3427         (WebKit::PDFPlugin::writeItemsToPasteboard):
3428
3429 2012-11-29  Martin Robinson  <mrobinson@igalia.com>
3430
3431         [GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
3432         https://bugs.webkit.org/show_bug.cgi?id=103476
3433
3434         Reviewed by Alejandro G. Castro.
3435
3436         Create the RedirectedXCompositeWindow with an argument specifying that it
3437         should never have a GLContext backing it.
3438
3439         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3440         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
3441
3442 2012-11-29  Rafael Weinstein  <rafaelw@chromium.org>
3443
3444         [HTMLTemplateElement] Add feature flag
3445         https://bugs.webkit.org/show_bug.cgi?id=103694
3446
3447         Reviewed by Adam Barth.
3448
3449         This flag will guard the implementation of the HTMLTemplateElement.
3450         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
3451
3452         * Configurations/FeatureDefines.xcconfig:
3453
3454 2012-11-29  Alexey Proskuryakov  <ap@apple.com>
3455
3456         [WK2] Forward cookie jar calls to NetworkProcess
3457         https://bugs.webkit.org/show_bug.cgi?id=103457
3458
3459         Reviewed by Darin Adler.
3460
3461         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
3462         Added messages to maniputate CookieJar in network process.
3463
3464         * NetworkProcess/NetworkConnectionToWebProcess.h:
3465         * NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,
3466         this file has a using direcive.
3467         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
3468         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
3469         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
3470         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
3471         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
3472         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
3473         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
3474         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
3475         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
3476         Added implementations that use PlatformCookieJar in the network process.
3477
3478         * Scripts/webkit2/messages.py: (struct_or_class):
3479         * Shared/WebCoreArgumentCoders.h:
3480         * Shared/WebCoreArgumentCoders.cpp:
3481         (CoreIPC::::encode):
3482         (CoreIPC::::decode):
3483         Added support for Cookie.
3484         
3485         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3486         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3487         (WebKit::WebPlatformStrategies::cookiesForDOM):
3488         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
3489         (WebKit::WebPlatformStrategies::cookiesEnabled):
3490         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
3491         (WebKit::WebPlatformStrategies::getRawCookies):
3492         (WebKit::WebPlatformStrategies::deleteCookie):
3493         (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
3494         (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
3495         (WebKit::WebPlatformStrategies::deleteAllCookies):
3496         When using the network process, forward cookie calls to it.
3497
3498 2012-11-29  Kiran Muppala  <cmuppala@apple.com>
3499
3500         Instantiate snapshot plugins in a PluginProcess with muted audio
3501         https://bugs.webkit.org/show_bug.cgi?id=101536
3502
3503         Reviewed by Anders Carlsson.
3504
3505         Plugins created for generation of a snapshot should be instantiated in a separate process with
3506         muted audio so that any sound generated during the snapshot process is not audible to the user.
3507
3508         * Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
3509         * PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and
3510         snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
3511         so that PluginProcessConnectionManager can store it in a HashMap.
3512         * PluginProcess/mac/PluginProcessMac.mm:
3513         (WebKit::muteAudio):
3514         (WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
3515         that the plugin process type is snapshot process.
3516         * Shared/Plugins/PluginProcessCreationParameters.cpp:
3517         (WebKit::PluginProcessCreationParameters::encode):
3518         (WebKit::PluginProcessCreationParameters::decode):
3519         * Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
3520         * UIProcess/Plugins/PluginProcessManager.cpp:
3521         (WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
3522         (WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
3523         (WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
3524         (WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
3525         (WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.
3526         * UIProcess/Plugins/PluginProcessManager.h:
3527         * UIProcess/Plugins/PluginProcessProxy.cpp:
3528         (WebKit::PluginProcessProxy::create): Add process type parameter.
3529         (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
3530         (WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
3531         (WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.
3532         * UIProcess/Plugins/PluginProcessProxy.h:
3533         (WebKit::PluginProcessProxy::processType):
3534         * UIProcess/WebProcessProxy.cpp:
3535         (WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
3536         PluginProcessManager.
3537         * UIProcess/WebProcessProxy.h:
3538         (WebProcessProxy):
3539         * UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
3540         * WebProcess/Plugins/PluginProcessConnection.cpp:
3541         (WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.
3542         * WebProcess/Plugins/PluginProcessConnection.h:
3543         (WebKit::PluginProcessConnection::create): Ditto.
3544         (WebKit::PluginProcessConnection::processType): Ditto.
3545         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3546         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
3547         (WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
3548         plugin path to find the connection to remove.
3549         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.
3550         * WebProcess/Plugins/PluginProcessConnectionManager.h:
3551         * WebProcess/Plugins/PluginProxy.cpp:
3552         (WebKit::PluginProxy::create): Ditto.
3553         (WebKit::PluginProxy::PluginProxy): Ditto.
3554         (WebKit::PluginProxy::initialize): Add process type parameter in call to
3555         PluginProcessConnectionManager::getPluginProcessConnection.
3556         * WebProcess/Plugins/PluginProxy.h:
3557         * WebProcess/WebPage/WebPage.cpp:
3558         (WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
3559         pass it to PluginProxy::create.
3560         * WebProcess/WebProcess.cpp:
3561         (WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
3562         PluginProcessConnectionManager.
3563         * WebProcess/WebProcess.h:
3564         * WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
3565
3566 2012-11-29  Anders Carlsson  <andersca@apple.com>
3567
3568         Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
3569         https://bugs.webkit.org/show_bug.cgi?id=103689
3570
3571         Reviewed by Darin Adler.
3572
3573         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3574         (CoreIPC::Connection::platformInitialize):
3575
3576 2012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
3577
3578         [CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
3579         https://bugs.webkit.org/show_bug.cgi?id=103650
3580
3581         Reviewed by Noam Rosenthal.
3582
3583         We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
3584         meaning that we need to delete them manually. This patch leverages smart
3585         pointers and stores layers as OwnPtr in the LayerMap so that the layers
3586         are owned by the HashMap and we don't have to handle memory manually.
3587
3588         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3589         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
3590         (WebKit::LayerTreeRenderer::setLayerChildren):
3591         (WebKit::LayerTreeRenderer::deleteLayer):
3592         (WebKit::LayerTreeRenderer::ensureLayer):
3593         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3594
3595 2012-11-29  Anders Carlsson  <andersca@apple.com>
3596
3597         Add a minimumLayoutWidth WKView property
3598         https://bugs.webkit.org/show_bug.cgi?id=103660
3599         <rdar://problem/11791729>
3600
3601         Reviewed by Beth Dakin.
3602
3603         When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.
3604
3605         * UIProcess/API/mac/PageClientImpl.h:
3606         * UIProcess/API/mac/PageClientImpl.mm:
3607         (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
3608         Call the WKView.
3609
3610         * UIProcess/API/mac/WKView.mm:
3611         (-[WKView intrinsicContentSize]):
3612         Override the intrinsicContentSize getter.
3613
3614         (-[WKView _setIntrinsicContentSize:]):
3615         Update the intrinsic content size and mark it as invalid.
3616
3617         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3618         By default, the WKView should have no intrinsic size.
3619
3620         (-[WKView minimumLayoutWidth]):
3621         (-[WKView setMinimumLayoutWidth:]):
3622         Call through to the WebPageProxy object.
3623
3624         * UIProcess/API/mac/WKViewPrivate.h:
3625         Add the SPI here.
3626
3627         * UIProcess/DrawingAreaProxy.h:
3628         (WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
3629         (WebKit::DrawingAreaProxy::didUpdateGeometry):
3630         (WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
3631         Add empty stubs.
3632
3633         * UIProcess/DrawingAreaProxy.messages.in:
3634         Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.
3635
3636         * UIProcess/WebPageProxy.cpp:
3637         (WebKit::WebPageProxy::WebPageProxy):
3638         Initialize the minimum layout width.
3639
3640         (WebKit::WebPageProxy::setMinimumLayoutWidth):
3641         Update the minimum layout width and call the drawing area proxy.
3642
3643         * UIProcess/WebPageProxy.h:
3644         (WebKit::WebPageProxy::minimumLayoutWidth):
3645         Add getter.
3646
3647         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3648         (TiledCoreAnimationDrawingAreaProxy):
3649         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3650         (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
3651         Update the geometry if needed.
3652
3653         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
3654         Update the intrinsic content size.
3655
3656         (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
3657         Call through to WebPageProxy::intrinsicContentSizeDidChange.
3658
3659         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
3660         Pass along the minimum layout width.
3661
3662         * UIProcess/mac/WebPageProxyMac.mm:
3663         (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
3664         Call through to the page client.
3665
3666         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3667         (WebKit::WebChromeClient::contentsSizeChanged):
3668         Call DrawingArea::mainFrameContentSizeChanged.
3669
3670         * WebProcess/WebPage/DrawingArea.h:
3671         (WebKit::DrawingArea::mainFrameContentSizeChanged):
3672         Add empty stub.
3673
3674         (WebKit::DrawingArea::updateGeometry):
3675         Update signature.
3676
3677         * WebProcess/WebPage/DrawingArea.messages.in:
3678         Add minimumLayoutWidth to UpdateGeometry.
3679
3680         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3681         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3682         (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
3683         If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.
3684
3685         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
3686         If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
3687         layout with the viewport set to that height.
3688
3689 2012-11-29  Anders Carlsson  <andersca@apple.com>
3690
3691         CoreIPC::Connection should retain its xpc_connection_t
3692         https://bugs.webkit.org/show_bug.cgi?id=103671
3693         <rdar://problem/12717331>
3694
3695         Reviewed by Beth Dakin.
3696
3697         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3698         (CoreIPC::Connection::platformInitialize):
3699         Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.
3700
3701 2012-11-29  Brent Fulgham  <bfulgham@webkit.org>
3702
3703         [Windows, WinCairo] Unreviewed build fix.  Build was failing
3704         because the export definition file included a debug-only
3705         symbol.  It's not needed and shouldn't be included for export.
3706
3707         * win/WebKit2.def: Don't require notSolidColor to be exported.
3708         * win/WebKit2CFLite.def: Ditto.
3709
3710 2012-11-29  Tim Horton  <timothy_horton@apple.com>
3711
3712         PDFPlugin: Only plain text can be copied out of PDFs
3713         https://bugs.webkit.org/show_bug.cgi?id=103591
3714         <rdar://problem/12555161>
3715
3716         Reviewed by Alexey Proskuryakov.
3717
3718         Enable rich data to be copied from PDFKit to the pasteboard.
3719
3720         * WebProcess/Plugins/PDF/PDFPlugin.h:
3721         (PDFPlugin): Add writeItemsToPasteboard.
3722         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3723         (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
3724         (WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
3725         use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
3726         (RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.
3727
3728 2012-11-29  Martin Robinson  <mrobinson@igalia.com>
3729
3730         [GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
3731         https://bugs.webkit.org/show_bug.cgi?id=103277
3732
3733         Reviewed by Carlos Garcia Campos.
3734
3735         Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
3736         of the WebKitWebViewBase container (like the web inspector).
3737
3738         We do not yet properly handle pages that require authentication for more than one resource.
3739         As that is an uncommon situation, it will be handled in another patch.
3740
3741         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
3742         (WebKit::drawSignal): We have to override the draw signal of the dialog to draw
3743         a GtkWindow background on the widget. This is required because the widget doesn't
3744         have a real GtkWindow to draw its background.
3745         (WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
3746         is so that the dialog doesn't stick around when the user chooses to navigate away from the
3747         page requiring authentication.
3748         (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
3749         and frame to hold the dialog contents. Also append the 'background' widget class to the
3750         event box, so that it can draw a GtkWindow background in the draw signal handler.
3751         (WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
3752         load status changed signal handler.
3753         (WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
3754         WebKitWebViewBase.
3755         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the
3756         embedded dialog.
3757         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3758         (didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.
3759         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3760         (_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
3761         (webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
3762         is "internal" (ie the web inspector or the authentication dialog).
3763         (webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
3764         (webkitWebViewBaseAddAuthenticationDialog): Added.
3765         (webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
3766         to the WebView. This also aligns it with the way the authentication dialog is added.
3767         (webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
3768         field in the private structure.
3769         (webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
3770         (webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
3771         (webkit_web_view_base_init): Zero out the authentication dialog member on init.
3772         (webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
3773         (resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
3774         (webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
3775         (webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
3776         to web content.
3777         (webkitWebViewBaseButtonReleaseEvent):  Ditto.
3778         (webkitWebViewBaseScrollEvent): Ditto.
3779         (webkitWebViewBaseMotionNotifyEvent): Ditto.
3780         (webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
3781         elements in the dialog works correctly.
3782         (webkit_web_view_base_class_init): Hook up the focus event.
3783         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog
3784         and the web inspector.
3785         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3786         (WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.
3787
3788 2012-11-29  Andrei Bucur  <abucur@adobe.com>
3789
3790         Fix the build after r136095
3791         https://bugs.webkit.org/show_bug.cgi?id=103629
3792
3793         Unreviewed.
3794
3795         Add a static_cast to fix the build.
3796
3797         * Shared/mac/ObjCObjectGraphCoders.mm:
3798         (WebKit::ObjCObjectGraphEncoder::baseEncode):
3799
3800 2012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
3801
3802         [CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
3803         https://bugs.webkit.org/show_bug.cgi?id=103645
3804
3805         Reviewed by Noam Rosenthal.
3806
3807         The current LayerTreeRenderer code keep calling ensureLayer() and then
3808         LayerMap::find() to retrieve the layer. Since ensureLayer() already has
3809         a pointer to the layer, we can simply have the function return it.
3810         This is slightly more efficient and it makes the code a bit simpler.
3811
3812         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3813         (WebKit::LayerTreeRenderer::setLayerChildren):
3814         (WebKit::LayerTreeRenderer::setLayerFilters):
3815         (WebKit::LayerTreeRenderer::setLayerState):
3816         (WebKit::LayerTreeRenderer::ensureLayer):
3817         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3818
3819 2012-11-29  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3820
3821         [WK2] TiledBackingStore: User events are sent to web page before it is shown
3822         https://bugs.webkit.org/show_bug.cgi?id=101753
3823
3824         Reviewed by Jocelyn Turcotte.
3825
3826         User events are suppressed on WEB process side while drawing area is frozen.
3827
3828         * WebProcess/WebPage/WebPage.cpp:
3829         (WebKit::WebPage::mouseEvent):
3830         (WebKit::WebPage::wheelEvent):
3831         (WebKit::WebPage::keyEvent):
3832         (WebKit::WebPage::gestureEvent):
3833         (WebKit::WebPage::touchEvent):
3834         (WebKit::WebPage::sendIfEventCannotBeHandled):
3835         (WebKit):
3836         (WebKit::WebPage::didCompletePageTransition):
3837         * WebProcess/WebPage/WebPage.h:
3838         (WebPage):
3839
3840 2012-11-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3841
3842         Possible to resize out of bounds 
3843         https://bugs.webkit.org/show_bug.cgi?id=103521
3844
3845         Reviewed by Jocelyn Turcotte.
3846
3847         Enforce the viewportBounds after resize, and ensure a user fitted page remains
3848         fit on viewport resize, but not on content growth.
3849
3850         * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
3851         * UIProcess/PageViewportController.cpp:
3852         (WebKit::PageViewportController::didChangeContentsSize):
3853         (WebKit::PageViewportController::didChangeViewportAttributes):
3854         (WebKit::PageViewportController::updateMinimumScaleToFit):
3855         * UIProcess/PageViewportController.h:
3856         (PageViewportController):
3857
3858 2012-11-29  Michael Brüning  <michael.bruning@digia.com>
3859
3860         [Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
3861         https://bugs.webkit.org/show_bug.cgi?id=97774
3862
3863         Reviewed by Kenneth Rohde Christiansen.
3864
3865         Implements the handler for willSetInputMethodState in WebKit2 in Qt.
3866         This is needed to tell the input method instance in Qt to commit its
3867         preedit content when the focus has moved to another node to prevent a
3868         bug where the old preedit string was kept as the preedit string and
3869         the editor moved focus back to the old node when continuing to enter
3870         text via the input method.
3871
3872         This behavior is analog to the behavior of the QtQuick text input
3873         elements.
3874
3875         * UIProcess/API/qt/raw/qrawwebview.cpp:
3876         (QRawWebViewPrivate::handleWillSetInputMethodState):
3877         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3878         (QRawWebViewPrivate):
3879         * UIProcess/PageClient.h:
3880         (PageClient):
3881         * UIProcess/WebPageProxy.h:
3882         (WebPageProxy):
3883         * UIProcess/WebPageProxy.messages.in:
3884         * UIProcess/qt/QtPageClient.cpp:
3885         (WebKit::QtPageClient::handleWillSetInputMethodState):
3886         (WebKit):
3887         * UIProcess/qt/QtPageClient.h:
3888         (QtPageClient):
3889         * UIProcess/qt/QtWebPageEventHandler.cpp:
3890         (WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
3891         (WebKit):
3892         * UIProcess/qt/QtWebPageEventHandler.h:
3893         (QtWebPageEventHandler):
3894         * UIProcess/qt/WebPageProxyQt.cpp:
3895         (WebKit::WebPageProxy::willSetInputMethodState):
3896         (WebKit):
3897         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3898         (WebKit::WebEditorClient::willSetInputMethodState):
3899
3900 2012-11-28  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3901
3902         [Qt] The WebView should be flickable only using touch events
3903         https://bugs.webkit.org/show_bug.cgi?id=100964
3904
3905         Reviewed by Kenneth Rohde Christiansen.
3906
3907         Let a user interacting with the WebView using a mouse the same way that a
3908         desktop browser would.
3909         This allows normal behaviors like text selecting, hover events, mouse cursors
3910         as well as avoid touch highlighting and touch adjustment.
3911
3912         To do so we let all mouse events to be handled by the page directly instead
3913         of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
3914         pushed back to the PageClient like touch events does, this have the intended
3915         behavior of not letting mouse events affect QQuickFlickable.
3916
3917         * UIProcess/API/qt/qquickwebview.cpp:
3918         * UIProcess/API/qt/qquickwebview_p_p.h:
3919         (QQuickWebViewFlickablePrivate):
3920
3921 2012-11-29  Andras Becsi  <andras.becsi@digia.com>
3922
3923         [Qt] Fix installation of QtWebProcess binary
3924         https://bugs.webkit.org/show_bug.cgi?id=101735
3925
3926         Reviewed by Simon Hausmann.
3927
3928         If available use QLibraryInfo::LibraryExecutablesPath to find
3929         the web process and the plugin process and deploy both helper
3930         processes to QT_INSTALL_LIBEXECS.
3931
3932         The effective fallback used to find the helper processes becomes:
3933             1. Application directory
3934             2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
3935             3. Qt binaries directory (QLibraryInfo::BinariesPath)
3936             4. No absolute path used
3937
3938         * PluginProcess.pro:
3939         * Shared/qt/ProcessExecutablePathQt.cpp:
3940         (WebKit::executablePath):
3941         * WebProcess.pro:
3942
3943 2012-11-28  Ryuan Choi  <ryuan.choi@gmail.com>
3944
3945         [EFL] Generate big_button_theme.edj
3946         https://bugs.webkit.org/show_bug.cgi?id=103511
3947
3948         Reviewed by Gyuyoung Kim.
3949
3950         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
3951         (EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
3952         (EWK2UnitTest):
3953         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
3954         (EWK2UnitTestEnvironment):
3955         * UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
3956         * UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj
3957         (TEST_F):
3958
3959 2012-11-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3960
3961         Unreviewed, rolling out r135973.
3962         http://trac.webkit.org/changeset/135973
3963         https://bugs.webkit.org/show_bug.cgi?id=103604
3964
3965         It made API test crash on EFL bots (Requested by gyuyoung on
3966         #webkit).
3967
3968         * UIProcess/API/efl/ewk_view.cpp:
3969         (createEwkView):
3970
3971 2012-11-28  Michael Pruett  <michael@68k.org>
3972
3973         IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
3974         https://bugs.webkit.org/show_bug.cgi?id=103554
3975
3976         Reviewed by Kentaro Hara.
3977
3978         In r135022, duplicate createFromWire() and toWireString() methods
3979         were added to the JSC version of SerializedScriptValue. In
3980         order to allow the JSC SerializedScriptValue to compile when
3981         ENABLE(INDEXED_DATABASE) is turned on, these new methods have
3982         been removed and the old methods have been moved outside the
3983         ENABLE(INDEXED_DATABASE) guard.
3984
3985         * win/WebKit2.def:
3986         * win/WebKit2CFLite.def:
3987
3988 2012-11-28  Sam Weinig  <sam@webkit.org>
3989
3990         Fix 32bit build.
3991
3992         * Shared/mac/ObjCObjectGraphCoders.mm:
3993         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
3994         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
3995
3996 2012-11-28  Sam Weinig  <sam@webkit.org>
3997
3998         Add an objc object graph wrapper and coder for WKConnection message bodies
3999         https://bugs.webkit.org/show_bug.cgi?id=103589
4000
4001         Reviewed by Anders Carlsson.
4002
4003         Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
4004         WKBrowsingContextController across the wire.
4005
4006         * Shared/APIClient.h:
4007         (APIClient):
4008         (WebKit::APIClient::client):
4009         Add accessor for the ClientInterface.
4010
4011         * Shared/APIObject.h:
4012         Add new TypeObjCObjectGraph type.
4013
4014         * Shared/mac/ObjCObjectGraph.h: Added.
4015         (ObjCObjectGraph):
4016         (WebKit::ObjCObjectGraph::create):
4017         (WebKit::ObjCObjectGraph::root):
4018         (WebKit::ObjCObjectGraph::ObjCObjectGraph):
4019         (WebKit::ObjCObjectGraph::type):
4020         * Shared/mac/ObjCObjectGraph.mm: Added.
4021         Wraps 
4022
4023         * Shared/mac/ObjCObjectGraphCoders.h: Added.
4024         (WebContextObjCObjectGraphEncoder):
4025         (WebContextObjCObjectGraphDecoder):
4026         (InjectedBundleObjCObjectGraphEncoder):
4027         (InjectedBundleObjCObjectGraphDecoder):
4028         * Shared/mac/ObjCObjectGraphCoders.mm: Added.
4029         (WebKit::typeFromObject):
4030         (ObjCObjectGraphEncoder):
4031         (WebKit::ObjCObjectGraphEncoder::baseEncode):
4032         (WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
4033         (ObjCObjectGraphDecoder):
4034         (WebKit::ObjCObjectGraphDecoder::baseDecode):
4035         (WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
4036         (WebContextObjCObjectGraphEncoderImpl):
4037         (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
4038         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
4039         (WebContextObjCObjectGraphDecoderImpl):
4040         (WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
4041         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
4042         (InjectedBundleObjCObjectGraphEncoderImpl):
4043         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
4044         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
4045         (InjectedBundleObjCObjectGraphDecoderImpl):
4046         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
4047         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
4048         (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
4049         (WebKit::WebContextObjCObjectGraphEncoder::encode):
4050         (WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
4051         (WebKit::WebContextObjCObjectGraphDecoder::decode):
4052         (WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
4053         (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
4054         (WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):