1 2012-05-21 Gavin Barraclough <barraclough@apple.com>
3 Disable private names by default in WebCore
4 https://bugs.webkit.org/show_bug.cgi?id=87088
6 Reviewed by Geoff Garen.
8 r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
9 These are probably not yet ready to be web-facing, so disabling by default in WebCore.
10 Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
12 * Shared/WebPreferencesStore.h:
14 * UIProcess/API/C/WKPreferences.cpp:
15 (WKPreferencesSetJavaScriptExperimentsEnabled):
16 (WKPreferencesGetJavaScriptExperimentsEnabled):
17 * UIProcess/API/C/WKPreferences.h:
18 * WebProcess/WebPage/WebPage.cpp:
19 (WebKit::WebPage::updatePreferences):
20 - Added JavaScriptExperimentsEnabled to WebPreferences.
22 2012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
24 [Qt] Clean up internal viewport animation API
25 https://bugs.webkit.org/show_bug.cgi?id=87130
27 Reviewed by Simon Hausmann.
29 const'ify classes which should be const.
31 There is now only one method which can animate, animateItemRectVisible
32 which is used for also animating the contents back into valid bounds.
33 The valid bounds are computed using a separate method. It is now more
34 clear when an animation is used or not and asserts are added for
35 ensuring no concurrent animations as well as proper update deferring.
37 * UIProcess/API/qt/qquickwebview.cpp:
38 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
39 * UIProcess/qt/QtViewportInteractionEngine.cpp:
40 (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
41 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
42 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
43 (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
44 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
45 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
46 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
47 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
48 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
49 (WebKit::QtViewportInteractionEngine::nearestValidBounds):
50 (WebKit::QtViewportInteractionEngine::currentCSSScale):
51 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
52 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
53 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
54 * UIProcess/qt/QtViewportInteractionEngine.h:
55 (QtViewportInteractionEngine):
57 2012-05-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
59 [Qt] Mini clean ups in the interaction engine
60 https://bugs.webkit.org/show_bug.cgi?id=87013
62 Reviewed by Simon Hausmann.
64 * UIProcess/qt/QtViewportInteractionEngine.cpp:
65 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
66 Assert that we are suspended.
67 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
68 Never zoom to any area if suspended which indicates other
69 animation or user interaction.
70 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
71 If immediate is set, ignore suspension.
72 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
75 2012-05-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
77 [Qt] Tap-to-zoom overshoot animation
78 https://bugs.webkit.org/show_bug.cgi?id=87108
80 Reviewed by Kenneth Rohde Christiansen.
82 Defines a simple animation curve that combines a large
83 ease-out (overshoot) with a small ease-in (correction).
84 Uses that curve for zooming animation.
86 * UIProcess/qt/QtViewportInteractionEngine.cpp:
87 (WebKit::physicalOvershoot):
88 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
90 2012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
92 [Qt] Make the resizing code more straight forward
93 https://bugs.webkit.org/show_bug.cgi?id=87015
95 Reviewed by Simon Hausmann.
97 * UIProcess/API/qt/qquickwebpage.cpp:
98 (QQuickWebPage::transformToItem):
99 (QQuickWebPagePrivate::updateSize):
100 * UIProcess/API/qt/qquickwebview.cpp:
101 * UIProcess/API/qt/qquickwebview_p.h:
102 * UIProcess/API/qt/qquickwebview_p_p.h:
103 (QQuickWebViewFlickablePrivate):
105 2012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
107 [Qt] Add UI tests for fit-to-view
108 https://bugs.webkit.org/show_bug.cgi?id=86857
110 Reviewed by Simon Hausmann.
112 Make sure to always emit contentsScaleCommitted when the
113 contents size changes, so that it can be used for testing.
115 Also add a method to do single taps.
117 * UIProcess/API/qt/qquickwebview.cpp:
118 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
119 * UIProcess/API/qt/qwebkittest.cpp:
121 (QWebKitTest::touchTap):
122 (QWebKitTest::touchDoubleTap):
123 * UIProcess/API/qt/qwebkittest_p.h:
124 * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Added.
126 2012-05-21 Brady Eidson <beidson@apple.com>
128 <rdar://problem/11460336> and https://bugs.webkit.org/show_bug.cgi?id=87061
129 WKPageGetScaleFactor can return 0.0 after a session is restored
131 Reviewed by Beth Dakin.
133 API test WKPageGetScaleFactorNotZero added.
135 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
136 (WebKit::WebFrameLoaderClient::restoreViewState): Tell the UI Process the scale factor
137 is 1.0 if it has never been manually set.
139 2012-05-21 Anders Carlsson <andersca@apple.com>
141 Flash player buttons do not work when page is zoomed in
142 https://bugs.webkit.org/show_bug.cgi?id=87056
143 <rdar://problem/11491501>
145 Reviewed by Oliver Hunt.
147 Use the page scale factor when computing the plug-in to root view transform, otherwise we'll compute an
148 incorrect transform for plug-ins inside subframes. Also, make sure that viewGeometryDidChange is called for all plug-ins
149 when scaling the page since otherwise it won't be called unless the scroll position changes.
151 * WebProcess/Plugins/PluginView.cpp:
152 (WebKit::PluginView::pageScaleFactorDidChange):
154 (WebKit::PluginView::viewGeometryDidChange):
155 * WebProcess/Plugins/PluginView.h:
157 * WebProcess/WebPage/WebPage.cpp:
158 (WebKit::WebPage::scalePage):
160 2012-05-15 Gavin Barraclough <barraclough@apple.com>
162 Add support for private names
163 https://bugs.webkit.org/show_bug.cgi?id=86509
165 Reviewed by Oliver Hunt.
167 The spec isn't final, but we can start adding support to allow property maps
168 to contain keys that aren't identifiers.
170 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
171 (WebKit::npIdentifierFromIdentifier):
172 (WebKit::JSNPObject::methodGetter):
173 - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
175 2012-05-21 Hugo Parente Lima <hugo.lima@openbossa.org>
177 [Qt][WK2] fast/forms/submit-to-blank-multiple-times.html fails
178 https://bugs.webkit.org/show_bug.cgi?id=68309
180 Reviewed by Alexis Menard.
182 Force focus when the element receives a double click event.
184 * UIProcess/API/qt/qquickwebview.cpp:
185 (QQuickWebView::mouseDoubleClickEvent):
187 2012-05-21 Marcelo Lira <marcelo.lira@openbossa.org>
189 [Qt][WK2] REGRESSION, fix a failing API test in qmltests
190 https://bugs.webkit.org/show_bug.cgi?id=82700
192 Reviewed by Alexis Menard.
194 The value of a CSS font-family property is expected to have single
195 quotes when white space is present in its name, and no quotes otherwise.
196 Font family names returned by WebView.experimental.preferences never add quotes.
198 Since what matter to the test is only the identity of the font, an auxiliar
199 method to remove single quotes was added.
201 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
203 2012-05-21 Allan Sandfeld Jensen <allan.jensen@nokia.com>
206 https://bugs.webkit.org/show_bug.cgi?id=86465
208 Reviewed by Darin Adler.
210 Avoid triggering C++11 string literals.
212 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
214 2012-05-21 Allan Sandfeld Jensen <allan.jensen@nokia.com>
216 Disambiguate WTF::bind and std::bind from C++11
217 https://bugs.webkit.org/show_bug.cgi?id=86465
219 Reviewed by Darin Adler.
221 * Platform/CoreIPC/Connection.cpp:
222 (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
223 (CoreIPC::Connection::addQueueClient):
224 (CoreIPC::Connection::removeQueueClient):
225 (CoreIPC::Connection::invalidate):
226 (CoreIPC::Connection::sendMessage):
227 (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
228 (CoreIPC::Connection::connectionDidClose):
229 (CoreIPC::Connection::enqueueIncomingMessage):
230 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
231 (CoreIPC::Connection::open):
232 (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
233 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
234 (WebKit::NetscapePlugin::pluginThreadAsyncCall):
235 * WebProcess/WebPage/FindController.cpp:
236 (WebKit::FindController::findString):
238 2012-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
240 [GTK] Add GCancellable parameter to all methods using gio async pattern
241 https://bugs.webkit.org/show_bug.cgi?id=86843
243 Reviewed by Gustavo Noronha Silva.
245 Add a private macro WEBKIT_DEFINE_ASYNC_DATA_STRUCT() to make it
246 easier to define temporary structs used in async operations.
248 * UIProcess/API/gtk/WebKitCookieManager.cpp:
249 (GetAcceptPolicyAsyncData):
250 (webkitCookieManagerGetAcceptPolicyCallback):
251 (webkit_cookie_manager_get_accept_policy):
252 (webkit_cookie_manager_get_accept_policy_finish):
253 (GetDomainsWithCookiesAsyncData):
254 (webkitCookieManagerGetDomainsWithCookiesCallback):
255 (webkit_cookie_manager_get_domains_with_cookies):
256 (webkit_cookie_manager_get_domains_with_cookies_finish):
257 * UIProcess/API/gtk/WebKitCookieManager.h:
258 * UIProcess/API/gtk/WebKitPrivate.h:
259 * UIProcess/API/gtk/WebKitWebContext.cpp:
260 (webkit_web_context_get_plugins):
261 * UIProcess/API/gtk/WebKitWebResource.cpp:
262 (ResourceGetDataAsyncData):
263 (resourceDataCallback):
264 (webkit_web_resource_get_data):
265 (webkit_web_resource_get_data_finish):
266 * UIProcess/API/gtk/WebKitWebResource.h:
267 * UIProcess/API/gtk/WebKitWebView.cpp:
268 (ValidateEditingCommandAsyncData):
269 (didValidateCommand):
270 (webkit_web_view_can_execute_editing_command):
271 (webkit_web_view_can_execute_editing_command_finish):
272 (RunJavaScriptAsyncData::~RunJavaScriptAsyncData):
273 (RunJavaScriptAsyncData):
274 (webkitWebViewRunJavaScriptCallback):
275 (webkit_web_view_run_javascript):
276 (webkit_web_view_run_javascript_finish):
277 * UIProcess/API/gtk/WebKitWebView.h:
278 * UIProcess/API/gtk/tests/TestCookieManager.cpp:
279 * UIProcess/API/gtk/tests/TestResources.cpp:
280 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
281 * UIProcess/API/gtk/tests/TestWebViewEditor.cpp:
282 * UIProcess/API/gtk/tests/WebViewTest.cpp:
283 (WebViewTest::runJavaScriptAndWaitUntilFinished):
285 2012-05-19 Andy Estes <aestes@apple.com>
287 Use USE_APPKIT and USE_SECURITY_FRAMEWORK in a few more places
288 https://bugs.webkit.org/show_bug.cgi?id=86951
290 Reviewed by Dan Bernstein.
292 * UIProcess/WebProcessProxy.messages.in: Change #if PLATFORM(MAC) to
293 the more specific #if USE(SECURITY_FRAMEWORK).
294 * UIProcess/mac/WebPageProxyMac.mm: Wrap some uses of AppKit classes
295 with #if USE(APPKIT).
296 * UIProcess/mac/WebPopupMenuProxyMac.h: Ditto.
297 * UIProcess/mac/WebPopupMenuProxyMac.mm: Ditto.
299 2012-05-18 Anders Carlsson <andersca@apple.com>
301 REGRESSION (r108181): corruption after scrolling
302 https://bugs.webkit.org/show_bug.cgi?id=86934
303 <rdar://problem/11487337>
305 Reviewed by Dan Bernstein.
307 Use the flipped Y coordinate when resetting the scrolled rect.
309 * UIProcess/mac/BackingStoreMac.mm:
310 (WebKit::BackingStore::resetScrolledRect):
312 2012-05-19 Andy Estes <aestes@apple.com>
314 Fix build errors found when disabling ENABLE_DRAG_SUPPORT
315 https://bugs.webkit.org/show_bug.cgi?id=86947
317 Reviewed by Jon Honeycutt.
319 Fix more build errors.
321 * UIProcess/API/mac/WKView.mm:
322 * UIProcess/WebPageProxy.cpp:
324 * UIProcess/WebPageProxy.h:
326 * UIProcess/WebPageProxy.messages.in:
327 * UIProcess/mac/WebPageProxyMac.mm:
329 * WebProcess/WebPage/WebPage.h:
331 * WebProcess/WebPage/WebPage.messages.in:
333 2012-05-19 Andy Estes <aestes@apple.com>
335 Fix build errors found when disabling ENABLE_DRAG_SUPPORT
336 https://bugs.webkit.org/show_bug.cgi?id=86947
338 Reviewed by Jon Honeycutt.
340 * UIProcess/API/mac/WKView.mm:
341 (createSandboxExtensionsForFileUpload):
342 (-[WKView performDragOperation:]):
343 * WebProcess/WebCoreSupport/WebDragClient.cpp:
344 * WebProcess/WebCoreSupport/WebDragClient.h:
345 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
346 * WebProcess/WebPage/WebPage.cpp:
347 (WebKit::WebPage::WebPage):
349 * WebProcess/WebPage/mac/WebPageMac.mm:
350 (WebKit::WebPage::shouldDelayWindowOrderingEvent):
351 (WebKit::WebPage::acceptsFirstMouse):
353 2012-05-19 Andy Estes <aestes@apple.com>
355 Plug-in process should only be enabled if Netscape plug-in API is enabled
356 https://bugs.webkit.org/show_bug.cgi?id=86945
358 Reviewed by Dan Bernstein.
360 * config.h: Only define ENABLE_PLUGIN_PROCESS if ENABLE_NETSCAPE_PLUGIN_API is true.
362 2012-04-27 Filip Pizlo <fpizlo@apple.com>
364 DFG should have control flow graph simplification
365 https://bugs.webkit.org/show_bug.cgi?id=84553
367 Reviewed by Oliver Hunt.
369 Merged r115512 from dfgopt.
371 JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
373 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
374 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
376 2012-05-18 Anders Carlsson <andersca@apple.com>
378 Missing plugin msg becomes "insecure plugin version" after Real Player page refresh
379 https://bugs.webkit.org/show_bug.cgi?id=86903
380 <rdar://problem/11477163>
382 Reviewed by Andreas Kling.
384 Set blocked to false before returning early when the plug-in doesn't exist.
386 * UIProcess/WebContext.cpp:
387 (WebKit::WebContext::getPluginPath):
389 2012-05-18 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
391 [GTK] [WK2] Memory leaks in WebKitBackForwardList
392 https://bugs.webkit.org/show_bug.cgi?id=86872
394 Reviewed by Martin Robinson.
396 Fix memory leaks by adopting WKArray of WebBackForwardListItems
397 allocations using AdoptWK.
399 * UIProcess/API/gtk/WebKitBackForwardList.cpp:
400 (webkit_back_forward_list_get_back_list):
401 (webkit_back_forward_list_get_back_list_with_limit):
402 (webkit_back_forward_list_get_forward_list):
403 (webkit_back_forward_list_get_forward_list_with_limit):
405 2012-05-18 Anders Carlsson <andersca@apple.com>
407 PDF page does not show up when opened in the background
408 https://bugs.webkit.org/show_bug.cgi?id=86890
409 <rdar://problem/11259951>
411 Reviewed by Andreas Kling.
413 * UIProcess/API/mac/WKView.mm:
414 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
415 Just set the new render layer if we're already in accelerated compositing mode.
417 2012-05-18 Tony Chang <tony@chromium.org>
419 remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
420 https://bugs.webkit.org/show_bug.cgi?id=86767
422 Reviewed by Ojan Vafai.
424 * Configurations/FeatureDefines.xcconfig:
425 * Shared/WebPreferencesStore.h:
427 * UIProcess/API/C/WKPreferences.cpp:
428 (WKPreferencesSetCSSGridLayoutEnabled):
429 (WKPreferencesGetCSSGridLayoutEnabled):
430 * UIProcess/API/C/WKPreferencesPrivate.h:
431 * WebProcess/InjectedBundle/InjectedBundle.cpp:
432 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
433 * WebProcess/WebPage/WebPage.cpp:
434 (WebKit::WebPage::updatePreferences):
436 2012-05-18 Shezan Baig <shezbaig.wk@gmail.com>
438 Expose FrameSelection::absoluteCaretBounds via window.internals
439 https://bugs.webkit.org/show_bug.cgi?id=86390
441 Reviewed by Ryosuke Niwa.
443 Exports necessary symbols.
446 * win/WebKit2CFLite.def:
448 2012-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
450 [GTK] Allow to attach/detach the inspector in WebKit2
451 https://bugs.webkit.org/show_bug.cgi?id=86823
453 Reviewed by Gustavo Noronha Silva.
455 Also rename WebInspectorGtk.cpp as WebInspectorProxyGtk.cpp since
456 it implements the platform specific methods of WebInspectorProxy.
458 * GNUmakefile.list.am: Add new files to compilation.
459 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
460 (webkitWebViewBaseContainerAdd): Allow to add a WebView containing
461 the inspector as an internal child.
462 (webkitWebViewBaseContainerRemove): Check whether the widget
463 removed is the inspector web view.
464 (webkitWebViewBaseContainerForall): When includeInternals is True,
465 add also the inspector web view if it's present.
466 (resizeWebKitWebViewBaseFromAllocation): Allocate space for the
467 inspector web view if it's present.
468 (webkitWebViewBaseSetInspectorViewHeight): Private function used
469 by the inspector proxy to set the height of the inspector web
471 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
472 * UIProcess/WebInspectorProxy.h:
473 (WebInspectorProxy): Remove unneeded method windowDestroyed.
474 * UIProcess/gtk/WebInspectorProxyGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp.
475 (WebKit::inspectorFilesBasePath):
476 (WebKit::inspectorWindowClosed): Renamed as inspectorWindowClosed
477 instead of inspectorWindowDestroyed, since this is called when the
478 window manager requests to close the window, and not when the
479 widget is destroyed. Also remove the call to windowDestroyed that
481 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
482 (WebKit::WebInspectorProxy::createInspectorWindow): Helper
483 function to create the inspector window and add the inspector
484 view. Also set the inspector window as transient for the
485 inspected view toplevel window. And use a weak pointer to make
486 sure inspector window pointer is NULL when it's destroyed, not
487 only when the window is closed.
488 (WebKit::WebInspectorProxy::platformOpen): Call platformAttach if
489 the inspector is opened attached, or createInspectorWindow
491 (WebKit::WebInspectorProxy::platformDidClose): Always set the view
492 inspector pointer to NULL.
493 (WebKit::WebInspectorProxy::platformBringToFront): Implement it by
494 showing the toplevel window where the inspector view is contained.
495 (WebKit::WebInspectorProxy::platformIsFront): Implement it by
496 checking whether the toplevel window where the inspector view is
497 contained is active or not.
498 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Return
499 early if there's no inspector window.
500 (WebKit::WebInspectorProxy::inspectorPageURL):
501 (WebKit::WebInspectorProxy::inspectorBaseURL):
502 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Return
503 the height of the inpected view.
504 (WebKit::WebInspectorProxy::platformAttach): Remove the view from
505 the current window if there's one, and insert the inspector view
506 into the inspected view.
507 (WebKit::WebInspectorProxy::platformDetach): Remove the inspector
508 view from the inspected view and create a new window for it if
510 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call
511 webkitWebViewBaseSetInspectorViewHeight().
513 2012-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
515 Return TRUE for events handled to avoid their propagation.
517 Reviewed by Gustavo Noronha Silva.
519 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
520 (webkitWebViewBaseButtonPressEvent):
521 (webkitWebViewBaseButtonReleaseEvent):
522 (webkitWebViewBaseScrollEvent):
523 (webkitWebViewBaseMotionNotifyEvent):
525 2012-05-18 Hugo Parente Lima <hugo.lima@openbossa.org>
527 [Qt][WK2] fast/events/page-visibility-iframe-move-test.html fails
528 https://bugs.webkit.org/show_bug.cgi?id=86731
530 Reviewed by Simon Hausmann.
532 Set the page visibility on a single page instead of on all pages
535 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
536 (WKBundleSetPageVisibilityState):
537 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
538 * WebProcess/InjectedBundle/InjectedBundle.cpp:
539 (WebKit::InjectedBundle::setPageVisibilityState):
540 * WebProcess/InjectedBundle/InjectedBundle.h:
543 2012-05-18 MORITA Hajime <morrita@google.com>
545 Yet another unreviewed build fix on r117572, this time for wk2...
547 * WebProcess/WebCoreSupport/WebEditorClient.h:
549 2012-05-17 Philippe Normand <pnormand@igalia.com>
551 Unreviewed, WebKit2 GTK/Qt build fix attempt after r117516.
553 * UIProcess/WebPageProxy.cpp:
554 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
556 2012-05-17 Anders Carlsson <andersca@apple.com>
558 Plug-ins blacklist mechanism can tell clients about plug-in with null identifier
559 https://bugs.webkit.org/show_bug.cgi?id=86788
560 <rdar://problem/11479503>
562 Reviewed by John Sullivan.
564 Pass along the URL string of the blocked plug-in so we can find the plug-in even if there was no
565 MIME type specified in the <embed> or <object> tag.
567 * UIProcess/WebPageProxy.cpp:
568 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
569 * UIProcess/WebPageProxy.h:
571 * UIProcess/WebPageProxy.messages.in:
572 * WebProcess/WebPage/WebPage.cpp:
573 (WebKit::WebPage::createPlugin):
575 2012-05-17 Oliver Hunt <oliver@apple.com>
577 Endeavour to make the windows test bot actually able to run tests.
578 https://bugs.webkit.org/show_bug.cgi?id=86772
580 Reviewed by Sam Weinig.
582 Remove the ClassInfo exports from the .def files as we're now using
583 WEBKIT_EXPORT declarations to get expected behaviour on windows.
586 * win/WebKit2CFLite.def:
588 2012-05-17 Timothy Hatcher <timothy@apple.com>
590 Make the docked Web Inspector use autoresizing masks so the view doesn't jitter when
593 https://webkit.org/b/86765
595 Reviewed by John Sullivan.
597 * UIProcess/mac/WebInspectorProxyMac.mm:
598 (-[WKWebInspectorProxyObjCAdapter close]): Added. Zero out _inspectorProxy.
599 (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Perform the work on a delay to
600 prevent interfering with Cocoa's resizing.
601 (WebKit::WebInspectorProxy::createInspectorWindow): Added setAutoresizingMask: call.
602 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Removed setAutoresizingMask: call.
603 createInspectorWindow and platformAttach do this now.
604 (WebKit::WebInspectorProxy::platformDidClose): Call close on WKWebInspectorProxyObjCAdapter.
605 (WebKit::WebInspectorProxy::platformAttach): Added setAutoresizingMask: call.
607 2012-05-16 Andreas Kling <kling@webkit.org>
609 Make PluginInfoStore properly thread-safe.
610 <http://webkit.org/b/86648>
611 <rdar://problem/11451178>
613 Reviewed by Darin Adler.
615 Deep copy the internal storage of PluginInfoStore after constructing it, as we can
616 be doing this from a secondary thread.
618 * Shared/Plugins/PluginModuleInfo.h:
619 (WebKit::PluginModuleInfo::isolatedCopy):
620 * UIProcess/Plugins/PluginInfoStore.cpp:
621 (WebKit::deepIsolatedCopyPluginInfoVector):
622 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
623 (WebKit::PluginInfoStore::plugins):
625 2012-05-17 Hironori Bono <hbono@chromium.org>
627 [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
628 https://bugs.webkit.org/show_bug.cgi?id=86591
630 Reviewed by Ryosuke Niwa.
632 This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
633 function to remove platform-specific code from Editor::respondToChangedSelection
636 No new tests, no change in behavior.
638 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
639 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
641 * WebProcess/WebCoreSupport/WebEditorClient.h:
643 2012-05-17 Dan Bernstein <mitz@apple.com>
645 REGRESSION (r117428): WebKit API/SPI was removed
646 https://bugs.webkit.org/show_bug.cgi?id=86748
652 2012-05-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
654 Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
655 https://bugs.webkit.org/show_bug.cgi?id=86704
657 Reviewed by Eric Seidel.
659 * win/WebKit2.def: Add setDomainRelaxationForbiddenForURLScheme symbol filter.
661 2012-05-16 Brent Fulgham <bfulgham@webkit.org>
663 [WinCairo] Unreviewed build change after exported symbol
664 updates (r114790) and expansion of CG routines in WebPage
665 PDF output (r114476).
667 * WebProcess/WebPage/WebPage.cpp:
668 (WebKit::WebPage::drawRectToPDF): Exclude CG use on WinCairo.
669 (WebKit::WebPage::drawPagesToPDF): Exclude CG use on WinCairo.
670 * win/WebKit2CFLite.def: Don't claim to export symbols we don't
671 provide (e.g., full screen API calls).
673 2012-05-16 Carlos Garcia Campos <cgarcia@igalia.com>
675 [GTK] Add API to get plugins to WebKit2 GTK+
676 https://bugs.webkit.org/show_bug.cgi?id=86356
678 Reviewed by Martin Robinson.
680 * GNUmakefile.list.am: Add new files to compilation.
681 * UIProcess/API/gtk/WebKitMimeInfo.cpp: Added.
682 (_WebKitMimeInfo): Boxed type to represent MIME type information.
683 (webkitMimeInfoCreate): Ceate a new WebKitMimeInfo.
684 (webkit_mime_info_ref):
685 (webkit_mime_info_unref):
686 (webkit_mime_info_get_mime_type): Return the mime type.
687 (webkit_mime_info_get_description): Return the mime type
689 (webkit_mime_info_get_extensions): Return the list of extensions
690 associated to the mime type.
691 * UIProcess/API/gtk/WebKitMimeInfo.h: Added.
692 * UIProcess/API/gtk/WebKitMimeInfoPrivate.h: Added.
693 * UIProcess/API/gtk/WebKitPlugin.cpp: Added.
694 (webkitPluginFinalize):
695 (webkit_plugin_init):
696 (webkit_plugin_class_init):
697 (webkitPluginCreate): Create a new WebKitPlugin for the given
699 (webkit_plugin_get_name): Return the plugin name.
700 (webkit_plugin_get_description): Return the plugin description.
701 (webkit_plugin_get_path): Return the path where the plugin is
703 (webkit_plugin_get_mime_info_list): Return the list of mime types
704 handled by the plugin.
705 * UIProcess/API/gtk/WebKitPlugin.h: Added.
706 * UIProcess/API/gtk/WebKitPluginPrivate.h: Added.
707 * UIProcess/API/gtk/WebKitWebContext.cpp:
708 (webkit_web_context_set_additional_plugins_directory): Set an
709 additional directory to be scanned for plugins.
710 (GetPluginsAsyncData): Helper struct used to asynchronously get
712 (getPluginsAsyncDataCreate): Create a GetPluginsAsyncData struct.
713 (getPluginsAsyncDataDestroy): Destroy a GetPluginsAsyncData
715 (webkitWebContextGetPluginThread): Thread body to get the list of
717 (webkit_web_context_get_plugins): Asynchronously get the list of
719 (webkit_web_context_get_plugins_finish): Finish async operation
720 started by webkit_web_context_get_plugins() returning a list of
722 * UIProcess/API/gtk/WebKitWebContext.h:
723 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
725 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
726 * UIProcess/API/gtk/docs/webkit2gtk.types: Add new types.
727 * UIProcess/API/gtk/tests/GNUmakefile.am:
728 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
729 (testWebContextGetPlugins):
731 * UIProcess/API/gtk/webkit2.h:
733 2012-05-16 Brady Eidson <beidson@apple.com>
735 https://bugs.webkit.org/show_bug.cgi?id=86638
736 Bump the version number on the WKBundlePageLoaderClient
738 Reviewed by Dan Bernstein.
740 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: s/1/2/
741 * Shared/APIClientTraits.cpp: Update client traits for the BundlePageLoaderClient
742 * Shared/APIClientTraits.h: Update client traits for the BundlePageLoaderClient
744 * ChangeLog: Change a confusing ChangeLog entry to reflect the actual client that was changed.
746 2012-05-16 Dinu Jacob <dinu.jacob@nokia.com>
748 Add didFinishProgress BundlePageLoaderClient callback
749 https://bugs.webkit.org/show_bug.cgi?id=86541
751 Reviewed by Kenneth Rohde Christiansen.
753 Added didFinishProgress BundleUIClient callback needed by
754 WebKitTestRunner. This callback is invoked in postProgressFinishedNotification.
756 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
757 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
758 (WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
760 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
761 (InjectedBundlePageLoaderClient):
762 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
763 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
764 * WebProcess/qt/QtBuiltinBundlePage.cpp:
765 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
767 2012-05-16 Keishi Hattori <keishi@webkit.org>
769 [chromium] Add WebKit API to access inner text value of input element
770 https://bugs.webkit.org/show_bug.cgi?id=85353
772 Reviewed by Kent Tamura.
774 * win/WebKit2.def: Added HTMLInputElement::setEditingValue
775 * win/WebKit2CFLite.def: Added HTMLInputElement::setEditingValue
777 2012-05-16 Zalan Bujtas <zbujtas@gmail.com>
779 [Qt][WK2] Move WebFrameNetworkingContext to WebKit namespace.
780 https://bugs.webkit.org/show_bug.cgi?id=86590
782 Reviewed by Simon Hausmann.
784 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
785 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
786 (WebKit::WebFrameNetworkingContext::create):
787 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
789 (WebFrameNetworkingContext):
790 (WebKit::WebFrameNetworkingContext::originatingObject):
791 (WebKit::WebFrameNetworkingContext::~WebFrameNetworkingContext):
792 (WebKit::WebFrameNetworkingContext::networkAccessManager):
793 (WebKit::WebFrameNetworkingContext::mimeSniffingEnabled):
794 (WebKit::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
796 2012-05-16 Andras Becsi <andras.becsi@nokia.com>
798 [WTR] Visited link tracking is not disabled properly
799 https://bugs.webkit.org/show_bug.cgi?id=76699
801 Reviewed by Jocelyn Turcotte.
803 If PLATFORM_STRATEGIES is enabled visited link tracking is done through
804 VisitedLinkProvider and not through PageGroup.
805 InjectedBundle sets the shouldTrackVisitedLinks flag on the PageGroup,
806 thus the shared VisitedLinkTable does get populated with visited links
807 regardless of the flag.
809 The WebProcess should only track visited links if tracking is specifically
810 enabled for a test through WTR's LayoutTestController.
812 This patch fixes several flacky and failing layout tests on Qt-WK2.
814 * WebProcess/InjectedBundle/InjectedBundle.cpp:
815 (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Let the WebProcess
816 know about visited link tracking.
817 * WebProcess/WebProcess.cpp:
818 (WebKit::WebProcess::WebProcess):
819 (WebKit::WebProcess::setShouldTrackVisitedLinks):
820 (WebKit::WebProcess::addVisitedLink):
821 * WebProcess/WebProcess.h:
824 2012-05-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
826 Fix Qt5/Mac build after r117212 by adding missing NETSCAPE_PLUGIN_API guards
827 https://bugs.webkit.org/show_bug.cgi?id=86577
829 Reviewed by Andy Estes.
831 * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp:
832 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
833 (WebKit::PluginInfoStore::getPluginInfo):
834 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
836 2012-05-15 Andy Estes <aestes@apple.com>
838 WebKit2 would fail to build on Windows if Netscape plug-ins were disabled.
840 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
841 (WebKit::PluginInfoStore::getPluginInfo): Return false if ENABLE_NETSCAPE_PLUGIN_API is false.
843 2012-05-15 Andy Estes <aestes@apple.com>
845 Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API)
846 https://bugs.webkit.org/show_bug.cgi?id=86496
848 Reviewed by Sam Weinig.
850 Ensure that WebKit2 can compile with ENABLE_NETSCAPE_PLUGIN_API disabled.
852 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
853 * Shared/Plugins/Netscape/NetscapePluginModule.h:
854 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
855 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
856 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
857 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
858 (WebKit::PluginInfoStore::getPluginInfo):
859 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
860 * WebProcess/Plugins/Netscape/JSNPMethod.h:
861 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
862 * WebProcess/Plugins/Netscape/JSNPObject.h:
863 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
864 * WebProcess/Plugins/Netscape/NPJSObject.h:
865 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
866 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
867 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
868 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
869 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
870 (WebKit::NPN_GetValue):
871 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
872 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
873 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
874 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
875 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
876 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
877 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
878 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
879 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
880 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
881 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
882 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
883 * WebProcess/Plugins/PluginController.h:
885 * WebProcess/Plugins/PluginView.cpp:
886 (WebKit::PluginView::Stream::didFinishLoading):
887 (WebKit::PluginView::PluginView):
888 (WebKit::PluginView::~PluginView):
889 (WebKit::PluginView::scriptObject):
891 * WebProcess/Plugins/PluginView.h:
893 * WebProcess/WebPage/WebPage.cpp:
894 (WebKit::WebPage::createPlugin):
895 * WebProcess/WebProcess.cpp:
896 (WebKit::WebProcess::getSitesWithPluginData):
897 (WebKit::WebProcess::clearPluginSiteData):
899 2012-05-15 Michael Brüning <michael.bruning@nokia.com>
901 [Qt][WK2] http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml crashes
902 https://bugs.webkit.org/show_bug.cgi?id=80209
904 Reviewed by Kenneth Rohde Christiansen.
906 This patch adds a method isOpen to WebIconDatabase to
907 be able to check whether the database has already been opened.
908 This helps preventing problems when reusing a WebContext
909 to create another view, as e.g. WebKitTestRunner does it in the
912 * UIProcess/WebIconDatabase.cpp:
913 (WebKit::WebIconDatabase::setDatabasePath):
914 (WebKit::WebIconDatabase::isOpen): Added.
916 * UIProcess/WebIconDatabase.h:
918 * UIProcess/qt/QtWebIconDatabaseClient.cpp:
919 (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
921 2012-05-15 Anders Carlsson <andersca@apple.com>
923 Use unaccelerated scrolling deltas when rubber-banding
924 https://bugs.webkit.org/show_bug.cgi?id=86503
925 <rdar://problem/11378742>
927 Reviewed by Sam Weinig.
931 (WebKit::WebWheelEvent::scrollCount):
932 (WebKit::WebWheelEvent::unacceleratedScrollingDelta):
933 Add scroll count and unaccelerated scrolling delta.
935 * Shared/WebEventConversion.cpp:
936 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
937 Initialize scroll count and unaccelerated scrolling deltas.
939 * Shared/WebWheelEvent.cpp:
940 (WebKit::WebWheelEvent::WebWheelEvent):
941 Initialize scroll count and unaccelerated scrolling deltas.
943 (WebKit::WebWheelEvent::encode):
944 (WebKit::WebWheelEvent::decode):
945 Encode and decode scroll count and unaccelerated scrolling deltas.
947 * Shared/mac/WebEventFactory.mm:
948 (WebKit::WebEventFactory::createWebWheelEvent):
949 Initialize the scroll count and unaccelerated scrolling deltas from the underlying NSEvent.
951 * UIProcess/WebPageProxy.cpp:
953 Coalesce unaccelerated scrolling deltas as well.
955 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
956 (InitWebCoreSystemInterface):
957 Init new WKSI functions.
959 2012-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
961 Unreviewed, rolling out r117095.
962 http://trac.webkit.org/changeset/117095
963 https://bugs.webkit.org/show_bug.cgi?id=86511
965 broke Qt Mac build (Requested by estes on #webkit).
967 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
968 * Shared/Plugins/Netscape/NetscapePluginModule.h:
969 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
970 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
971 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
972 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
973 (WebKit::PluginInfoStore::getPluginInfo):
974 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
975 * WebProcess/Plugins/Netscape/JSNPMethod.h:
976 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
977 * WebProcess/Plugins/Netscape/JSNPObject.h:
978 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
979 * WebProcess/Plugins/Netscape/NPJSObject.h:
980 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
981 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
982 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
983 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
984 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
985 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
986 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
987 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
988 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
989 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
990 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
991 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
992 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
993 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
994 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
995 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
996 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
998 2012-05-15 Alexey Proskuryakov <ap@apple.com>
1000 [WK2] Crash when dropping a reference to a non-existing file
1001 https://bugs.webkit.org/show_bug.cgi?id=86505
1002 <rdar://problem/11402084>
1004 Reviewed by Darin Adler.
1006 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction): Check that
1007 extension handle actually has a non-null extension. Extensions for non-existent files can not
1008 exist, so they are passed as null ones.
1010 2012-05-15 Andy Estes <aestes@apple.com>
1012 Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
1013 https://bugs.webkit.org/show_bug.cgi?id=86508
1015 Reviewed by Sam Weinig.
1017 * Shared/cf/ArgumentCodersCF.cpp:
1018 (CoreIPC::typeFromCFTypeRef):
1022 * Shared/cf/ArgumentCodersCF.h:
1024 * Shared/mac/KeychainAttribute.cpp:
1025 * Shared/mac/KeychainAttribute.h:
1026 * Shared/mac/SecKeychainItemRequestData.cpp:
1027 * Shared/mac/SecKeychainItemRequestData.h:
1028 * Shared/mac/SecKeychainItemResponseData.cpp:
1029 * Shared/mac/SecKeychainItemResponseData.h:
1030 * UIProcess/WebProcessProxy.h:
1033 * WebProcess/mac/WebProcessMac.mm:
1035 2012-05-15 Andreas Kling <kling@webkit.org>
1037 Deep copy PluginModuleInfo before passing across thread boundary.
1038 <http://webkit.org/b/86491>
1039 <rdar://problem/11451178>
1041 Reviewed by Anders Carlsson.
1043 Since the vector of PluginModuleInfo objects returned by PluginInfoStore::plugins()
1044 can end up being passed to another thread, we should clone it to make sure it's
1047 No new tests, speculative use-after-free fix.
1049 * Shared/Plugins/PluginModuleInfo.h:
1051 (WebKit::PluginModuleInfo::isolatedCopy):
1052 * UIProcess/Plugins/PluginInfoStore.cpp:
1053 (WebKit::PluginInfoStore::plugins):
1055 2012-05-15 Andy Estes <aestes@apple.com>
1057 Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API)
1058 https://bugs.webkit.org/show_bug.cgi?id=86496
1060 Reviewed by Dan Bernstein.
1062 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1063 * Shared/Plugins/Netscape/NetscapePluginModule.h:
1064 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1065 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
1066 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1067 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1068 (WebKit::PluginInfoStore::individualPluginPaths):
1069 (WebKit::PluginInfoStore::getPluginInfo):
1070 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1071 * WebProcess/Plugins/Netscape/JSNPMethod.h:
1072 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1073 * WebProcess/Plugins/Netscape/JSNPObject.h:
1074 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1075 * WebProcess/Plugins/Netscape/NPJSObject.h:
1076 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1077 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1078 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
1079 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
1080 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1081 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
1082 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1083 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1084 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
1085 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
1086 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1087 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1088 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
1089 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
1090 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
1091 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1092 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1094 2012-05-14 Andy Estes <aestes@apple.com>
1096 Guard some AppKit-specific code in WebKit2 with USE(APPKIT)
1097 https://bugs.webkit.org/show_bug.cgi?id=86444
1099 Reviewed by Sam Weinig.
1101 * Shared/NativeWebKeyboardEvent.h:
1102 (NativeWebKeyboardEvent):
1103 (WebKit::NativeWebKeyboardEvent::nativeEvent):
1104 * Shared/NativeWebMouseEvent.h:
1105 (NativeWebMouseEvent):
1106 (WebKit::NativeWebMouseEvent::nativeEvent):
1107 * Shared/NativeWebWheelEvent.h:
1108 (NativeWebWheelEvent):
1109 (WebKit::NativeWebWheelEvent::nativeEvent):
1110 * Shared/mac/ArgumentCodersMac.h:
1112 * Shared/mac/ArgumentCodersMac.mm:
1113 (CoreIPC::typeFromObject):
1116 * Shared/mac/WebEventFactory.mm:
1117 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
1118 (WebKit::WebPopupMenu::setUpPlatformData):
1119 * WebProcess/mac/WebProcessMainMac.mm:
1120 (WebKit::WebProcessMain):
1122 2012-05-15 Dinu Jacob <dinu.jacob@nokia.com>
1124 [Qt][WK2] fast/loader/create-frame-in-DOMContentLoaded.html crashes
1125 https://bugs.webkit.org/show_bug.cgi?id=83578
1127 Retrieve and save page ID only for a valid page in WebFrameNetworkingContext.
1128 The page will be null if the frame was detached from the page.
1130 Reviewed by Simon Hausmann.
1132 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
1133 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
1135 2012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1137 [Qt][WK2] Fix scrolling in touch mode
1138 https://bugs.webkit.org/show_bug.cgi?id=75006
1140 Reviewed by Kenneth Rohde Christiansen.
1142 Only handle mouse-wheel events in WebCore to avoid double scrolling, and
1143 scale pixels scrolled by wheel events according to viewport transformation.
1145 * Shared/qt/WebEventFactoryQt.cpp:
1146 (WebKit::WebEventFactory::createWebWheelEvent):
1147 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1148 * UIProcess/qt/QtViewportInteractionEngine.h:
1149 (QtViewportInteractionEngine):
1150 * UIProcess/qt/QtWebPageEventHandler.cpp:
1151 (QtWebPageEventHandler::handleWheelEvent):
1153 2012-05-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
1155 [Qt] Add infra for testing double-tap to zoom functionality etc
1156 https://bugs.webkit.org/show_bug.cgi?id=86474
1158 Reviewed by Simon Hausmann.
1160 Rename the WebViewportInfo class to QWebKitTest in preparation
1161 of becoming a separate module. Adapt the use API.
1163 Modify the API to work better for testing and make sure the
1164 signals are emitted the right places. Also add a method for
1165 simulating a double tap.
1167 Work around issue with animations not running when the item
1170 Create an example test for double-tap to zoom, showing how we can
1171 now create UI tests using QML.
1174 * UIProcess/API/qt/qquickwebpage.cpp:
1175 (QQuickWebPage::setContentsSize):
1176 (QQuickWebPage::setContentsScale):
1177 * UIProcess/API/qt/qquickwebview.cpp:
1178 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
1179 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
1180 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1181 (QQuickWebViewExperimental::QQuickWebViewExperimental):
1182 (QQuickWebViewExperimental::test):
1183 (QQuickWebView::mouseDoubleClickEvent):
1184 * UIProcess/API/qt/qquickwebview_p.h:
1185 * UIProcess/API/qt/qquickwebview_p_p.h:
1186 (QQuickWebViewPrivate):
1187 * UIProcess/API/qt/qwebkittest.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp.
1188 (QWebKitTest::QWebKitTest):
1189 (QWebKitTest::~QWebKitTest):
1190 (QWebKitTest::touchDoubleTap):
1191 (QWebKitTest::contentsSize):
1192 (QWebKitTest::contentsScale):
1193 (QWebKitTest::devicePixelRatio):
1194 (QWebKitTest::initialScale):
1195 (QWebKitTest::minimumScale):
1196 (QWebKitTest::maximumScale):
1197 (QWebKitTest::isScalable):
1198 (QWebKitTest::layoutSize):
1199 * UIProcess/API/qt/qwebkittest_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo_p.h.
1200 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Added.
1201 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1202 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
1203 * UIProcess/qt/QtViewportInteractionEngine.h:
1204 (QtViewportInteractionEngine):
1206 2012-05-15 Michael Brüning <michael.bruning@nokia.com>
1208 [Qt][WK2] http/tests/navigation/https-in-page-cache.html fails with timeout
1209 https://bugs.webkit.org/show_bug.cgi?id=83576
1211 Reviewed by Simon Hausmann.
1213 * UIProcess/API/qt/qquickwebview.cpp:
1214 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1215 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1216 (QQuickWebView::allowAnyHTTPSCertificateForLocalHost): Added.
1217 (QQuickWebView::setAllowAnyHTTPSCertificateForLocalHost): Added.
1218 * UIProcess/API/qt/qquickwebview_p.h:
1219 * UIProcess/API/qt/qquickwebview_p_p.h:
1220 (QQuickWebViewPrivate): Added bool m_allowAnyHTTPSCertificateForLocalHost.
1222 2012-05-14 Shinya Kawanaka <shinyak@chromium.org>
1224 document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
1225 https://bugs.webkit.org/show_bug.cgi?id=86341
1227 Reviewed by Ryosuke Niwa.
1229 Exports necessary symbols.
1232 * win/WebKit2CFLite.def:
1234 2012-05-14 Luke Macpherson <macpherson@chromium.org>
1236 Introduce ENABLE_CSS_VARIABLES compile flag.
1237 https://bugs.webkit.org/show_bug.cgi?id=86338
1239 Reviewed by Dimitri Glazkov.
1241 Add a configuration option for CSS Variables support, disabling it by default.
1243 * Configurations/FeatureDefines.xcconfig:
1245 2012-05-14 Michael Saboff <msaboff@apple.com>
1247 Enh: Add the Ability to Disable / Enable JavaScript GC Timer
1248 https://bugs.webkit.org/show_bug.cgi?id=86382
1250 Reviewed by Darin Adler.
1252 Plumbing to set / clear JS GC activity timer enable flag.
1254 * UIProcess/API/C/WKContext.cpp:
1255 (WKContextSetJavaScriptGarbageCollectorTimerEnabled):
1256 * UIProcess/API/C/WKContext.h:
1257 * UIProcess/WebContext.cpp:
1258 (WebKit::WebContext::setJavaScriptGarbageCollectorTimerEnabled):
1259 * UIProcess/WebContext.h:
1260 * WebProcess/WebProcess.cpp:
1261 (WebKit::WebProcess::setJavaScriptGarbageCollectorTimerEnabled):
1262 * WebProcess/WebProcess.h:
1263 * WebProcess/WebProcess.messages.in:
1265 2012-05-14 Anders Carlsson <andersca@apple.com>
1267 The "plug-in was blocked" callback needs to include enough info to uniquely identify the plug-in + version
1268 https://bugs.webkit.org/show_bug.cgi?id=86395
1269 <rdar://problem/11447652>
1271 Reviewed by John Sullivan.
1273 Add the plug-in identifier and version string to the didFail client callback.
1275 * UIProcess/API/C/WKPage.h:
1276 * UIProcess/WebLoaderClient.cpp:
1277 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1278 Pass a null plug-in identifier and version here since we don't have the plug-in information here.
1280 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1281 * UIProcess/WebLoaderClient.h:
1283 * UIProcess/WebPageProxy.cpp:
1284 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1286 2012-05-14 Andreas Kling <kling@webkit.org>
1288 REGRESSION(r116796): Assertion failure in API tests
1289 <http://webkit.org/b/86378>
1290 <rdar://problem/10777218>
1292 Reviewed by Anders Carlsson.
1294 Invalidate the plugin work queue in ~WebContext to avoid hitting
1295 the !m_isValid assertion in ~WorkQueue later on.
1297 * UIProcess/WebContext.cpp:
1298 (WebKit::WebContext::~WebContext):
1300 2012-05-14 Sheriff Bot <webkit.review.bot@gmail.com>
1302 Unreviewed, rolling out r116969.
1303 http://trac.webkit.org/changeset/116969
1304 https://bugs.webkit.org/show_bug.cgi?id=86386
1306 i accidentally the icondatabase (Requested by kling on
1309 * UIProcess/WebContext.cpp:
1310 (WebKit::WebContext::~WebContext):
1312 2012-05-14 Andreas Kling <kling@webkit.org>
1314 REGRESSION(r116796): Assertion failure in API tests
1315 <http://webkit.org/b/86378>
1316 <rdar://problem/10777218>
1318 Reviewed by Anders Carlsson.
1320 Invalidate the plugin work queue in ~WebContext to avoid hitting
1321 the !m_isValid assertion in ~WorkQueue later on.
1323 * UIProcess/WebContext.cpp:
1324 (WebKit::WebContext::~WebContext):
1326 2012-05-14 Csaba Osztrogonác <ossy@webkit.org>
1328 [Qt][WK2] Unreviewed trivial buildfix after r116958.
1330 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1332 2012-05-14 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1334 [Qt] Simplify OTHER_FILES for QML tests project files
1336 Reviewed by Jocelyn Turcotte.
1338 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1339 * UIProcess/API/qt/tests/qmltests/WebView.pro:
1341 2012-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1343 Unreviewed. Fix make distcheck.
1345 * GNUmakefile.am: Explicitly link WebProcess to
1346 libjavascriptcoregtk to make sure it uses the non installed
1348 * GNUmakefile.list.am: Add missing header file.
1350 2012-05-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
1352 [GTK] [WK2] Memory leaks in WebKitWebSettings
1353 https://bugs.webkit.org/show_bug.cgi?id=86365
1355 Reviewed by Martin Robinson.
1357 Fix memory leaks in WebKitWebSettings by adopting allocations
1360 * UIProcess/API/gtk/WebKitSettings.cpp:
1361 (webkit_settings_init):
1362 (webkit_settings_set_serif_font_family):
1364 2012-05-14 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1366 [Qt] Doesn't build with ENABLE_INSPECTOR=0
1367 https://bugs.webkit.org/show_bug.cgi?id=85056
1369 Reviewed by Tor Arne Vestbø.
1372 * UIProcess/qt/QtWebContext.cpp:
1373 (WebKit::initInspectorServer):
1375 2012-05-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1377 [Qt] Make sure dialogs have their parent and attached properties set before Component.onCompleted
1378 https://bugs.webkit.org/show_bug.cgi?id=86222
1380 The WebView QML api for dialogs is based on delegates for each dialog, which
1381 are implemented as components. Since there's no explicit API to show the dialog,
1382 the natural place to allow the dialog to choose how to display itself is in
1383 Component.onCompleted.
1385 The issue was that we were using QQmlComponent::create() when instantiating the
1386 component, at which point the component did not have a parent or it's attached
1387 WebView property set. That meant that we had to do some ugly workaround in our
1388 test, using a 1ms timer, to get a callback once the parent was there.
1390 We now use the QQmlComponent::beginCreate() -> QQmlComponent::completeCreate()
1391 pair, which allows us to set the relevant properties before triggering the
1392 Component.onCompleted callback. We were already doing this for the context
1393 menus (except for setting the parent, which we did afterwards).
1395 Reviewed by Simon Hausmann.
1397 * UIProcess/API/qt/qquickwebview.cpp:
1398 * UIProcess/API/qt/qquickwebview_p_p.h:
1399 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1400 * UIProcess/qt/QtDialogRunner.cpp:
1401 * UIProcess/qt/QtDialogRunner.h:
1402 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
1404 2012-05-11 Gavin Barraclough <barraclough@apple.com>
1406 Introduce PropertyName class
1407 https://bugs.webkit.org/show_bug.cgi?id=86241
1409 Reviewed by Geoff Garen.
1411 Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
1412 This change paves the way to allow for properties keyed by values that are not Identifiers.
1414 This change is largely a mechanical find & replace.
1415 It also changes JSFunction's constructor to take a UString& instead of an Identifier&
1416 (since in some cases we can no longer guarantee that we'lll have an Identifier), and
1417 unifies Identifier's methods to obtain array indices onto PropertyName.
1419 The new PropertyName class retains the ability to support .impl() and .ustring(), but
1420 in a future patch we may need to rework this, since not all PropertyNames should be
1421 equal based on their string representation.
1423 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1424 (WebKit::JSNPMethod::finishCreation):
1425 * WebProcess/Plugins/Netscape/JSNPMethod.h:
1426 (WebKit::JSNPMethod::create):
1428 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1429 (WebKit::npIdentifierFromIdentifier):
1430 (WebKit::JSNPObject::getOwnPropertySlot):
1431 (WebKit::JSNPObject::getOwnPropertyDescriptor):
1432 (WebKit::JSNPObject::put):
1433 (WebKit::JSNPObject::deleteProperty):
1434 (WebKit::JSNPObject::propertyGetter):
1435 (WebKit::JSNPObject::methodGetter):
1436 * WebProcess/Plugins/Netscape/JSNPObject.h:
1439 2012-05-11 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
1441 [GTK] [WK2] Memory leak in PluginProcessProxy::scanPlugin
1442 https://bugs.webkit.org/show_bug.cgi?id=86240
1444 Reviewed by Martin Robinson.
1446 Free the output received from the g_spawn_sync().
1448 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
1449 (WebKit::PluginProcessProxy::scanPlugin):
1451 2012-05-11 Andreas Kling <kling@webkit.org>
1453 WK2/Plugins: Move enumeration of plugins to a secondary UIProcess thread.
1454 <http://webkit.org/b/86143>
1455 <rdar://problem/10777218>
1457 Reviewed by Anders Carlsson.
1459 To avoid spins beneath PluginInfoStore::getPluginInfo(), do this work on a secondary
1460 thread in the UIProcess.
1462 * Shared/APIObject.h:
1464 Made APIObject a ThreadSafeRefCounted. In the context of this patch, this is to
1465 be able to dispatch bound Functions on WebContext.
1467 * WebProcess/mac/KeychainItemShimMethods.mm:
1468 (WebKit::responseMap):
1469 * WebProcess/mac/SecItemShimMethods.mm:
1470 (WebKit::responseMap):
1471 * WebKit2.xcodeproj/project.pbxproj:
1472 * Shared/BlockingResponseMap.h:
1473 (BlockingResponseMap):
1474 (BlockingResponseMap::waitForResponse):
1475 (BlockingResponseMap::didReceiveResponse):
1477 Renamed from Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h.
1478 Generalize this somewhat since it's useful in more than just the keychain scenario.
1479 This can/should be generalized further, but that's a topic for another patch.
1481 * UIProcess/Plugins/PluginInfoStore.h:
1482 * UIProcess/Plugins/PluginInfoStore.cpp:
1483 (WebKit::PluginInfoStore::plugins):
1484 (WebKit::PluginInfoStore::findPluginForMIMEType):
1485 (WebKit::PluginInfoStore::findPluginForExtension):
1486 (WebKit::PluginInfoStore::findPlugin):
1487 (WebKit::PluginInfoStore::infoForPluginWithPath):
1489 Slap a mutex on the PluginInfoStore since it can now be called from both the
1490 main thread (via WKFrameCanShowMIMEType) and the GetPlugin work queue.
1492 * UIProcess/WebContext.messages.in:
1493 * UIProcess/WebContext.h:
1494 * UIProcess/WebContext.cpp:
1495 (WebKit::WebContext::WebContext):
1496 (WebKit::WebContext::~WebContext):
1497 (WebKit::WebContext::processDidFinishLaunching):
1498 (WebKit::WebContext::sendDidGetPlugins):
1499 (WebKit::WebContext::handleGetPlugins):
1500 (WebKit::WebContext::getPlugins):
1501 (WebKit::WebContext::didReceiveMessageOnConnectionWorkQueue):
1503 Make GetPlugins a DispatchOnConnectionQueue message and execute it on a new
1504 plug-in work queue. This effectively makes the GetPlugin call asynchronous.
1505 On Mac, the built-in PDF reader is still registered on the main thread as that
1506 ends up calling into localizedString().
1508 * WebProcess/WebProcess.cpp:
1509 (WebKit::WebProcess::didGetPlugins):
1510 * WebProcess/WebProcess.h:
1511 * WebProcess/WebProcess.messages.in:
1513 Add a DidGetPlugins message to WebProcess. This is passed directly to the handler
1514 in WebPlatformStrategies.cpp.
1516 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1517 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1518 (WebKit::responseMap):
1519 (WebKit::handleDidGetPlugins):
1520 (WebKit::generateRequestID):
1521 (WebKit::WebPlatformStrategies::populatePluginCache):
1523 Use a BlockingResponseMap to block the WebProcess main thread until the UIProcess
1524 responds with DidGetPlugins.
1526 2012-05-11 Gustavo Noronha Silva <gns@gnome.org>
1528 REGRESSION(r116205): [GTK]: build no longer supports thin archives
1529 https://bugs.webkit.org/show_bug.cgi?id=86207
1531 * GNUmakefile.am: link libWebCoreModules to the webkit2gtk shared
1532 library; tell the linker to ignore internal unresolved symbols for
1533 PluginProcess and avoid linking libWebCoreModules.
1535 2012-05-11 Hajime Morrita <morrita@chromium.org>
1537 Unreviewed build fix attempt.
1539 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
1540 (WebKit::WebPopupMenu::setUpPlatformData):
1542 2012-05-11 Carlos Garcia Campos <cgarcia@igalia.com>
1544 [SOUP] Allow sending URI request data in chunks
1545 https://bugs.webkit.org/show_bug.cgi?id=85880
1547 Reviewed by Martin Robinson.
1549 The API to handle custom URI schemes will receive an input stream
1550 to read from. Current code requires to buffer the whole stream
1551 before sending it to the WebProcess. This patch allows to send the
1552 data in chunks while it's read from the stream.
1554 * GNUmakefile.list.am: Add new files to compilation
1555 * UIProcess/API/C/soup/WKSoupRequestManager.cpp:
1556 (WKSoupRequestManagerRegisterURIScheme): Use toWTFString() to
1557 convert from WKString to WTFString.
1558 (WKSoupRequestManagerDidHandleURIRequest): Use didHandleURIRequest
1559 as it has been renamed.
1560 (WKSoupRequestManagerDidReceiveURIRequestData): New method to send
1561 more data for the uri request to the web process.
1562 * UIProcess/API/C/soup/WKSoupRequestManager.h:
1563 * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
1564 (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
1565 HandleURIRequest has been renamed to DidHandleURIRequest.
1566 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
1567 Send DidReceiveURIRequestData message to the web process.
1568 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Use
1569 didHandleURIRequest as it has been renamed.
1570 * UIProcess/soup/WebSoupRequestManagerProxy.h:
1571 (WebSoupRequestManagerProxy):
1572 * WebProcess/soup/WebKitSoupRequestInputStream.cpp: Added.
1573 (AsyncReadData::AsyncReadData): Helper struct to store information
1574 about pending async read operations.
1575 (_WebKitSoupRequestInputStreamPrivate):
1576 (webkitSoupRequestInputStreamReadAsyncResultComplete): Read the
1577 data from the memory input stream and complete the async read
1579 (webkitSoupRequestInputStreamReadAsync): Read the data from the
1580 memory input stream and complete the async read operation if
1581 there's data to read, or save the async result to be completed
1582 when more data is added to the stream.
1583 (webkitSoupRequestInputStreamReadFinish): Finish an async read
1584 started with webkitSoupRequestInputStreamReadAsync.
1585 (webkitSoupRequestInputStreamFinalize):
1586 (webkit_soup_request_input_stream_init):
1587 (webkit_soup_request_input_stream_class_init):
1588 (webkitSoupRequestInputStreamNew): Create a new input stream with
1589 a fixed size or 0 if content length is not known.
1590 (webkitSoupRequestInputStreamAddData): Add more data to the
1591 stream and complete any pending async read.
1592 (webkitSoupRequestInputStreamFinished): Whether all data expected
1593 by the stream has been received.
1594 * WebProcess/soup/WebKitSoupRequestInputStream.h: Added.
1595 * WebProcess/soup/WebSoupRequestManager.cpp:
1596 (WebKit::WebSoupRequestManager::didHandleURIRequest): Create a
1597 WebKitSoupRequestInputStream if we haven't received all the
1598 request data in the HandleURIRequest message. Otherwise just
1599 create a memory input stream with all the data.
1600 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): Add the data
1601 received to the WebKitSoupRequestInputStream associated to the
1602 given request identifier.
1603 * WebProcess/soup/WebSoupRequestManager.h:
1604 * WebProcess/soup/WebSoupRequestManager.messages.in: Add
1605 contentLength parameter to DidHandleURIRequest message and add
1606 DidReceiveURIRequestData message.
1608 2012-05-10 MORITA Hajime <morrita@google.com>
1610 ElementShadow should minimize the usage of "ShadowRoot" name
1611 https://bugs.webkit.org/show_bug.cgi?id=85970
1613 Reviewed by Dimitri Glazkov.
1615 Removed symbols which no longer exists
1618 * win/WebKit2CFLite.def:
1620 2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1622 Move resumeAnimations to use Internals interface
1623 https://bugs.webkit.org/show_bug.cgi?id=86063
1625 Reviewed by Alexey Proskuryakov.
1627 * win/WebKit2.def: Add a symbol filter for resumeAnimations.
1629 2012-05-10 Anders Carlsson <andersca@apple.com>
1631 PDF files won't scroll in Safari when using Adobe plug-in
1632 https://bugs.webkit.org/show_bug.cgi?id=86167
1633 <rdar://problem/11389719>
1635 Reviewed by Sam Weinig.
1637 Add a way to whitelist plug-ins that we know will process wheel events correctly. Add the new
1638 Adobe Reader plug-in to this whitelist. Only send wheel events to plug-ins that are in the whitelist.
1640 * PluginProcess/PluginControllerProxy.cpp:
1641 (WebKit::PluginControllerProxy::wantsWheelEvents):
1643 * PluginProcess/PluginControllerProxy.h:
1644 (PluginControllerProxy):
1645 * PluginProcess/WebProcessConnection.cpp:
1646 (WebKit::WebProcessConnection::createPlugin):
1647 * PluginProcess/WebProcessConnection.h:
1648 (WebProcessConnection):
1649 * PluginProcess/WebProcessConnection.messages.in:
1650 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1651 (WebKit::NetscapePluginModule::determineQuirks):
1652 * Shared/Plugins/PluginQuirks.h:
1653 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1654 (WebKit::NetscapePlugin::wantsWheelEvents):
1656 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1658 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1660 * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
1661 (WebKit::BuiltInPDFView::wantsWheelEvents):
1663 * WebProcess/Plugins/Plugin.h:
1665 * WebProcess/Plugins/PluginProxy.cpp:
1666 (WebKit::PluginProxy::PluginProxy):
1667 (WebKit::PluginProxy::initialize):
1668 (WebKit::PluginProxy::wantsWheelEvents):
1670 * WebProcess/Plugins/PluginProxy.h:
1672 * WebProcess/Plugins/PluginView.cpp:
1673 (WebKit::PluginView::initializePlugin):
1674 (WebKit::PluginView::wantsWheelEvents):
1676 (WebKit::PluginView::handleEvent):
1677 * WebProcess/Plugins/PluginView.h:
1680 2012-05-10 Anders Carlsson <andersca@apple.com>
1682 WebKit2: Add a way to blacklist specific plug-ins/plug-in versions
1683 https://bugs.webkit.org/show_bug.cgi?id=86164
1684 <rdar://problem/9551196>
1686 Reviewed by Sam Weinig.
1688 * Shared/API/c/WKError.h:
1689 Add kWKErrorCodeInsecurePlugInVersion error code.
1691 * Shared/APIClientTraits.cpp:
1692 Update now that didFailToInitializePlugin is deprecated.
1694 * UIProcess/API/C/WKPage.h:
1695 Deprecate didFailToInitializePlugin and replace it with the more generic pluginDidFail.
1696 Also, deprecate missingPluginButtonClicked and replace it with unavailablePluginButtonClicked.
1698 * UIProcess/Plugins/PluginInfoStore.cpp:
1699 (WebKit::PluginInfoStore::shouldBlockPlugin):
1700 Non-Mac version, always return false.
1702 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1703 (WebKit::PluginInfoStore::shouldBlockPlugin):
1704 Call WKShouldBlockPlugin.
1706 * UIProcess/WebContext.cpp:
1707 (WebKit::WebContext::getPluginPath):
1708 Check if the plug-in should be blocked.
1710 * UIProcess/WebContext.messages.in:
1711 GetPluginPath now takes an additional out parameter, a boolean that determines whether the plug-in
1712 should be blocked from loading or not.
1714 * UIProcess/WebLoaderClient.cpp:
1715 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1716 Call m_client.pluginDidFail.
1718 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1721 * UIProcess/WebPageProxy.cpp:
1722 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1723 Call the loader client.
1725 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1728 * UIProcess/WebPageProxy.messages.in:
1729 Rename MissingPluginButtonClicked to UnavailablePluginButtonClicked and add a new DidBlockInsecurePluginVersion message.
1731 * UIProcess/WebUIClient.cpp:
1732 (WebKit::WebUIClient::unavailablePluginButtonClicked):
1733 Call missingPluginButtonClicked and unavailablePluginButtonClicked.
1735 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1736 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1737 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1738 Handle RenderEmbeddedObject::InsecurePluginVersion.
1740 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1741 (WebKit::WebFrameLoaderClient::createPlugin):
1742 WebPage::createPlugin now takes the plug-in element.
1744 * WebProcess/WebPage/WebPage.cpp:
1745 (WebKit::WebPage::createPlugin):
1746 If the plug-in is blocked, set the appropriate unavailability reason.
1748 * WebProcess/WebProcess.cpp:
1749 (WebKit::canPluginHandleResponse):
1750 Update now that GetPluginPath returns a blocked parameter as well.
1752 2012-05-10 Anders Carlsson <andersca@apple.com>
1754 Rename the missing plug-in indicator to the unavailable plug-in indicator
1755 https://bugs.webkit.org/show_bug.cgi?id=86136
1757 Reviewed by Sam Weinig.
1759 Update for WebCore changes.
1761 * WebProcess/Plugins/PluginView.cpp:
1762 (WebKit::PluginView::pluginProcessCrashed):
1763 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1764 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1765 (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1766 * WebProcess/WebCoreSupport/WebChromeClient.h:
1769 2012-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
1771 [GTK] Test /webkit2/WebKitWebView/resources times out
1772 https://bugs.webkit.org/show_bug.cgi?id=86088
1774 Reviewed by Martin Robinson.
1776 * UIProcess/API/gtk/tests/TestResources.cpp:
1777 (testWebViewResources): Use webkit_web_view_reload_bypass_cache()
1778 instead of webkit_web_view_reload() to make sure resources are not
1779 read from the cache.
1781 2012-05-10 Simon Pena <spena@igalia.com>
1783 [GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline playback
1784 https://bugs.webkit.org/show_bug.cgi?id=85999
1786 Reviewed by Martin Robinson.
1788 Expose WebKitSettings for media playback requiring user gesture and
1789 media playback allows inline to GTK side.
1791 This adds two properties (mediaPlaybackRequiresUserGesture and
1792 mediaPlaybackAllowsInline), with their setters and getters, to
1793 WebKitSettings. It also updates the WebKitSettings tests so these
1794 two properties are checked, and includes the new methods in the
1797 * UIProcess/API/gtk/WebKitSettings.cpp: added the new properties and
1799 (webKitSettingsSetProperty):
1800 (webKitSettingsGetProperty):
1801 (webkit_settings_class_init):
1802 (webkit_settings_set_media_playback_requires_user_gesture):
1803 (webkit_settings_get_media_playback_requires_user_gesture):
1804 (webkit_settings_set_media_playback_allows_inline):
1805 (webkit_settings_get_media_playback_allows_inline):
1806 * UIProcess/API/gtk/WebKitSettings.h:
1807 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: included the new
1808 methods in the documentation
1809 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: tested the newly
1811 (testWebKitSettings):
1813 2012-05-10 Simon Pena <spena@igalia.com>
1815 [GTK] Missing field initializers for WKPageLoaderClient
1816 https://bugs.webkit.org/show_bug.cgi?id=86005
1818 Reviewed by Martin Robinson.
1820 Initialize willGoToBackForwardListItem and
1821 interactionOccurredWhileProcessUnresponsive fields of
1824 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1825 (attachLoaderClientToView):
1827 2012-05-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
1829 [Qt] Double tap to zoom is considered a user interaction
1830 https://bugs.webkit.org/show_bug.cgi?id=86094
1832 Reviewed by Simon Hausmann.
1834 This makes it so that the content size change doesn't change scale
1835 after a double tap to zoom.
1837 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1838 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
1840 2012-05-10 Kent Hansen <kent.hansen@nokia.com>
1842 [Qt] Rename QDeclarative* to QQml*
1843 https://bugs.webkit.org/show_bug.cgi?id=86089
1845 Reviewed by Simon Hausmann.
1847 The QtDeclarative module was deprecated in favor of QtQml.
1850 * UIProcess/API/qt/qquickwebview.cpp:
1851 (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
1852 (QQuickWebViewExperimental::alertDialog):
1853 (QQuickWebViewExperimental::setAlertDialog):
1854 (QQuickWebViewExperimental::confirmDialog):
1855 (QQuickWebViewExperimental::setConfirmDialog):
1856 (QQuickWebViewExperimental::promptDialog):
1857 (QQuickWebViewExperimental::setPromptDialog):
1858 (QQuickWebViewExperimental::authenticationDialog):
1859 (QQuickWebViewExperimental::setAuthenticationDialog):
1860 (QQuickWebViewExperimental::proxyAuthenticationDialog):
1861 (QQuickWebViewExperimental::setProxyAuthenticationDialog):
1862 (QQuickWebViewExperimental::certificateVerificationDialog):
1863 (QQuickWebViewExperimental::setCertificateVerificationDialog):
1864 (QQuickWebViewExperimental::itemSelector):
1865 (QQuickWebViewExperimental::setItemSelector):
1866 (QQuickWebViewExperimental::filePicker):
1867 (QQuickWebViewExperimental::setFilePicker):
1868 (QQuickWebViewExperimental::databaseQuotaDialog):
1869 (QQuickWebViewExperimental::setDatabaseQuotaDialog):
1870 (QQuickWebViewExperimental::schemeDelegates_At):
1871 (QQuickWebViewExperimental::schemeDelegates_Append):
1872 (QQuickWebViewExperimental::schemeDelegates_Count):
1873 (QQuickWebViewExperimental::schemeDelegates_Clear):
1874 (QQuickWebViewExperimental::schemeDelegates):
1875 * UIProcess/API/qt/qquickwebview_p.h:
1876 * UIProcess/API/qt/qquickwebview_p_p.h:
1877 (QQuickWebViewPrivate):
1878 * UIProcess/API/qt/qwebiconimageprovider.cpp:
1879 (QWebIconImageProvider::QWebIconImageProvider):
1880 * UIProcess/API/qt/qwebiconimageprovider_p.h:
1881 * UIProcess/API/qt/qwebviewportinfo_p.h:
1882 * UIProcess/API/qt/tests/tests.pri:
1883 * UIProcess/qt/QtDialogRunner.h:
1885 * UIProcess/qt/WebPopupMenuProxyQt.h:
1886 (WebPopupMenuProxyQt):
1888 2012-05-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1890 [Qt] Fix sites with a viewport meta tag when devicePixelRatio isn't explicitely set on the WebView
1891 https://bugs.webkit.org/show_bug.cgi?id=86002
1893 Reviewed by Kenneth Rohde Christiansen.
1895 The preference was recently changed to a double ratio, but was still left under
1896 FOR_EACH_WEBKIT_UINT32_PREFERENCE and was initialized to inf instead of 1.0.
1897 This would cause the viewport constraints to apply a multi-millionaire device
1898 pixel ratio and make the contents invisible.
1900 This moves it with other double preferences under FOR_EACH_WEBKIT_DOUBLE_PREFERENCE.
1902 * Shared/WebPreferencesStore.h:
1905 2012-05-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
1907 [Qt] Implement fit-to-width behaviour
1908 https://bugs.webkit.org/show_bug.cgi?id=86085
1910 Reviewed by Simon Hausmann.
1912 We don't restrict the minimum scale to the layout viewport anymore,
1913 but instead update the minimum scale when the content size changes.
1915 * UIProcess/API/qt/qquickwebview.cpp:
1916 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
1917 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1918 * UIProcess/API/qt/qwebviewportinfo.cpp:
1919 (QWebViewportInfo::minimumScale):
1920 (QWebViewportInfo::maximumScale):
1921 * UIProcess/qt/QtViewportInteractionEngine.h:
1922 (QtViewportInteractionEngine):
1924 2012-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1926 WebPageProxy::activeURL() should return the pending API request, even when there's no main frame
1927 https://bugs.webkit.org/show_bug.cgi?id=85806
1929 The m_pendingAPIRequestURL member is used (presumably) to mask over the async
1930 nature of WebKit2, so that starting a load of a URL will reflect that URL
1931 immedeatly from activeURL, even if the request has not been passed over to
1932 the web process yet and reflected there.
1934 This works well, except in the case of the initial request, where the main
1935 frame creation happens on the web process side and is notified back to the
1936 UI process. Until we've recived the notification we don't know about the main
1937 frame, and this race condition will potentially give us an empty url instead
1938 of the pending request.
1940 To solve this we always return the pending API request if it's set, even
1941 when there's no mainframe yet (that we known about).
1943 Reviewed by Simon Hausmann.
1945 * UIProcess/WebPageProxy.cpp:
1947 2012-05-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1949 Move suspendAnimations to use Internals interface.
1950 https://bugs.webkit.org/show_bug.cgi?id=85986
1952 Reviewed by Ryosuke Niwa.
1954 * win/WebKit2.def: Add a symbol filter for suspendAnimations.
1956 2012-05-09 Carlos Garcia Campos <cgarcia@igalia.com>
1958 [GTK] Split WebKit2 Makefile moving source code listings to GNUmakefile.list.am
1959 https://bugs.webkit.org/show_bug.cgi?id=85985
1961 Reviewed by Gustavo Noronha Silva.
1964 * GNUmakefile.list.am: Copied from Source/WebKit2/GNUmakefile.am.
1966 2012-05-09 Carlos Garcia Campos <cgarcia@igalia.com>
1968 [GTK] Use independent version numbers for public libraries
1969 https://bugs.webkit.org/show_bug.cgi?id=85984
1971 Reviewed by Gustavo Noronha Silva.
1973 * GNUmakefile.am: Use LIBWEBKIT2GTK_VERSION for library version.
1975 2012-05-09 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1977 [Qt] Tap-to-zoom zooms to wrong area.
1978 https://bugs.webkit.org/show_bug.cgi?id=85982
1980 Reviewed by Kenneth Rohde Christiansen.
1982 Fix computation and take more care when to use CSS scale and when to use Item scale.
1984 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1985 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
1987 2012-05-09 Zalan Bujtas <zbujtas@gmail.com>
1989 [Qt][WK2] Define clear split between QtWebPageLoadClient and QQuickWebViewPrivate for loading tasks.
1990 https://bugs.webkit.org/show_bug.cgi?id=84527#c3
1992 Reviewed by Simon Hausmann.
1994 Moving loading related code and signal emission from QtWebPageLoadClient to QQuickWebViewPrivate.
1995 It puts the loading code that implements an API right where the API is defined, including
1996 signal emission as well as translation of WebPageProxy internals to public Qt API with correct types.
1998 * UIProcess/API/qt/qquickwebview.cpp:
1999 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2000 (QQuickWebViewPrivate::provisionalLoadDidStart):
2001 (QQuickWebViewPrivate::loadDidCommit):
2002 (QQuickWebViewPrivate::didSameDocumentNavigation):
2003 (QQuickWebViewPrivate::titleDidChange):
2004 (QQuickWebViewPrivate::loadProgressDidChange):
2005 (QQuickWebViewPrivate::backForwardListDidChange):
2006 (QQuickWebViewPrivate::loadDidFail):
2007 (QQuickWebViewPrivate::processDidCrash):
2008 (QQuickWebView::loadProgress):
2009 * UIProcess/API/qt/qquickwebview_p_p.h:
2011 (QQuickWebViewPrivate):
2012 (QQuickWebViewPrivate::didChangeViewportProperties):
2013 (QQuickWebViewPrivate::loadProgress):
2014 (QQuickWebViewFlickablePrivate):
2015 * UIProcess/qt/QtWebError.cpp:
2016 (WebKit::QtWebError::isCancellation):
2018 * UIProcess/qt/QtWebError.h:
2019 * UIProcess/qt/QtWebPageLoadClient.cpp:
2020 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
2022 (WebKit::QtWebPageLoadClient::didStartProvisionalLoad):
2023 (WebKit::QtWebPageLoadClient::didCommitLoad):
2024 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
2025 (WebKit::QtWebPageLoadClient::didReceiveTitle):
2026 (WebKit::QtWebPageLoadClient::didChangeProgress):
2027 (WebKit::QtWebPageLoadClient::didChangeBackForwardList):
2028 (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
2029 (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
2030 (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame):
2031 (WebKit::QtWebPageLoadClient::didStartProgress):
2032 (WebKit::QtWebPageLoadClient::didFinishProgress):
2033 * UIProcess/qt/QtWebPageLoadClient.h:
2035 (QtWebPageLoadClient):
2037 2012-05-09 Zalan Bujtas <zbujtas@gmail.com>
2039 [Qt][WK2] Remove delayed loadDidSucceed() signaling and m_deferedUrlToLoad from QQuickWebViewPrivate
2040 https://bugs.webkit.org/show_bug.cgi?id=85906
2042 Reviewed by Kenneth Rohde Christiansen.
2044 Deferred loading activies were introduced to work around the delayed Flickable construction
2045 at onComponentComplete(). QQuickWebView inherits from QQuickFlickable now,
2046 so no need for the workaround anymore.
2048 * UIProcess/API/qt/qquickwebview.cpp:
2049 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
2050 (QQuickWebViewFlickablePrivate::onComponentComplete):
2051 (QQuickWebView::setUrl):
2052 (QQuickWebView::componentComplete):
2053 * UIProcess/API/qt/qquickwebview_p_p.h:
2054 (QQuickWebViewPrivate::onComponentComplete):
2055 (QQuickWebViewPrivate):
2056 (QQuickWebViewFlickablePrivate):
2058 2012-05-08 Jon Lee <jonlee@apple.com>
2060 Unreviewed build fix.
2062 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
2063 (LayerTreeHostCAWin):
2065 2012-05-08 Anders Carlsson <andersca@apple.com>
2067 DrawingAreaProxyImpl doesn't work with window server hosting
2068 https://bugs.webkit.org/show_bug.cgi?id=85947
2069 <rdar://problem/11213718>
2071 Reviewed by Andreas Kling.
2073 * UIProcess/DrawingAreaProxyImpl.cpp:
2074 (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
2075 Update the layer tree context and call WebPage::updateAcceleratedCompositingMode.
2077 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2078 (WebKit::DrawingAreaImpl::setLayerHostingMode):
2079 If setting the layer hosting mode changed the layer tree context, send back an UpdateAcceleratedCompositingMode message
2080 with the new context.
2082 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2083 (WebKit::LayerTreeHostCA::initialize):
2084 platformInitialize no longer takes a context.
2086 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
2088 Make m_layerTreeContext protected instead.
2090 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2091 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2092 (WebKit::LayerTreeHostCAMac::platformInitialize):
2093 Assign to m_layerTreeContext directly.
2095 (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
2096 Set m_layerTreeContext.contextID.
2098 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
2099 (WebKit::LayerTreeHostCAWin::platformInitialize):
2100 Assign to m_layerTreeContext directly.
2102 2012-05-08 Jon Lee <jonlee@apple.com>
2104 Safari warns that it needs to resend the form in an iFrame when going back
2105 https://bugs.webkit.org/show_bug.cgi?id=82658
2106 <rdar://problem/11292558>
2108 Reviewed by Darin Adler.
2110 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2111 (InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching.
2113 2012-05-08 Anders Carlsson <andersca@apple.com>
2115 Can't scroll PDF in subframe
2116 https://bugs.webkit.org/show_bug.cgi?id=85932
2117 <rdar://problem/11405527>
2119 Reviewed by Sam Weinig.
2121 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2122 * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
2123 (WebKit::BuiltInPDFView::updateScrollbars):
2124 Trigger a layout when scrollbars come and go so the non fast scrollable region gets recomputed.
2126 (WebKit::BuiltInPDFView::scrollableAreaBoundingBox):
2127 Implement this by calling out to the PluginView.
2129 2012-05-06 Jon Lee <jonlee@apple.com>
2131 [WK2] Push wheel events if there are too many in queue
2132 https://bugs.webkit.org/show_bug.cgi?id=85747
2133 <rdar://problem/11390790>
2135 Reviewed by Anders Carlsson.
2137 It is possible that a whole bunch of messages added to the message queue, or a series
2138 of long-running messages, cause unresponsiveness. The reason for this is that we have
2139 a scroll event waiting for acknowledgment from the web process before it sends the next
2140 event. And in the time between the user has scrolled, causing a large backlog of scroll
2141 events to be held in the UI process.
2143 We should push new scroll events if the queue accumulates too many of them.
2145 * UIProcess/WebPageProxy.h: The vector m_currentlyProcessedWheelEvents used to hold the
2146 series of wheel events that were coalesced and sent as a single wheel event to the web
2147 process. When the web process acknowledges this with didReceiveEvent, the UI process
2148 cleared that vector, then tried to coalesce the next wheel event to send. Now we might have
2149 multiple sets of coalesced wheel events that we are sending to the web process. To keep
2150 track of these sets, m_currentlyProcessedWheelEvents now is a queue of Vectors.
2152 * UIProcess/WebPageProxy.cpp: Add new constant wheelEventQueueSizeThreshold representing
2153 the threshold of scroll events to look for before we start pushing events.
2154 (WebKit::canCoalesce): Move static function so that handleWheelEvent() has access. No changes.
2155 (WebKit::coalesce): Move static function so that handleWheelEvent() has access. No changes.
2156 (WebKit::coalescedWheelEvent): Move static function so that handleWheelEvent() has access. No changes.
2157 (WebKit::WebPageProxy::handleWheelEvent): If we are currently waiting for acknowledgment
2158 from the web process that a wheel event has been handled, we add it to the queue. We
2159 check to see that the queue size is within our threshold before we return early. Otherwise
2160 we will start pushing events in the queue. Refactor the rest of the function into
2161 processNextQueuedWheelEvent() and sendWheelEvent(). If we are not currently waiting for
2162 acknowledgment, nor have events in the queue, then we send the current wheel event.
2163 (WebKit::WebPageProxy::processNextQueuedWheelEvent): Try to coalesce events based on the
2164 wheel event at the head of the queue, and send that event to the web process.
2165 (WebKit::WebPageProxy::sendWheelEvent): Refactored from handleWheelEvent().
2166 (WebKit::WebPageProxy::didReceiveEvent): Instead of clearing m_currentlyProcessedWheelEvents,
2167 which contained the set of one coalesced wheel event, we pull the head Vector, which
2168 contains the same set of events. Refactor to use processNextQueuedWheelEvent().
2170 2012-05-08 Timothy Hatcher <timothy@apple.com>
2172 Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
2174 <rdar://problem/11406517>
2176 Reviewed by Mark Rowe.
2178 * UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
2179 * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
2181 2012-05-08 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2183 [WK2] Integrate Page Visibility state change and WK2 Suspend/Resume API
2184 https://bugs.webkit.org/show_bug.cgi?id=85650
2186 Reviewed by Kenneth Rohde Christiansen.
2188 This patch uses state changes of the Page Visibility API to trigger the
2189 automatic suspension/resume of animations on the WebPage and its main frame,
2190 in the same fashion of what is used by the Suspend/Resume API of WebKit2.
2191 By telling the WebPage it will move off/on the screen and the FrameView to
2192 hide/show, this patch is suspending/resuming animations (animated painting)
2193 but not timers and other active DOM objects.
2195 * WebProcess/WebPage/WebPage.cpp:
2196 (WebKit::WebPage::setVisibilityState):
2198 2012-05-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
2200 [Qt] Add QML/WK2 evaluateJavaScript experimental API
2201 https://bugs.webkit.org/show_bug.cgi?id=85496
2203 Reviewed by Simon Hausmann.
2205 This is an initial patch adding support for strings,
2206 numbers and bools as return values.
2208 Test: qmltests/WebView/tst_evaluateJavaScript.qml
2210 * UIProcess/API/qt/qquickwebview.cpp:
2211 (JSCallbackClosure):
2215 (javaScriptCallback):
2216 (QQuickWebViewExperimental::evaluateJavaScript):
2217 (QQuickWebView::runJavaScriptInMainFrame):
2218 * UIProcess/API/qt/qquickwebview_p.h:
2219 * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Added.
2221 2012-05-07 Alexis Menard <alexis.menard@openbossa.org>
2223 [Qt] Unbreak debugging of WebKit2.
2224 https://bugs.webkit.org/show_bug.cgi?id=85839
2226 Reviewed by Simon Hausmann.
2228 When you attach GDB to a running process, it stops it.
2229 http://trac.webkit.org/changeset/115958 introduced a pause()
2230 call to wait the debugger to be attached to then continue
2231 the execution of the WebProcess. Unfortunately the pause()
2232 function does not return unless a signal handler is called.
2233 This patch introduce an event handler to exit from the paused
2234 state when the debugger send the signal SIGCONT. The old code
2235 works with older version of GDB (<7.0) but not with newer
2236 versions where the behavior of pause() is correct.
2242 2012-05-07 Julien Chaffraix <jchaffraix@webkit.org>
2244 Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
2245 https://bugs.webkit.org/show_bug.cgi?id=84090
2247 Reviewed by David Hyatt.
2249 * WebProcess/Plugins/PluginView.cpp:
2250 (WebKit::PluginView::clipRectInWindowCoordinates):
2251 Updated after windowClipRectForLayer name and signature change.
2253 2012-05-07 Andy Estes <aestes@apple.com>
2255 ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
2257 * Configurations/FeatureDefines.xcconfig:
2259 2012-05-07 Eric Seidel <eric@webkit.org>
2261 Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
2262 https://bugs.webkit.org/show_bug.cgi?id=85822
2264 Reviewed by Adam Barth.
2266 * Configurations/FeatureDefines.xcconfig:
2268 2012-05-07 Alexis Menard <alexis.menard@openbossa.org>
2270 Unreviewed Qt build fix in Debug.
2272 We need some system includes here for getpid() to be recognized.
2276 2012-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
2278 Unreviewed, rolling out r116299, r116301, and r116303.
2279 http://trac.webkit.org/changeset/116299
2280 http://trac.webkit.org/changeset/116301
2281 http://trac.webkit.org/changeset/116303
2282 https://bugs.webkit.org/show_bug.cgi?id=85795
2284 Build is still broken (Requested by Ossy on #webkit).
2289 2012-05-07 Balazs Kelemen <kbalazs@webkit.org>
2291 [Qt] Add test specific platform plugin to achieve unified layout test results
2292 https://bugs.webkit.org/show_bug.cgi?id=80996
2294 Reviewed by Simon Hausmann.
2296 Initialize the test platform plugin before initializing
2297 the web process if we are in a WTR run.
2298 It is necessary to place this initialization here as we
2299 cannot control wich platform plugin will be used after
2300 the instantiation of the QApplication.
2303 (initializeTestPlatformPluginForWTRIfRequired):
2306 2012-05-06 MORITA Hajime <morrita@google.com>
2308 https://bugs.webkit.org/show_bug.cgi?id=85265
2309 [Shadow DOM] ShadowTree needs a better name
2311 Reviewed by Dimitri Glazkov.
2313 * win/WebKit2.def: Updated exported symbol names according to the rename.
2314 * win/WebKit2CFLite.def: Updated exported symbol names according to the rename.
2316 2012-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2318 Convert isPageBoxVisible to use Internals interface.
2319 https://bugs.webkit.org/show_bug.cgi?id=85692
2321 Reviewed by Darin Adler.
2323 * win/WebKit2.def: Add isPageBoxVisible symbol filter.
2325 2012-05-05 Dean Jackson <dino@apple.com>
2327 Add new Setting/Preference to disable requestAnimationFrame
2328 https://bugs.webkit.org/show_bug.cgi?id=85693
2330 Reviewed by Simon Fraser.
2332 Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
2333 The default value is true. The majority of applications will leave
2336 * Shared/WebPreferencesStore.h:
2338 * UIProcess/API/C/WKPreferences.cpp:
2339 (WKPreferencesSetRequestAnimationFrameEnabled):
2340 (WKPreferencesGetRequestAnimationFrameEnabled):
2341 * UIProcess/API/C/WKPreferencesPrivate.h:
2342 * WebProcess/WebPage/WebPage.cpp:
2343 (WebKit::WebPage::updatePreferences):
2345 2012-05-04 Jon Lee <jonlee@apple.com>
2347 [WK2] Incoming events may be processed out-of-order
2348 https://bugs.webkit.org/show_bug.cgi?id=85696
2349 <rdar://problem/11386129>
2351 Reviewed by Maciej Stachowiak.
2353 All messages go to a single queue that gets iterated over by dispatchMessages(). If an input
2354 event arrives in the middle of a flood of messages, all of them will be dispatched before the
2355 input event is dispatched.
2357 In other words, the first dispatchMessages() call will process all of the messages in the queue,
2358 and all subsequent dispatchMessages() calls will act as no-ops, since there is nothing in the queue.
2360 To fix this, we rename dispatchMessages to dispatchOneMessage, and only process one message at a
2363 * Platform/CoreIPC/Connection.h: Rename dispatchMessages() to dispatchOneMessage().
2364 * Platform/CoreIPC/Connection.cpp:
2365 (CoreIPC::Connection::enqueueIncomingMessage): Dispatch a call to dispatchOneMessage() on the
2367 (CoreIPC::Connection::dispatchOneMessage): Remove the while(true) loop.
2369 2012-05-04 Gustavo Noronha Silva <gns@gnome.org>
2371 [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
2372 https://bugs.webkit.org/show_bug.cgi?id=85691
2374 * GNUmakefile.am: no longer link libWebCoreModules, and remove -no-
2375 fast-install and -no-install from link flags, since we want those
2378 2012-05-04 Mark Rowe <mrowe@apple.com>
2380 Fix a leak in WebProcess when it is used to launch the UI process.
2382 Rubber-stamped by Anders Carlsson.
2384 * WebProcess/mac/WebProcessMainMac.mm:
2385 (WebKit::WebProcessMain): Destory the attributes and file actions after
2386 spawning the subprocess.
2388 2012-05-02 Jer Noble <jer.noble@apple.com>
2390 Flash of white when exiting full screen HTML5 video
2391 https://bugs.webkit.org/show_bug.cgi?id=85438
2393 Reviewed by Maciej Stachowiak.
2395 Force a repaint before displaying the newly exited WebView window. This gives the window
2396 a chance to seamlessly repaint before enabling screen updates.
2398 Also, send the WebProcess the didExitFullScreen and setAnimatingFullScreen(false) messages
2399 after swapping the WebView back into its original window. Doing otherwise seems to cause
2400 forceRepaint to paint a white frame.
2402 * UIProcess/mac/WKFullScreenWindowController.mm:
2403 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2404 (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
2405 (completeFinishExitFullScreenAnimationAfterRepaint):
2407 2012-05-04 Anders Carlsson <andersca@apple.com>
2409 Set the right device scale factor when creating the web page
2410 https://bugs.webkit.org/show_bug.cgi?id=85667
2411 <rdar://problem/11376611>
2413 Reviewed by Oliver Hunt.
2415 * UIProcess/API/mac/WKView.mm:
2416 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2417 Set the scale factor before initializing the page, to ensure that the WebPageCreationParameters struct gets the right scale factor.
2419 * UIProcess/WebPageProxy.cpp:
2420 (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
2421 This can now be called with a null drawing area. Also, remove the isValid() check since we still want to update the scale factor even if the web process has crashed.
2423 * WebProcess/WebPage/WebPage.cpp:
2424 (WebKit::WebPage::WebPage):
2425 Set the device scale factor from the creation parameters.
2427 2012-05-02 Jer Noble <jer.noble@apple.com>
2429 Taking a visibility:hidden element full screen causes full screen window to disappear.
2430 https://bugs.webkit.org/show_bug.cgi?id=85432
2432 Reviewed by Maciej Stachowiak.
2434 When given an initial or final frame with a zero width or height, return a rect representing
2435 the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
2436 confuse the window server when it's instructed to scale the full screen window to that size.
2438 * UIProcess/mac/WKFullScreenWindowController.mm:
2439 (windowFrameFromApparentFrames):
2441 2012-04-30 Jer Noble <jer.noble@apple.com>
2443 Full screen will exit during a provisional load of a non-ancestor iframe.
2444 https://bugs.webkit.org/show_bug.cgi?id=85230
2446 Reviewed by Maciej Stachowiak .
2448 Only exit full screen mode if the frame being loaded contains the full
2450 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2451 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2453 Move the full screen exiting logic up into WebFrameLoaderClient in the
2455 * UIProcess/WebPageProxy.cpp:
2456 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
2458 Add a WebFullScreenManager "close" method & message:
2459 * UIProcess/WebFullScreenManagerProxy.messages.in:
2460 * WebProcess/FullScreen/WebFullScreenManager.cpp:
2461 (WebKit::WebFullScreenManager::close):
2462 * WebProcess/FullScreen/WebFullScreenManager.h:
2464 Add support for this new message to the WKBundlePage and client:
2465 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2466 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
2467 (WebKit::InjectedBundlePageFullScreenClient::closeFullScreen):
2468 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
2470 2012-05-04 Anders Carlsson <andersca@apple.com>
2472 TiledCoreAnimationDrawingArea should handle visibility changes
2473 https://bugs.webkit.org/show_bug.cgi?id=85645
2474 <rdar://problem/11247192>
2476 Reviewed by Oliver Hunt.
2478 Replicate the visibility handling logic from DrawingAreaImpl and LayerTreeHostCAMac.
2480 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2481 (TiledCoreAnimationDrawingAreaProxy):
2482 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2483 (WebKit::TiledCoreAnimationDrawingAreaProxy::visibilityDidChange):
2485 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2486 (TiledCoreAnimationDrawingArea):
2487 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2488 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2489 (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
2491 (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
2493 2012-05-04 Nate Chapin <japhet@chromium.org>
2495 Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
2496 https://bugs.webkit.org/show_bug.cgi?id=85533
2498 Reviewed by Alexey Proskuryakov.
2500 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2501 (WebKit::WebFrameLoaderClient::finishedLoading):
2503 2012-05-04 Kent Hansen <kent.hansen@nokia.com>
2505 [Qt] Update Qt bridge after changes to QMetaMethod
2506 https://bugs.webkit.org/show_bug.cgi?id=85478
2508 Reviewed by Tor Arne Vestbø.
2510 QMetaMethod::signature() has been renamed to methodSignature() and
2511 returns a QByteArray.
2513 The new function QMetaMethod::name() gives direct access to a
2514 method's name. returnType(), parameterCount(), and parameterType()
2515 give direct access to type information.
2517 Ported the custom QtConnectionObject meta-object to revision 7;
2518 revision 6 and below aren't supported (and don't compile) with Qt5.
2520 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2523 2012-05-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2525 [Qt] Don't pass viewport-create function to quick_test_main.
2526 https://bugs.webkit.org/show_bug.cgi?id=85478
2528 Reviewed by Csaba Osztrogonác.
2530 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2533 2012-05-04 Csaba Osztrogonác <ossy@webkit.org>
2535 [Qt] Buildfix for newer Qt5
2536 https://bugs.webkit.org/show_bug.cgi?id=85478
2538 Reviewed by Tor Arne Vestbø.
2540 * Shared/qt/ProcessExecutablePathQt.cpp:
2541 (WebKit::executablePath):
2542 * UIProcess/API/qt/qwebiconimageprovider_p.h:
2544 2012-05-03 Alexis Menard <alexis.menard@openbossa.org>
2546 [Qt] Enable fullscreen API for WebKit2.
2547 https://bugs.webkit.org/show_bug.cgi?id=85498
2549 Reviewed by Simon Hausmann.
2551 Enable the fullscreen API for Qt port. It is only
2552 supported on WebKit2. It adds experimental settings
2553 to enable it and also add two experimental signals so
2554 the API user can react when the fullscreen is requested
2555 (e.g hide the urlbar of a browser and change the state
2556 of the window to be fullscreen).
2558 * UIProcess/API/qt/qquickwebview.cpp:
2559 (QQuickWebViewPrivate::initialize):
2560 * UIProcess/API/qt/qquickwebview_p.h:
2561 * UIProcess/API/qt/qwebpreferences.cpp:
2562 (QWebPreferencesPrivate::testAttribute):
2563 (QWebPreferencesPrivate::setAttribute):
2564 (QWebPreferences::fullScreenEnabled):
2565 (QWebPreferences::setFullScreenEnabled):
2566 * UIProcess/API/qt/qwebpreferences_p.h:
2567 * UIProcess/API/qt/qwebpreferences_p_p.h:
2568 * UIProcess/WebFullScreenManagerProxy.h:
2570 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2571 (WebKit::WebFullScreenManagerProxy::enterFullScreen):
2572 (WebKit::WebFullScreenManagerProxy::exitFullScreen):
2574 2012-05-04 Simon Hausmann <simon.hausmann@nokia.com>
2576 [Qt] Images are scaled badly in WebKit2
2577 https://bugs.webkit.org/show_bug.cgi?id=85610
2579 Reviewed by Jocelyn Turcotte.
2581 Enable smooth pixmap transforms for WK2 bitmaps.
2583 * Shared/qt/ShareableBitmapQt.cpp:
2584 (WebKit::ShareableBitmap::createGraphicsContext):
2586 2012-05-03 Ojan Vafai <ojan@chromium.org>
2588 Histogram total allocated bytes in the arena in addition to the render tree size
2589 https://bugs.webkit.org/show_bug.cgi?id=85537
2591 Reviewed by Eric Seidel.
2593 * WebProcess/WebPage/WebPage.cpp:
2594 (WebKit::WebPage::renderTreeSize):
2596 2012-05-03 Raphael Kubo da Costa <rakuco@webkit.org>
2598 [CMake] Rewrite FindCairo.cmake.
2599 https://bugs.webkit.org/show_bug.cgi?id=84895
2601 Reviewed by Daniel Bates.
2603 The old approach relied on pkg-config for finding Cairo (which
2604 introduced a dependency on pkg-config that could be avoided), used
2605 the LibFindMacros code that we should probably remove in the
2606 future and did not use the FindPackageHandleStandardArguments
2609 Change all that by rewriting the module.
2610 - Use the pkg-config output optionally instead of requiring it
2611 like LibFindMacros did.
2612 - Remove the implicit dependency on FreeType which often found it
2613 the wrong way via pkg-config and without considering
2615 - Retrieve the Cairo version by looking at cairo-version.h instead
2616 of relying on pkg-config. It requires some additional code for
2617 checking if the desired version has been found, but that will not
2618 be needed once we start depending on CMake 2.8.3 or later.
2620 The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
2621 instead of <Name>_FOUND, and to keep things consistent
2622 Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
2623 and CAIRO_INCLUDE_DIRS.
2625 * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.
2627 2012-05-03 Tobias Netzel <tobias.netzel@googlemail.com>
2629 Bugs in WebFullScreenController
2630 https://bugs.webkit.org/show_bug.cgi?id=85388
2632 Reviewed by Alexey Proskuryakov.
2634 Leopard specific fixes:
2635 NSWindow doesn't respond to isOnActiveSpace so find out first.
2636 Values passed to SetSystemUIMode were swapped.
2638 * UIProcess/mac/WKFullScreenWindowController.mm:
2639 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
2640 (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]):
2642 2012-04-18 Jon Honeycutt <jhoneycutt@apple.com>
2644 WebFrameLoaderClient::dispatchWillSendSubmitEvent() needs to be
2645 implemented for WebKit2
2646 https://bugs.webkit.org/show_bug.cgi?id=84304
2648 Reviewed by Jessie Berlin.
2650 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2651 Declare willSendSubmitEvent on WKBundlePageFormClient.
2653 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
2654 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
2655 From the String pair vector, create a map from control name to value.
2656 Call the client's willSendSubmitEvent.
2658 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
2659 Declare willSendSubmitEvent.
2661 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2662 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
2663 Call the injected bundle form client's willSendSubmitEvent.
2665 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2666 Un-stub willSendSubmitEvent.
2668 * Shared/APIClientTraits.cpp:
2670 Set the interface sizes for WKBundlePageFormClient; version 1 includes
2671 willSendSubmitEvent.
2673 * Shared/APIClientTraits.h:
2674 Declare a specialization for WKBundlePageFormClient.
2676 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2677 Bump the WKBundlePageFormClient version number.
2679 2012-05-03 Fady Samuel <fsamuel@chromium.org>
2681 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2682 https://bugs.webkit.org/show_bug.cgi?id=70609
2684 Reviewed by Kenneth Rohde Christiansen.
2686 * UIProcess/API/qt/qwebviewportinfo.cpp:
2687 (QWebViewportInfo::layoutSize):
2688 * WebProcess/WebPage/WebPage.cpp:
2689 (WebKit::WebPage::sendViewportAttributesChanged):
2690 (WebKit::WebPage::viewportConfigurationAsText):
2692 2012-05-03 Michael Brüning <michael.bruning@nokia.com>
2694 [Qt][WK2] Also update Qt::ImEnabled flag when updating the input method.
2695 https://bugs.webkit.org/show_bug.cgi?id=85495
2697 Reviewed by Simon Hausmann.
2699 QInputMethod only issues a new inputMethodQuery if the Qt::ImEnabled
2700 flag got updated as well.
2702 * UIProcess/qt/QtWebPageEventHandler.cpp:
2703 (WebKit::QtWebPageEventHandler::updateTextInputState):
2704 (WebKit::QtWebPageEventHandler::doneWithGestureEvent):
2706 2012-05-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2708 [Qt] Tap-highlight blinks when activated.
2709 https://bugs.webkit.org/show_bug.cgi?id=85481
2711 Reviewed by Kenneth Rohde Christiansen.
2713 Set the opacity on the page-overlay the first time it is requested to be drawn. Otherwiser
2714 it will start fully opaque before fading in.
2716 * WebProcess/WebPage/PageOverlay.cpp:
2717 (WebKit::PageOverlay::setNeedsDisplay):
2719 2012-05-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
2721 Document the QML WebViewExperimental API devicePixelRatio.
2723 Rubberstamped by Simon Hausmann.
2725 * UIProcess/API/qt/qquickwebview.cpp:
2727 2012-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2729 [Qt] Allow the web process and WTR to be paused on startup
2731 Makes it easier to debug the web process or run-webkit-tests -2, as you
2732 have ample time to attach gdb to the process.
2734 Reviewed by Simon Hausmann.
2736 * WebProcess/qt/WebProcessMainQt.cpp:
2737 (WebKit::WebProcessMainQt):
2741 2012-05-03 Alexander Færøy <ahf@0x90.dk>
2743 Rename deviceDPI to devicePixelRatio
2744 https://bugs.webkit.org/show_bug.cgi?id=85049
2746 Reviewed by Kenneth Rohde Christiansen.
2748 This patch fixes an API test regression from r115948 in
2749 tst_QQuickWebView::scrollRequest() by setting the device pixel ratio
2750 for the test WebView to 1.5.
2752 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2753 (tst_QQuickWebView::newWebView):
2755 2012-05-03 Stephanie Lewis <slewis@apple.com>
2757 https://bugs.webkit.org/show_bug.cgi?id=85450 unbounded growth of JSDOMWindowShells loading pages in the same window
2758 <rdar://problem/11320059> REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run
2760 Reviewed by Brady Eidson.
2762 The API added for DOMWindowExtension, didCreateGlobalObjectForFrame, would create a global object
2763 for every world, even those that did not need the callback. This had the side effect of creating a
2764 JSDOMWindowShell that the associated world didn't necessarily know to clean up. Instead of creating
2765 unnecessary objects change the API to globalObjectIsAvailableForFrame and do not pass the global object
2766 in the API. The object can be accessed later by those worlds which require it.
2768 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2769 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2770 (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): rename API and remove globalObject parameter
2771 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2772 (InjectedBundlePageLoaderClient): ditto
2773 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2774 (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): ditto
2776 2012-05-02 Alexander Færøy <ahf@0x90.dk>
2778 Rename deviceDPI to devicePixelRatio
2779 https://bugs.webkit.org/show_bug.cgi?id=85049
2781 Reviewed by Kenneth Rohde Christiansen.
2783 Add experimental QML API to set and get the device pixel ratio.
2785 * Shared/WebPreferencesStore.h:
2787 * UIProcess/API/qt/qquickwebview.cpp:
2788 (QQuickWebViewFlickablePrivate::updateViewportSize):
2789 (QQuickWebViewExperimental::devicePixelRatio):
2790 (QQuickWebViewExperimental::setDevicePixelRatio):
2791 * UIProcess/API/qt/qquickwebview_p.h:
2792 * WebProcess/WebPage/WebPage.cpp:
2793 (WebKit::WebPage::sendViewportAttributesChanged):
2794 (WebKit::WebPage::updatePreferences):
2796 2012-05-02 Jon Lee <jonlee@apple.com>
2798 Migrate permission functions to Notification from NotificationCenter
2799 https://bugs.webkit.org/show_bug.cgi?id=80485
2800 <rdar://problem/10965458>
2802 Reviewed by Jian Li.
2804 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2805 (WebKit::NotificationPermissionRequestManager::startRequest): Add version to support both kinds of
2807 (WebKit::NotificationPermissionRequestManager::cancelRequest):
2808 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
2809 * WebProcess/Notifications/NotificationPermissionRequestManager.h: Add another map for new callback type.
2810 (NotificationPermissionRequestManager):
2811 * WebProcess/Notifications/WebNotificationManager.cpp:
2812 (WebKit::WebNotificationManager::show): Add #ifdef to use replaceId() or tag() depending on which feature
2813 has been enabled. In the case where both are enabled, we prefer tag() since that is in the latest spec.
2814 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2815 (WebKit::WebNotificationClient::requestPermission):
2816 * WebProcess/WebCoreSupport/WebNotificationClient.h: Implement both client functions to request permissions.
2818 2012-05-02 Sheriff Bot <webkit.review.bot@gmail.com>
2820 Unreviewed, rolling out r115907.
2821 http://trac.webkit.org/changeset/115907
2822 https://bugs.webkit.org/show_bug.cgi?id=85458
2824 It broke all viewport tests on Qt and on GTK (Requested by
2827 * UIProcess/API/qt/qwebviewportinfo.cpp:
2828 (QWebViewportInfo::layoutSize):
2829 * WebProcess/WebPage/WebPage.cpp:
2830 (WebKit::WebPage::sendViewportAttributesChanged):
2831 (WebKit::WebPage::viewportConfigurationAsText):
2833 2012-05-02 Eric Seidel <eric@webkit.org>
2835 Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate)
2836 https://bugs.webkit.org/show_bug.cgi?id=85433
2838 Reviewed by Adam Barth.
2840 I have a script which can autogenerate these xcconfig files as well as the
2841 vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists
2842 from a central feature list file.
2843 In preparation for posting such a tool, I'm re-sorting these xcconfig files to be
2844 alphabetically ordered (currently they're close, but not quite).
2845 There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which
2846 I will fix in a second pass. I will also sort the FEATURE_DEFINES = line in a follow-up patch.
2848 * Configurations/FeatureDefines.xcconfig:
2850 2012-04-18 Jon Honeycutt <jhoneycutt@apple.com>
2852 FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
2853 information about the form being submitted
2854 https://bugs.webkit.org/show_bug.cgi?id=84297
2856 Reviewed by Andy Estes.
2858 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2859 (WebFrameLoaderClient):
2860 Updated method declaration.
2862 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2863 (WebFrameLoaderClient::willSendSubmitEvent):
2866 2012-05-01 Jon Honeycutt <jhoneycutt@apple.com>
2868 Make Page::setDefersLoading() have a call count so that each time
2869 loading is deferred, it must be balanced with a call to resume.
2870 https://bugs.webkit.org/show_bug.cgi?id=84522
2872 Reviewed by Andy Estes.
2874 * Shared/WebPreferencesStore.h:
2875 Use the macro to declare the new preference.
2877 * WebProcess/WebPage/WebPage.cpp:
2878 (WebKit::WebPage::updatePreferences):
2879 Set the setting from the WebPreferencesStore's value.
2881 2012-05-02 Ojan Vafai <ojan@chromium.org>
2883 Add a histogram for rendertree size
2884 https://bugs.webkit.org/show_bug.cgi?id=85226
2886 Reviewed by Eric Seidel.
2888 * WebProcess/WebPage/WebPage.cpp:
2889 (WebKit::WebPage::renderTreeSize):
2890 Move the renderTreeSize code into Page.cpp, so it can be reused.
2892 2012-05-02 Anders Carlsson <andersca@apple.com>
2894 PDF page does not show up when opened in the background
2895 https://bugs.webkit.org/show_bug.cgi?id=85427
2896 <rdar://problem/11259951>
2898 Reviewed by Sam Weinig.
2900 Ensure that the accelerated hosting view is always the bottom view so it won't obscure subviews that are before it.
2902 * UIProcess/API/mac/WKView.mm:
2903 (-[WKView _enterAcceleratedCompositingMode:]):
2905 2012-05-02 Fady Samuel <fsamuel@chromium.org>
2907 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2908 https://bugs.webkit.org/show_bug.cgi?id=70609
2910 Reviewed by Kenneth Rohde Christiansen.
2912 * UIProcess/API/qt/qwebviewportinfo.cpp:
2913 (QWebViewportInfo::layoutSize):
2914 * WebProcess/WebPage/WebPage.cpp:
2915 (WebKit::WebPage::viewportConfigurationAsText):
2917 2012-05-02 Emil A Eklund <eae@chromium.org>
2919 Fix usage of layout types in platform code
2920 https://bugs.webkit.org/show_bug.cgi?id=85392
2922 Reviewed by Eric Seidel.
2924 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2925 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2926 Use enclosingIntRect to convert visible rect for transform results to
2927 line up with device pixels.
2929 * WebProcess/WebPage/WebPage.cpp:
2930 (WebKit::WebPage::editorState):
2931 Use pixelSnapped rect for editor rect calculation as it represents a
2934 2012-05-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2936 Revert r115191 - "Make the web view's url property follow the active url"
2938 It uncovered/caused issues in the icon-implementation that can't be
2939 easily fixed, so rolling out instead.
2941 https://bugs.webkit.org/show_bug.cgi?id=77554
2943 Rubber-stamped by Simon Hausmann.
2945 * UIProcess/API/qt/qquickwebview.cpp:
2946 (QQuickWebViewPrivate::onComponentComplete):
2947 (QQuickWebView::reload):
2948 (QQuickWebView::url):
2949 (QQuickWebView::setUrl):
2950 (QQuickWebView::loadHtml):
2951 * UIProcess/API/qt/qquickwebview_p.h:
2952 * UIProcess/API/qt/qquickwebview_p_p.h:
2953 (QQuickWebViewPrivate):
2954 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2955 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2956 * UIProcess/API/qt/tests/qmltests/WebView.pro:
2957 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2958 * UIProcess/API/qt/tests/qmltests/common/link.html: Removed.
2959 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed.
2960 * UIProcess/WebPageProxy.cpp:
2961 (WebKit::WebPageProxy::activeURL):
2962 * UIProcess/qt/QtWebPageLoadClient.cpp:
2963 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
2964 (WebKit::QtWebPageLoadClient::didCommitLoad):
2965 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
2966 (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
2967 (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
2968 (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame):
2969 * UIProcess/qt/QtWebPageLoadClient.h:
2970 (QtWebPageLoadClient):
2972 2012-05-02 Anders Carlsson <andersca@apple.com>
2974 When viewing a PDF, the Safari Status Bar shows other text
2975 https://bugs.webkit.org/show_bug.cgi?id=85395
2976 <rdar://problem/11297250>
2978 Reviewed by Beth Dakin.
2980 Set the layer contents placement for the WKView so that its layer will get masksToBounds set.
2982 * UIProcess/API/mac/WKView.mm:
2983 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2985 2012-05-02 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
2987 Unreviewed. Build fix for Qt port on mac.
2989 * UIProcess/API/qt/qwebnavigationhistory_p.h:
2991 2012-05-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2993 Make ShareableSurface's ref-counting thread-safe
2995 Fixes assert when threaded rendering is enabled for the Qt scene-graph.
2997 https://bugs.webkit.org/show_bug.cgi?id=85381
2999 Reviewed by Noam Rosenthal.
3001 * Shared/ShareableSurface.h:
3003 2012-05-02 No'am Rosenthal <noam.rosenthal@nokia.com>
3005 [Texmap] Enable css filters in TextureMapperGL
3006 https://bugs.webkit.org/show_bug.cgi?id=75778
3008 Add the plumbing in the ui-side compositing code in Qt to support filters.
3009 Serialize the filter operations for a layer when it's changed.
3011 Reviewed by Jocelyn Turcotte.
3013 * Shared/WebCoreArgumentCoders.cpp:
3015 (CoreIPC::::encode):
3016 (CoreIPC::::decode):
3017 * Shared/WebCoreArgumentCoders.h:
3019 * UIProcess/LayerTreeHostProxy.cpp:
3021 (WebKit::LayerTreeHostProxy::setCompositingLayerFilters):
3022 * UIProcess/LayerTreeHostProxy.h:
3023 (LayerTreeHostProxy):
3024 * UIProcess/LayerTreeHostProxy.messages.in:
3025 * UIProcess/WebLayerTreeRenderer.cpp:
3027 (WebKit::WebLayerTreeRenderer::setLayerFilters):
3028 * UIProcess/WebLayerTreeRenderer.h:
3029 (WebLayerTreeRenderer):
3030 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3032 (WebCore::WebGraphicsLayer::didChangeFilters):
3033 (WebCore::WebGraphicsLayer::setFilters):
3034 (WebCore::WebGraphicsLayer::syncFilters):
3035 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
3036 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3037 (WebGraphicsLayerClient):
3039 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3041 (WebKit::LayerTreeHostQt::syncLayerFilters):
3042 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3045 2012-05-02 Simon Hausmann <simon.hausmann@nokia.com>
3047 [Qt] Fix vkb showing incorrect flags/keys when content changes
3049 Reviewed by Tor Arne Vestbø.
3051 When the editor state changes we have to inform the input method about changed
3052 properties so that it can issue a new input method query. Otherwise it may use old values
3053 from other QQuickItems or other incorrectly initialized data.
3055 Also use isActiveFocus() instead of hasFocus() to detect whether we're actively focused.
3056 This is also what QQuick uses internally to determine whether it can make calls to the input method
3059 * UIProcess/qt/QtWebPageEventHandler.cpp:
3060 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
3061 (WebKit::QtWebPageEventHandler::updateTextInputState):
3062 (WebKit::QtWebPageEventHandler::doneWithGestureEvent):
3064 2012-05-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
3066 [Qt] Add initial QML documentation
3067 https://bugs.webkit.org/show_bug.cgi?id=85370
3069 Reviewed by Simon Hausmann.
3071 Add initial documentation which also serves as an example on how it
3074 * UIProcess/API/qt/qquickwebview.cpp:
3075 * UIProcess/API/qt/qwebloadrequest.cpp:
3077 2012-05-02 Zalan Bujtas <zbujtas@gmail.com>
3079 [Qt][WK2] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions()
3080 https://bugs.webkit.org/show_bug.cgi?id=84241
3082 Reviewed by Kenneth Rohde Christiansen.
3084 Add ASSERT to ensure at least one viewport argument change call is dispatched to WebPage per main frame.
3086 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3087 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
3089 2012-05-02 Lars Knudsen <lars.knudsen@nokia.com>
3091 [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2
3092 https://bugs.webkit.org/show_bug.cgi?id=64595
3094 Reviewed by Kenneth Rohde Christiansen.
3096 Adding support for DeviceOrientation in WK2 WebPage
3099 * WebProcess/WebPage/WebPage.cpp:
3100 (WebKit::WebPage::WebPage):
3102 2012-05-02 Zalan Bujtas <zbujtas@gmail.com>
3104 [Qt][WK2] Minibrowser's progress bar should reset when WebProcess crashes while loading.
3105 https://bugs.webkit.org/show_bug.cgi?id=84445
3107 Reviewed by Jocelyn Turcotte.
3109 Progress value needs resetting, when WebProcess crashes.
3110 This patch moves crash logic for loading to QtWebPageLoadClient. It
3111 also simplifies the callback function names in QtWebPageLoadClient, as they
3112 all valid only for main frames.
3114 * UIProcess/API/qt/qquickwebview.cpp:
3115 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3116 (QQuickWebViewPrivate::processDidCrash):
3117 (QQuickWebViewFlickablePrivate::loadDidSucceed):
3118 * UIProcess/API/qt/qquickwebview_p_p.h:
3119 (QQuickWebViewPrivate::didChangeViewportProperties):
3120 (QQuickWebViewPrivate):
3121 * UIProcess/qt/QtWebPageLoadClient.cpp:
3122 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
3123 (WebKit::QtWebPageLoadClient::completeLoadWhenProcessDidCrashIfNeeded):
3125 (WebKit::QtWebPageLoadClient::didStartProvisionalLoad):
3126 (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoad):
3127 (WebKit::QtWebPageLoadClient::didCommitLoad):
3128 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
3129 (WebKit::QtWebPageLoadClient::didReceiveTitle):
3130 (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayout):
3131 (WebKit::QtWebPageLoadClient::didStartProvisionalLoadForFrame):
3132 (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
3133 (WebKit::QtWebPageLoadClient::didCommitLoadForFrame):
3134 (WebKit::QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3135 (WebKit::QtWebPageLoadClient::didReceiveTitleForFrame):
3136 (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
3137 * UIProcess/qt/QtWebPageLoadClient.h:
3139 (QtWebPageLoadClient):
3141 2012-05-02 Simon Hausmann <simon.hausmann@nokia.com>
3143 [Qt] QQuickWebView does not allow for input from virtual keyboard
3144 https://bugs.webkit.org/show_bug.cgi?id=85350
3146 Reviewed by Kenneth Christiansen.
3148 It is necessary to set the ItemAcceptsInputMethod flag on the QQuickWebView if we have editable
3149 content, in order for the input method to recognize that we can handle input method events.
3151 Analyzed by Michael Brüning.
3153 * UIProcess/API/qt/qquickwebview.cpp: Add simple hook for executing JS as private C++ API.
3154 (JSCallbackClosure):
3155 (javaScriptCallback):
3156 (QQuickWebView::runJavaScriptInMainFrame):
3157 * UIProcess/API/qt/qquickwebview_p.h:
3158 * UIProcess/API/qt/tests/html/inputmethod.html: Added.
3159 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3160 (tst_QQuickWebView):
3161 (tst_QQuickWebView::runJavaScript): Simple helper for running JS.
3162 (tst_QQuickWebView::inputMethod): Added simple test for ItemAcceptsInputMethod toggling.
3163 * UIProcess/qt/QtWebPageEventHandler.cpp:
3164 (WebKit::QtWebPageEventHandler::updateTextInputState): Set ItemAcceptsInputMethod as soon as we
3165 have editable content.
3167 2012-05-01 Anders Carlsson <andersca@apple.com>
3169 inspectorReallyUsesWebKitUserInterface should be more robust against missing files
3170 https://bugs.webkit.org/show_bug.cgi?id=85327
3171 <rdar://problem/11332864>
3173 Reviewed by Timothy Hatcher.
3175 * UIProcess/mac/WebInspectorProxyMac.mm:
3176 (WebKit::inspectorReallyUsesWebKitUserInterface):
3177 * WebProcess/WebPage/mac/WebInspectorMac.mm:
3178 (WebKit::inspectorReallyUsesWebKitUserInterface):
3180 2012-05-01 Jeffrey Pfau <jpfau@apple.com>
3182 <rdar://problem/10422318> Support for web content filter delegate for filtering https content
3183 https://bugs.webkit.org/show_bug.cgi?id=85300
3185 Reviewed by Alexey Proskuryakov.
3187 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3188 (InitWebCoreSystemInterface):
3190 2012-05-01 Ryosuke Niwa <rniwa@webkit.org>
3192 *Command.h files shouldn't be exported to WebKit layer
3193 https://bugs.webkit.org/show_bug.cgi?id=74778
3195 Reviewed by Eric Seidel.
3197 * WebProcess/WebPage/WebPage.cpp:
3199 2012-05-01 Anders Carlsson <andersca@apple.com>
3201 Use the new barrier function in TiledCoreAnimationDrawingArea::forceRepaintAsync
3202 https://bugs.webkit.org/show_bug.cgi?id=85313
3203 <rdar://problem/10996039>
3205 Reviewed by Sam Weinig.
3207 Use the new dispatchAfterEnsuringUpdatedScrollPosition function in forceRepaintAsync to
3208 ensure that the scroll position is up to date.
3210 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3211 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
3213 2012-05-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
3215 [Qt] Add an experimental extension to set the min. contents width
3216 https://bugs.webkit.org/show_bug.cgi?id=85281
3218 Reviewed by Antonio Gomes.
3220 Add the experimental property preferredMinimumContentsWidth: which
3221 can be used to set the minimum contents width when not overriden by
3224 Default value is set to 0, which defines normal [desktop] behaviour.
3226 * Shared/WebPreferencesStore.h:
3228 * UIProcess/API/qt/qquickwebview.cpp:
3229 (QQuickWebViewExperimental::preferredMinimumContentsWidth):
3230 (QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
3231 * UIProcess/API/qt/qquickwebview_p.h:
3233 2012-05-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
3235 [Qt] Stop repeating timers which should only fire once
3236 https://bugs.webkit.org/show_bug.cgi?id=85277
3238 Reviewed by Antonio Gomes.
3240 The TapGestureRecognizer uses QBasicTimers which are
3241 repeating timers, so stop then when they fire.
3243 * UIProcess/qt/QtTapGestureRecognizer.cpp:
3244 (WebKit::QtTapGestureRecognizer::highlightTimeout):
3245 (WebKit::QtTapGestureRecognizer::singleTapTimeout):
3246 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
3248 2012-04-30 Anders Carlsson <andersca@apple.com>
3250 Crash when opening plug-ins in background tabs
3251 https://bugs.webkit.org/show_bug.cgi?id=85255
3252 <rdar://problem/11344053>
3254 Reviewed by Dan Bernstein.
3256 * PluginProcess/mac/PluginControllerProxyMac.mm:
3257 (WebKit::PluginControllerProxy::setLayerHostingMode):
3258 m_layerHostingContext can be null for plug-ins that don't use the Core Animation drawing model, so check for that.
3260 2012-04-30 Yael Aharon <yael.aharon@nokia.com>
3262 [Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error.
3263 https://bugs.webkit.org/show_bug.cgi?id=84306
3265 Reviewed by Noam Rosenthal.
3267 When zooming, we need to be careful about how to convert the visible rect from float to int.
3268 Using toAlignedRect can produce inconsistent width and height when we are scrolling.
3269 This patch carefully modifies each piece of the visible rect, to avoid such rounding errors.
3270 In addition, the TransformationMatrix we use for painting, needs to be adjusted for the same rounding error.
3272 * UIProcess/API/qt/qquickwebview.cpp:
3273 (QQuickWebViewPrivate::visibleContentsRect):
3274 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3275 * UIProcess/DrawingAreaProxy.h:
3277 (WebKit::DrawingAreaProxy::setVisibleContentsRect):
3278 * UIProcess/DrawingAreaProxyImpl.cpp:
3279 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
3280 * UIProcess/DrawingAreaProxyImpl.h:
3281 (DrawingAreaProxyImpl):
3282 * UIProcess/LayerTreeHostProxy.cpp:
3283 (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3284 * UIProcess/LayerTreeHostProxy.h:
3285 (LayerTreeHostProxy):
3286 * UIProcess/WebLayerTreeRenderer.cpp:
3287 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
3288 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
3289 * UIProcess/WebLayerTreeRenderer.h:
3290 (WebLayerTreeRenderer):
3292 2012-04-30 Anders Carlsson <andersca@apple.com>
3294 ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
3295 https://bugs.webkit.org/show_bug.cgi?id=85240
3296 <rdar://problem/11286609>
3298 Reviewed by Sam Weinig.
3300 The find machinery should cope with asynchronous scroll position updates.
3302 * WebProcess/WebPage/FindController.cpp:
3303 (WebKit::FindController::updateFindUIAfterPageScroll):
3304 Split the code that handles updating the find indicator and find overlay out into a separate function.
3306 (WebKit::FindController::findString):
3307 Call updateFindUIAfterPageScroll once we know that the scroll position has been updated.
3309 2012-04-30 Anders Carlsson <andersca@apple.com>
3311 Add a way to asynchronously call a function once the scroll position of a page has been updated
3312 https://bugs.webkit.org/show_bug.cgi?id=85237
3314 Reviewed by Sam Weinig.
3316 Add DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition, which will call the given function object after
3317 making sure that the scroll position has been updated correctly. This is important for TiledCoreAnimationDrawingArea,
3318 which updates the scrolling position asynchronously.
3320 * WebProcess/WebPage/DrawingArea.cpp:
3321 (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
3322 Since scroll position updates are synchronous by default, just call function directly.
3324 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3325 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
3326 Commit the layer tree state and then use ScrollingThread::dispatchBarrier to make sure that the function is called when any
3327 scroll position changes have been made. If possible, freeze the layer tree to make sure that the update is atomic.
3329 2012-04-30 Anders Carlsson <andersca@apple.com>
3331 Fix ALL the build failures!
3333 * UIProcess/API/mac/WKView.mm:
3334 (-[WKView WebKit::]):
3335 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3336 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3338 2012-04-30 Anders Carlsson <andersca@apple.com>
3342 * Shared/DrawingAreaInfo.h:
3344 2012-04-30 Emil A Eklund <eae@chromium.org>
3346 [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
3347 https://bugs.webkit.org/show_bug.cgi?id=85222
3349 Reviewed by Eric Seidel.
3351 Update platform code to use the pixel snapped values for painting rects
3352 to line up with device pixels and change platform specific hit testing
3353 code to use roundedPoint as hit testing is still mostly done on integer
3356 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
3357 (WebKit::WebPopupMenu::setUpPlatformData):
3359 2012-04-30 Anders Carlsson <andersca@apple.com>
3361 Put all of TiledCoreAnimationDrawingArea in #if ENABLE(THREADED_SCROLLING)
3362 https://bugs.webkit.org/show_bug.cgi?id=85232
3364 Reviewed by Sam Weinig.
3366 Stop pretending that TiledCoreAnimationDrawingArea works without threaded scrolling.
3368 * WebProcess/WebPage/DrawingArea.cpp:
3369 (WebKit::DrawingArea::create):
3370 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3371 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3372 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3373 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
3374 (WebKit::dispatchBackToMainThread):
3375 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
3376 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
3377 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
3378 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3380 2012-04-30 Benjamin Poulain <benjamin@webkit.org>
3382 Add String::startsWith() and endsWith() for string literals
3383 https://bugs.webkit.org/show_bug.cgi?id=85154
3385 Reviewed by Darin Adler.
3387 Update WebKit2 to use String::endsWith(UChar).
3389 * UIProcess/Plugins/PluginInfoStore.cpp:
3390 (WebKit::pathExtension):
3392 2012-04-30 Alexey Proskuryakov <ap@apple.com>
3394 Validate keypress command names
3395 https://bugs.webkit.org/show_bug.cgi?id=85204
3396 <rdar://problem/11249368>
3398 Reviewed by Darin Adler.
3400 * UIProcess/API/mac/WKView.mm:
3401 (-[WKView doCommandBySelector:]):
3402 (-[WKView insertText:replacementRange:]):
3403 * UIProcess/WebPageProxy.h:
3404 (WebKit::WebPageProxy::registerKeypressCommandName):
3405 (WebKit::WebPageProxy::isValidKeypressCommandName):
3406 * UIProcess/mac/WebPageProxyMac.mm:
3407 (WebKit::WebPageProxy::executeSavedCommandBySelector):
3409 2012-04-30 Mario Sanchez Prada <msanchez@igalia.com>
3411 [GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+
3412 https://bugs.webkit.org/show_bug.cgi?id=78491
3414 Reviewed by Martin Robinson.
3416 Add a new public class to the API, WebKitFileChooserRequest, to be
3417 emitted along with a new WebKitWebView::run-file-chooser signal to
3418 let client applications to provide their own file chooser dialog
3419 when the use interacts with HTML Input elements of type 'file'.
3421 * GNUmakefile.am: Added new source files and headers.
3422 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added.
3423 (_WebKitFileChooserRequestPrivate):
3424 (webkit_file_chooser_request_init):
3425 (webkitFileChooserRequestFinalize):
3426 (webkitFileChooserRequestGetProperty):
3427 (webkit_file_chooser_request_class_init):
3428 (webkitFileChooserRequestCreate):
3429 (webkit_file_chooser_request_get_mime_types):
3430 (webkit_file_chooser_request_get_mime_types_filter):
3431 (webkit_file_chooser_request_get_select_multiple):
3432 (webkit_file_chooser_request_select_files):
3433 (webkit_file_chooser_request_get_selected_files):
3434 (webkit_file_chooser_request_cancel):
3435 * UIProcess/API/gtk/WebKitFileChooserRequest.h: Added.
3436 (_WebKitFileChooserRequest):
3437 (_WebKitFileChooserRequestClass):
3438 * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added,
3439 containing the prototype of webkitFileChooserRequestCreate.
3441 Provide private API to make a file chooser request from the
3442 WebView, and provide a default handler for it.
3444 * UIProcess/API/gtk/WebKitWebView.cpp:
3445 (fileChooserDialogResponseCallback): Handler for the 'response'
3446 signal for the GtkFileChooserDialog used in the default
3447 handler. It will call to webkit_file_chooser_request_select_files
3448 or webkit_file_chooser_request_cancel as needed.
3449 (webkitWebViewRunFileChooser): Default handler for the new
3450 'run-file-chooser' signal. It will create a GtkFileChooserDialog,
3451 connect to the 'response' signal and show it.
3452 (webkit_web_view_class_init): Connect the 'run-file-chooser'
3453 signal to the default handler, webkitWebViewRunFileChooser.
3454 (webkitWebViewRunFileChooserRequest):
3455 * UIProcess/API/gtk/WebKitWebView.h:
3456 (_WebKitWebViewClass): Added prototype for the handler of the new
3457 'run-file-chooser' signal.
3458 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for
3459 private new function webkitWebViewRunFileChooserRequest.
3461 Provide an implementation for runOpenPanel in WebKitUIClient.
3463 * UIProcess/API/gtk/WebKitUIClient.cpp:
3464 (runOpenPanel): New, implements runOpenPanel by creating an
3465 instance of WebKitFileChooserRequest and asking the WebView to
3466 emit the 'run-file-chooser' signal with it.
3467 (attachUIClientToView): Reference the new runOpenPanel function.
3469 Added the new publich header to the main header.
3471 * UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h.
3473 New unit tests for the new WebKitFileChooserRequest API. Also,
3474 extended the WebViewTest class to allow simulating mouse clicks.
3476 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3477 (checkMimeTypeForFilter): New, checks whether a GtkFileFilter
3478 filters a given MIME type, as specified by RFC 2046.
3479 (testWebViewFileChooserRequest): New unit test.
3480 (beforeAll): Add the new unit test as an UIClientTest.
3482 * UIProcess/API/gtk/tests/WebViewTest.cpp:
3483 (WebViewTest::clickMouseButton): New public function to simulate a
3484 mouse click through GdkEvents, as the combination of a 'press' and
3485 a 'release' event. Used from the new unit test to simulate the
3486 user pressing in the button rendered for a HTML Input element.
3487 (WebViewTest::executeMouseButtonEvent): New private function to
3488 simulate a mouse event through GdkEvents.
3489 * UIProcess/API/gtk/tests/WebViewTest.h:
3491 Updated documentation related files with the new API.
3493 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API.
3494 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section.
3495 * UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function.
3497 2012-04-28 Yury Semikhatsky <yurys@chromium.org>
3499 Unreviewed. Added new exported symbols after r115553.
3502 * win/WebKit2CFLite.def:
3504 2012-04-27 Geoffrey Garen <ggaren@apple.com>
3506 Made WeakSet::allocate() static and removed its JSGlobalData argument
3507 https://bugs.webkit.org/show_bug.cgi?id=85128
3509 Reviewed by Anders Carlsson.
3511 Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.
3513 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3514 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
3516 2012-04-27 Yael Aharon <yael.aharon@nokia.com>
3518 [Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext
3519 https://bugs.webkit.org/show_bug.cgi?id=85088
3521 Reviewed by Noam Rosenthal.
3523 Remove the call to syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext,
3524 since it was moved to QQuickWebPage::updatePaintNode.
3525 To make sure that we always sync before painting, this patch also calls page->update()
3526 when the viewport changes.
3528 * UIProcess/API/qt/qquickwebview.cpp:
3529 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3530 * UIProcess/WebLayerTreeRenderer.cpp:
3531 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
3533 2012-04-27 Gavin Peters <gavinp@chromium.org>
3535 Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
3536 https://bugs.webkit.org/show_bug.cgi?id=84871
3538 Reviewed by Adam Barth.
3540 Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
3541 API separates it from prefetching. Having separate include guards lets ports enable prefetching,
3542 a relatively easy change, without needing to build the infrastructure for prerendering, which
3543 is considerably more complicated.
3545 2012-04-27 Yael Aharon <yael.aharon@nokia.com>
3547 [Qt][WK2] setVisibleContentsRect is not thread safe
3548 https://bugs.webkit.org/show_bug.cgi?id=85060
3550 Reviewed by Noam Rosenthal.
3552 Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.
3554 * UIProcess/LayerTreeHostProxy.cpp:
3555 (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3557 2012-04-26 Carlos Garcia Campos <cgarcia@igalia.com>
3559 [SOUP] Add a way to register custom uri schemes in WebKit2
3560 https://bugs.webkit.org/show_bug.cgi?id=84130
3562 Reviewed by Martin Robinson.
3564 * GNUmakefile.am: Add new files to compilation.
3565 * Platform/CoreIPC/MessageID.h: Add
3566 MessageClassWebSoupRequestManager and
3567 MessageClassWebSoupRequestManagerProxy message types to identify
3568 WebSoupRequestManager messages.
3569 * Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
3570 soup network backend.
3571 * Shared/API/c/soup/WKBaseSoup.h: Added.
3572 * Shared/APIObject.h: Add SoupRequestManager type when using soup.
3573 * UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
3574 building with soup network backend.
3575 * UIProcess/API/C/soup/WKAPICastSoup.h: Added.
3576 (WebKit): Map WKSoupRequestManagerRef to
3577 WebSoupRequestManagerProxy.
3578 * UIProcess/API/C/soup/WKContextSoup.cpp: Added.
3579 (WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
3580 associated to the context.
3581 * UIProcess/API/C/soup/WKContextSoup.h: Added.
3582 * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
3583 (WKSoupRequestManagerGetTypeID): Return the
3584 WebSoupRequestManagerProxy API type.
3585 (WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
3586 (WKSoupRequestManagerRegisterURIScheme): Call
3587 WebSoupRequestManagerProxy::registerURIScheme().
3588 (WKSoupRequestManagerHandleURIRequest): Call
3589 WebSoupRequestManagerProxy::handleURIRequest().
3590 * UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
3591 * UIProcess/WebContext.cpp:
3592 (WebKit::WebContext::WebContext): Initialize
3593 m_soupRequestManagerProxy when using soup.
3594 (WebKit::WebContext::~WebContext): Invalidate and clear the
3595 m_soupRequestManagerProxy when using soup.
3596 (WebKit::WebContext::disconnectProcess): Invalidate the
3597 m_soupRequestManagerProxy when using soup.
3598 (WebKit::WebContext::didReceiveMessage): Forward the message to
3599 m_soupRequestManagerProxy if it's a
3600 MessageClassWebSoupRequestManagerProxy message.
3601 * UIProcess/WebContext.h:
3602 (WebKit::WebContext::soupRequestManagerProxy): Return
3603 m_soupRequestManagerProxy.
3604 * UIProcess/WebProcessProxy.cpp:
3605 (WebKit::WebProcessProxy::didReceiveMessage): Forward message to
3606 the web context if it's a MessageClassWebSoupRequestManagerProxy
3608 * UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
3609 (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
3610 didReceiveURIRequest callback if it has an implementation.
3611 * UIProcess/soup/WebSoupRequestManagerClient.h: Added.
3612 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
3613 (WebKit::WebSoupRequestManagerProxy::create): Create a new
3614 WebSoupRequestManagerProxy.
3615 (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
3616 (WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
3617 (WebKit::WebSoupRequestManagerProxy::invalidate):
3618 (WebKit::WebSoupRequestManagerProxy::initializeClient):
3619 (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
3620 (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
3621 RegisterURIScheme message to the WebProcess to register the given
3623 (WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
3624 HandleURIRequest message to the WebProcess with the given data and
3626 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
3627 didReceiveURIRequest callback to allow the user to handle the
3629 * UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
3630 * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
3631 * WebProcess/WebProcess.cpp:
3632 (WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
3634 (WebKit::WebProcess::didReceiveMessage): Forward the message to
3635 m_soupRequestManager if it's a MessageClassWebSoupRequestManager
3637 * WebProcess/WebProcess.h:
3638 (WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
3639 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
3640 (webkitSoupRequestGenericFinalize):
3641 (webkit_soup_request_generic_init):
3642 (webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
3643 to handle the request and pass it to the WebSoupRequestManager.
3644 (webkitSoupRequestGenericSendFinish): Finish the async operation
3645 started by webkitSoupRequestGenericSendAsync() and return the
3646 contents of the request as returned by WebSoupRequestManager.
3647 (webkitSoupRequestGenericGetContentLength): Get the request
3649 (webkitSoupRequestGenericGetContentType): Get the request mime
3651 (webkit_soup_request_generic_class_init):
3652 (webkitSoupRequestGenericSetContentLength): Set the request
3654 (webkitSoupRequestGenericSetContentType): Set the request mime
3656 * WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
3657 * WebProcess/soup/WebSoupRequestManager.cpp: Added.
3658 (WebKit::generateSoupRequestID): Helper function to generate a
3659 unique request identifier.
3660 (WebKit::WebSoupRequestManager::WebSoupRequestManager):
3661 (WebKit::WebSoupRequestManager::~WebSoupRequestManager):
3662 (WebKit::WebSoupRequestManager::didReceiveMessage):
3663 (WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
3664 to the schemes array and add a new WebKitSoupRequestGeneric
3665 feature with the new scheme list to the SoupRequester feature.
3666 (WebKit::WebSoupRequestManager::handleURIRequest): Complete the
3667 async operation by creating a GInputStream with the request data,
3668 or setting an error in case of failure.
3669 (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
3670 message to the UI process.
3671 (WebKit::WebSoupRequestManager::finish): Return the GInputStream
3672 containing the request data.
3673 * WebProcess/soup/WebSoupRequestManager.h: Added.
3674 * WebProcess/soup/WebSoupRequestManager.messages.in: Added.
3676 2012-04-26 No'am Rosenthal <noam.rosenthal@nokia.com>
3678 [Qt][WK2] A GraphicsSurface instance is created with every update
3679 https://bugs.webkit.org/show_bug.cgi?id=85014
3681 Reviewed by Kenneth Rohde Christiansen.
3683 Keep a copy of the GraphicsSurface in the UI process, and reuse it for
3684 subsequent updates. This ensure that the texture and other data associated
3685 with the GraphicsSurface does not need to be reconstructed.
3687 * Shared/ShareableSurface.h:
3689 (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
3690 * UIProcess/LayerTreeHostProxy.cpp:
3691 (WebKit::LayerTreeHostProxy::updateTileForLayer):
3692 * UIProcess/LayerTreeHostProxy.h:
3693 (LayerTreeHostProxy):
3695 2012-04-26 Martin Robinson <mrobinson@igalia.com>
3697 [Cairo] Wrap cairo surfaces in a class when storing native images
3698 https://bugs.webkit.org/show_bug.cgi?id=83611
3700 Reviewed by Alejandro G. Castro.
3702 * Shared/gtk/ArgumentCodersGtk.cpp: Updated to reflect the addition of NativeImageCairo.
3704 2012-04-26 Jon Lee <jonlee@apple.com>
3706 [WK2] AlternativeTextClient leaks when the page is destroyed
3707 https://bugs.webkit.org/show_bug.cgi?id=84307
3708 <rdar://problem/11328431>
3710 Reviewed by Enrica Casucci.
3712 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
3713 (WebAlternativeTextClient):
3714 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
3715 (WebKit::WebAlternativeTextClient::pageDestroyed): Deletes itself.
3717 2012-04-26 Jer Noble <jer.noble@apple.com>
3719 Full Screen mode does not preserve CALayer ordering after exiting.
3720 https://bugs.webkit.org/show_bug.cgi?id=83931
3722 Reviewed by Eric Carlson.
3724 Further corrections to r114567. When swapping view for otherView, give the correct
3725 relative view to -[NSView addSubview:positioned:relativeTo:].
3727 * UIProcess/mac/WKFullScreenWindowController.mm:
3728 (-[WKFullScreenWindowController _swapView:with:]):
3730 2012-04-25 Jer Noble <jer.noble@apple.com>
3732 Placeholder view is immediately removed from hosting window upon entering full screen.
3733 https://bugs.webkit.org/show_bug.cgi?id=84916
3735 Reviewed by Darin Adler.
3737 Correct a mistake added in r114567. When swapping view for otherView, add otherView and
3738 remove view (rather than adding otherView and removing otherView).
3740 * UIProcess/mac/WKFullScreenWindowController.mm:
3741 (-[WKFullScreenWindowController _swapView:with:]):
3743 2012-04-26 Carlos Garcia Campos <cgarcia@igalia.com>
3745 [GTK] Build and run TestWebKitAPI WebKit2 unit tests
3746 https://bugs.webkit.org/show_bug.cgi?id=84446
3748 Reviewed by Philippe Normand.
3750 * UIProcess/API/C/WKNativeEvent.h: Define WKNativeEventPtr as
3751 GdkEvent for the GTK+ port.
3753 2012-04-26 Andras Becsi <andras.becsi@nokia.com>
3755 [Qt][WK2] Tap highlight should have a delay not to interfere with panning
3756 https://bugs.webkit.org/show_bug.cgi?id=84948
3758 Reviewed by Kenneth Rohde Christiansen.
3760 Start the tap highlight animation after a slight delay so that pan
3761 gestures do not result in flashing highlight rects which slow down
3762 flicking, especially during continuous pan gestures.
3764 * UIProcess/qt/QtTapGestureRecognizer.cpp:
3765 (WebKit::QtTapGestureRecognizer::update):
3766 (WebKit::QtTapGestureRecognizer::highlightTimeout):
3768 (WebKit::QtTapGestureRecognizer::reset):
3769 (WebKit::QtTapGestureRecognizer::timerEvent):
3770 * UIProcess/qt/QtTapGestureRecognizer.h:
3771 (QtTapGestureRecognizer):
3772 * UIProcess/qt/QtWebPageEventHandler.cpp:
3773 (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
3775 2012-04-26 Lars Knudsen <lars.knudsen@nokia.com>
3777 Make it possible to use accelerated compositing for page overlay fading
3778 https://bugs.webkit.org/show_bug.cgi?id=82336
3780 Reviewed by Noam Rosenthal.
3782 Page overlay fading will use AC where possible. Otherwise, it will
3783 fall back to the previous method of redrawing each frame in the animation.
3785 * WebProcess/WebPage/DrawingArea.h:
3786 (WebKit::DrawingArea::setPageOverlayOpacity):
3788 (WebKit::DrawingArea::pageOverlayShouldApplyFadeWhenPainting):
3789 * WebProcess/WebPage/DrawingAreaImpl.cpp:
3790 (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
3792 (WebKit::DrawingAreaImpl::pageOverlayShouldApplyFadeWhenPainting):
3793 * WebProcess/WebPage/DrawingAreaImpl.h:
3795 * WebProcess/WebPage/LayerTreeHost.h:
3796 (WebKit::LayerTreeHost::setPageOverlayOpacity):
3797 (WebKit::LayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
3798 * WebProcess/WebPage/PageOverlay.cpp:
3799 (WebKit::PageOverlay::PageOverlay):
3800 (WebKit::PageOverlay::setPage):
3801 (WebKit::PageOverlay::fadeAnimationTimerFired):
3802 * WebProcess/WebPage/PageOverlay.h:
3803 * WebProcess/WebPage/TapHighlightController.cpp:
3804 (WebKit::TapHighlightController::drawRect):
3805 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3806 (WebKit::LayerTreeHostQt::setPageOverlayOpacity):
3808 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3810 (WebKit::LayerTreeHostQt::pageOverlayShouldApplyFadeWhenPainting):
3812 2012-04-26 Alexander Færøy <ahf@0x90.dk>
3814 [Qt] r115300 broke the Qt build on Mac OS X.
3816 This patch adds guards around the createPluginContainer and
3817 windowedPluginGeometryDidChange member functions in WebPageProxy.
3819 Unreviewed build fix.
3821 * UIProcess/qt/WebPageProxyQt.cpp:
3824 2012-04-26 Carlos Garcia Campos <cgarcia@igalia.com>
3826 [GTK][WebKit2] Initial windowed plugins implementation
3827 https://bugs.webkit.org/show_bug.cgi?id=61065
3829 Reviewed by Philippe Normand.
3831 * PluginProcess/PluginControllerProxy.cpp:
3832 (WebKit::PluginControllerProxy::createPluginContainer):
3833 (WebKit::PluginControllerProxy::windowedPluginGeometryDidChange):
3834 * PluginProcess/PluginControllerProxy.h:
3835 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3836 (webkitWebViewBaseContainerAdd): Implement GtkContainer::add().
3837 (webkitWebViewBaseContainerRemove): Implement GtkContainer::remove().
3838 (webkitWebViewBaseContainerForall): Implement GtkContainer::forall().
3839 (webkitWebViewBaseChildMoveResize): Set a new geometry for a child widget.
3840 (webkitWebViewBaseChildAllocate): Allocate a child widget.
3841 (resizeWebKitWebViewBaseFromAllocation): Allocate child widgets.
3842 (webkit_web_view_base_class_init):
3843 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseSizeAllocate().
3844 * UIProcess/WebPageProxy.h:
3845 * UIProcess/WebPageProxy.messages.in: Add createPluginContainer
3846 and windowedPluginGeometryDidChange messages.
3847 * UIProcess/gtk/WebPageProxyGtk.cpp:
3848 (WebKit::pluginWindowMap):
3849 (WebKit::pluginContainerPlugRemoved): Remove the socket from the
3850 hash map when its plug is removed.
3851 (WebKit::WebPageProxy::createPluginContainer): Create a GtkSocket
3852 as container widget for windowed plugins.
3853 (WebKit::WebPageProxy::windowedPluginGeometryDidChange): Call
3854 webkitWebViewBaseSizeAllocate() to update the plugin widget
3856 * UIProcess/qt/WebPageProxyQt.cpp:
3857 (WebKit::WebPageProxy::createPluginContainer):
3858 (WebKit::WebPageProxy::windowedPluginGeometryDidChange):
3859 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3860 (WebKit::NetscapePlugin::NetscapePlugin):
3861 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3862 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3863 (WebKit::socketPlugRemovedCallback): Return TRUE to avoid the
3864 socket to be destroyed, since we need to reuse it.
3865 (WebKit::NetscapePlugin::platformPostInitializeWindowed): Ask the
3866 ui process to create a plugin container.
3867 (WebKit::NetscapePlugin::platformPostInitializeWindowless):
3868 (WebKit::NetscapePlugin::platformPostInitialize):
3869 (WebKit::NetscapePlugin::platformGeometryDidChange): For windowed
3870 plugins notify the ui process that the plugin geometry has
3872 (WebKit::NetscapePlugin::platformPaint): Do nothing for windowed
3873 plugins, the caller already calls callSetWindow().
3874 * WebProcess/Plugins/PluginController.h:
3875 * WebProcess/Plugins/PluginProxy.cpp:
3876 (WebKit::PluginProxy::createPluginContainer):
3877 (WebKit::PluginProxy::windowedPluginGeometryDidChange):
3878 * WebProcess/Plugins/PluginProxy.h:
3879 * WebProcess/Plugins/PluginProxy.messages.in:
3880 * WebProcess/Plugins/PluginView.cpp:
3881 (WebKit::PluginView::createPluginContainer):
3882 (WebKit::PluginView::windowedPluginGeometryDidChange):
3883 * WebProcess/Plugins/PluginView.h:
3885 2012-04-26 Chris Fleizach2 <cfleizach@apple.com>
3887 CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
3888 https://bugs.webkit.org/show_bug.cgi?id=84463
3890 Reviewed by Darin Adler.
3892 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3895 2012-04-25 Benjamin Poulain <benjamin@webkit.org>
3897 Add a version of StringImpl::find() without offset
3898 https://bugs.webkit.org/show_bug.cgi?id=83968
3900 Update the symbols files.
3903 * win/WebKit2CFLite.def:
3905 2012-04-25 Mark Hahnenberg <mhahnenberg@apple.com>
3907 WebCore shouldn't call collectAllGarbage directly
3908 https://bugs.webkit.org/show_bug.cgi?id=84897
3910 Reviewed by Geoffrey Garen.
3912 * WebProcess/WebProcess.cpp:
3913 (WebKit::WebProcess::didClose): Changed to call garbageCollectSoon. This is the
3914 function that causes us to do so much collection on page navigation.
3916 2012-04-25 Beth Dakin <bdakin@apple.com>
3918 https://bugs.webkit.org/show_bug.cgi?id=84909
3919 Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3921 <rdar://problem/11312064>
3923 Rubber-stamped by Darin Adler.
3925 Re-order the parameters of paintBitmapContext to match paintImage.
3926 * Platform/cg/CGUtilities.cpp:
3927 (WebKit::paintBitmapContext):
3928 * Platform/cg/CGUtilities.h:
3930 * UIProcess/mac/BackingStoreMac.mm:
3931 (WebKit::BackingStore::resetScrolledRect):
3932 (WebKit::BackingStore::paint):
3933 (WebKit::BackingStore::backingStoreContext):
3935 2012-04-25 Beth Dakin <bdakin@apple.com>
3937 https://bugs.webkit.org/show_bug.cgi?id=84909
3938 Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3940 <rdar://problem/11312064>
3942 Reviewed by Darin Adler.
3944 BackingStoreMac paints into a Bitmap instead of a CGLayer when there is no
3945 containing window. That bitmap is used for the initial paint when a background tab
3946 first comes to he foreground, so it needs to be HiDPI-aware.
3948 paintBitmapContext() now takes a scale factor that it passes along to paintImage
3949 rather than hardcoding a scale factor of 1 for paintImage.
3950 * Platform/cg/CGUtilities.cpp:
3951 (WebKit::paintBitmapContext):
3952 * Platform/cg/CGUtilities.h:
3955 When these functions fall into the bitmap case, they need to adopt the device
3956 scale factor, which means they need to scale in size by the scale factor, and also
3957 scale their context.
3958 * UIProcess/mac/BackingStoreMac.mm:
3959 (WebKit::BackingStore::resetScrolledRect):
3960 (WebKit::BackingStore::paint):
3961 (WebKit::BackingStore::backingStoreContext):
3963 2012-04-25 Enrica Casucci <enrica@apple.com>
3965 REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
3966 https://bugs.webkit.org/show_bug.cgi?id=84878
3967 <rdar://problem/11155407>
3969 In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
3970 of the communication between the UI process and the WebProcess.
3971 We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
3972 gets changed which affects the promised file types.
3973 The fix for the problem is in WebCore and we can now remove the guard on _setDragImage.
3975 Reviewed by Alexey Proskuryakov.
3977 * UIProcess/API/mac/WKView.mm:
3978 (-[WKView mouseDown:]):
3979 (-[WKView _setDragImage:at:linkDrag:]):
3981 2012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3983 [Qt] Make the web view's url property follow the active url
3985 https://bugs.webkit.org/show_bug.cgi?id=77554
3987 The url property of the webview now reflects the 'active' url of the
3988 page, which maps to either the currently loading url, in the case of
3989 an ongoing load, or the result of a load, even when the load failed.
3991 In practice this means that setting the url though QML, or navigating
3992 to a new url in the page by e.g clicking, will both instantly change
3993 the url-property of the webview to the target url. This differs from
3994 earlier behavior, where we would update the url when the load
3997 An optional argument is added to loadHtml(), to allow setting
3998 the unreachable url when providing replacement content for failed
4001 A slight change in the activeUrl() implementation is also done,
4002 where we now favour the url of an pending API request, even when
4003 we don't have a mainframe yet.
4005 Finally, the location bar in the minibrowser is updated to behave
4006 a bit more like normal browsers in terms of when the url will change
4007 and how active focus is handled.
4009 Reviewed by Simon Hausmann.
4011 * UIProcess/API/qt/qquickwebview.cpp:
4012 (QQuickWebViewPrivate::onComponentComplete):
4013 (QQuickWebView::reload):
4014 (QQuickWebView::url):
4015 (QQuickWebView::setUrl):
4016 (QQuickWebView::loadHtml):
4017 * UIProcess/API/qt/qquickwebview_p.h:
4018 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4019 * UIProcess/API/qt/tests/qmltests/WebView.pro:
4020 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4021 * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4022 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4023 * UIProcess/WebPageProxy.cpp:
4024 (WebKit::WebPageProxy::activeURL):
4025 * UIProcess/qt/QtWebPageLoadClient.cpp:
4026 (QtWebPageLoadClient::QtWebPageLoadClient):
4027 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4028 (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4029 (QtWebPageLoadClient::didCommitLoadForFrame):
4030 (QtWebPageLoadClient::dispatchLoadFailed):
4031 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4032 (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4033 * UIProcess/qt/QtWebPageLoadClient.h:
4034 (QtWebPageLoadClient):
4036 2012-04-25 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4038 [Qt] Zoom back can overscroll document edges.
4039 https://bugs.webkit.org/show_bug.cgi?id=84851
4041 Reviewed by Kenneth Rohde Christiansen.
4043 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4044 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4046 2012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
4048 [Qt] Make the web view's url property follow the active url
4050 https://bugs.webkit.org/show_bug.cgi?id=77554
4052 The url property of the webview now reflects the 'active' url of the
4053 page, which maps to either the currently loading url, in the case of
4054 an ongoing load, or the result of a load, even when the load failed.
4056 In practice this means that setting the url though QML, or navigating
4057 to a new url in the page by e.g clicking, will both instantly change
4058 the url-property of the webview to the target url. This differs from
4059 earlier behavior, where we would update the url when the load
4062 An optional argument is added to loadHtml(), to allow setting
4063 the unreachable url when providing replacement content for failed
4066 A slight change in the activeUrl() implementation is also done,
4067 where we now favour the url of an pending API request, even when
4068 we don't have a mainframe yet.
4070 Finally, the location bar in the minibrowser is updated to behave
4071 a bit more like normal browsers in terms of when the url will change
4072 and how active focus is handled.
4074 Reviewed by Simon Hausmann.
4076 * UIProcess/API/qt/qquickwebview.cpp:
4077 (QQuickWebViewPrivate::onComponentComplete):
4078 (QQuickWebView::reload):
4079 (QQuickWebView::url):
4080 (QQuickWebView::setUrl):
4081 (QQuickWebView::loadHtml):
4082 * UIProcess/API/qt/qquickwebview_p.h:
4083 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4084 * UIProcess/API/qt/tests/qmltests/WebView.pro:
4085 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4086 * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4087 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4088 * UIProcess/WebPageProxy.cpp:
4089 (WebKit::WebPageProxy::activeURL):
4090 * UIProcess/qt/QtWebPageLoadClient.cpp:
4091 (QtWebPageLoadClient::QtWebPageLoadClient):
4092 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4093 (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4094 (QtWebPageLoadClient::didCommitLoadForFrame):
4095 (QtWebPageLoadClient::dispatchLoadFailed):
4096 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4097 (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4098 * UIProcess/qt/QtWebPageLoadClient.h:
4099 (QtWebPageLoadClient):
4101 2012-04-24 Enrica Casucci <enrica@apple.com>
4103 REGRESSION (r109022) Safari not placing service data on pasteboard.
4104 https://bugs.webkit.org/show_bug.cgi?id=84766
4105 <rdar://problem/11085756>
4107 The support for OS X services requires that the write operations to
4108 the pasteboard occur synchronously. This behavior was changed with r109022.
4109 This change removes the original synchronous call to the WebProcess to perform
4110 the pasteboard write that had become asynchronous after r109022.
4111 It implements instead a synchronous call to retrive the content to be placed
4114 Reviewed by Alexey Proskuryakov.
4116 * UIProcess/API/mac/WKView.mm:
4117 (-[WKView writeSelectionToPasteboard:types:]): Uses new methods.
4118 * UIProcess/WebPageProxy.h:
4119 * UIProcess/mac/WebPageProxyMac.mm: Removed writeSelectionToPasteboard.
4120 (WebKit::WebPageProxy::getStringSelectionForPasteboard): Added.
4121 (WebKit::WebPageProxy::getBufferSelectionForPasteboard): Added.
4122 * WebProcess/WebPage/WebPage.h: Added support for the new messages and
4123 removed old message.
4124 * WebProcess/WebPage/WebPage.messages.in: Ditto.
4125 * WebProcess/WebPage/mac/WebPageMac.mm: Ditto.
4126 (WebKit::WebPage::readSelectionFromPasteboard): Added.
4127 (WebKit::WebPage::getBufferSelectionForPasteboard): Added.
4129 2012-04-24 Brady Eidson <beidson@apple.com>
4133 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
4134 (~InjectedBundleDOMWindowExtension): VS doesn't like OVERRIDE on d'tor's
4136 2012-04-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
4138 [Qt] Unreviewed build fix after r115083
4140 * WebProcess/qt/QtBuiltinBundlePage.cpp:
4141 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
4143 2012-04-24 Brady Eidson <beidson@apple.com>
4145 <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
4146 Need DOMWindow mechanism to supplement UserScripts for page cache notifications
4148 Reviewed by Sam Weinig.
4150 - Adds a new API object WKBundleDOMWindowExtension
4151 - Exposes callbacks about the lifetime of DOMWindowExtensions through BundlePageLoaderClient
4154 * Shared/API/c/WKBase.h:
4155 * Shared/APIClientTraits.cpp:
4156 * Shared/APIObject.h:
4157 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
4159 Add API for the new DOMWindowExtension object:
4160 * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: Added.
4161 (WKBundleDOMWindowExtensionGetTypeID):
4162 (WKBundleDOMWindowExtensionCreate):
4163 (WKBundleDOMWindowExtensionGetFrame):
4164 (WKBundleDOMWindowExtensionGetScriptWorld):
4165 * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h: Added.
4167 Add implementation for that API which wraps the WebCore::DOMWindowExtension:
4168 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: Added.
4169 (WebKit::allExtensions):
4170 (WebKit::InjectedBundleDOMWindowExtension::create):
4171 (WebKit::InjectedBundleDOMWindowExtension::get):
4172 (WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):
4173 (WebKit::InjectedBundleDOMWindowExtension::~InjectedBundleDOMWindowExtension):
4174 (WebKit::InjectedBundleDOMWindowExtension::frame):
4175 (WebKit::InjectedBundleDOMWindowExtension::world):
4176 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: Added.
4177 (InjectedBundleDOMWindowExtension):
4178 (WebKit::InjectedBundleDOMWindowExtension::type):
4180 Add new BundlePageLoaderClient methods:
4181 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4182 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4183 (WebKit::InjectedBundlePageLoaderClient::didCreateGlobalObjectForFrame):
4184 (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
4185 (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
4186 (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
4187 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
4188 (InjectedBundlePageLoaderClient):
4190 Implement the 4 new callbacks from WebCore which notify the BundlePageLoaderClient:
4191 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4192 (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
4193 (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
4194 (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
4195 (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
4196 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4202 * WebKit2.xcodeproj/project.pbxproj:
4203 * win/WebKit2.vcproj:
4205 2012-04-24 Andras Becsi <andras.becsi@nokia.com>
4207 [Qt][WK2] Implement axis locking on the WebView for pan gestures
4208 https://bugs.webkit.org/show_bug.cgi?id=84350
4210 Reviewed by Kenneth Rohde Christiansen.
4212 If a pan gesture has sufficient velocity along one axis the WebView
4213 should automatically lock the page movement to that axis.
4214 This locking should be maintained until the ongoing pan gesture ends.
4216 This patch implements a simple axis locker which adjusts the positions
4217 sent to the Flickable to the initial reference position according to the
4218 direction an velocity information it gathered from incoming touch events.
4220 The FlickableAxisLocker makes use of the velocity information of the touch point
4221 if available, else an approximate velocity of the incoming event is
4224 * UIProcess/API/qt/qquickwebview.cpp:
4225 (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
4226 (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
4227 (QQuickWebViewPrivate::FlickableAxisLocker::update):
4228 (QQuickWebViewPrivate::FlickableAxisLocker::setReferencePosition):
4229 (QQuickWebViewPrivate::FlickableAxisLocker::reset):
4230 (QQuickWebViewPrivate::FlickableAxisLocker::adjust):
4231 (QQuickWebViewPrivate::QQuickWebViewPrivate):
4232 (QQuickWebView::touchEvent):
4233 (QQuickWebView::handleFlickableMousePress):
4234 (QQuickWebView::handleFlickableMouseMove):
4235 (QQuickWebView::handleFlickableMouseRelease):
4236 * UIProcess/API/qt/qquickwebview_p_p.h:
4237 (QQuickWebViewPrivate):
4239 2012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4241 [Qt] Tap-to zoom should navigate when appropiate
4242 https://bugs.webkit.org/show_bug.cgi?id=84602
4244 Reviewed by Simon Hausmann.
4246 When a zoomable area is returned and has the same zoom-level as the current,
4247 examine if the using this target would expose currently unexposed parts of
4248 the zoom-target. If it does, pan to that area instead of zooming back.
4250 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4251 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4253 2012-04-24 Carlos Garcia Campos <cgarcia@igalia.com>
4255 [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
4256 https://bugs.webkit.org/show_bug.cgi?id=82598
4258 Reviewed by Philippe Normand.
4260 * UIProcess/API/gtk/WebKitCookieManager.cpp:
4261 (webkitCookieManagerFinalize): Stop observing cookie changes.
4262 (webkit_cookie_manager_class_init): Add
4263 WebKitCookieManager::changed signal.
4264 (cookiesDidChange): Emit WebKitCookieManager::changed signal.
4265 (webkitCookieManagerCreate): Implement WKCookieManagerClient and
4266 start observing cookie changes.
4267 * UIProcess/API/gtk/tests/TestCookieManager.cpp:
4268 (testCookieManagerCookiesChanged):
4271 2012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4273 [Qt] Restore x-position when restoring previous zoom-level.
4274 https://bugs.webkit.org/show_bug.cgi?id=84591
4276 Reviewed by Simon Hausmann.
4278 Tap-to-zoom fits content to width, therefore it is essentional that
4279 the content is refitted to width when zooming out.
4281 This patch pairs horizontal position and scale on the zoom-out stack.
4283 Additionally it fixes a problem with not detecting zoom-out properly
4284 due to floating point errors.
4286 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4287 (WebKit::fuzzyCompare):
4288 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4289 * UIProcess/qt/QtViewportInteractionEngine.h:
4290 (WebKit::QtViewportInteractionEngine::ScaleStackItem::ScaleStackItem):
4291 (QtViewportInteractionEngine):
4293 2012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4295 [Qt] Incomplete interaction-engine reset.
4296 https://bugs.webkit.org/show_bug.cgi?id=84594
4298 Reviewed by Simon Hausmann.
4300 Reset a few values forgotten in the reset function.
4302 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4303 (WebKit::QtViewportInteractionEngine::reset):
4305 2012-04-23 Andreas Kling <kling@webkit.org>
4307 [Mac] WebProcess should empty cache on a background thread/block.
4308 <http://webkit.org/b/84619>
4309 <rdar://problem/10668689>
4311 Reviewed by Anders Carlsson.
4313 Move the removeAllCachedResponses call to a dispatch queue and wait for it on exit.
4315 * WebProcess/WebProcess.cpp:
4316 (WebKit::WebProcess::WebProcess):
4317 * WebProcess/WebProcess.h:
4319 * WebProcess/mac/WebProcessMac.mm:
4320 (WebKit::WebProcess::platformClearResourceCaches):
4321 (WebKit::WebProcess::platformTerminate):
4323 2012-04-23 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4325 [Qt][WK2] Convert touch-point area.
4326 https://bugs.webkit.org/show_bug.cgi?id=84434
4328 Reviewed by Kenneth Rohde Christiansen.
4330 Missed WebKit2 conversion in commit r106470.
4332 * Shared/qt/WebEventFactoryQt.cpp:
4333 (WebKit::WebEventFactory::createWebTouchEvent):
4335 2012-04-23 Balazs Kelemen <kbalazs@webkit.org>
4337 [Qt] Add desktop zooming support for QQuickWebView
4338 https://bugs.webkit.org/show_bug.cgi?id=82337
4340 Reviewed by Simon Hausmann.
4342 Add private C++ API for programmatic zooming.
4343 This is important on desktop where we don't
4344 have any way to zoom currently.
4346 * UIProcess/API/qt/qquickwebview.cpp:
4347 (QQuickWebViewLegacyPrivate::zoomFactor):
4348 (QQuickWebViewLegacyPrivate::setZoomFactor):
4349 (QQuickWebView::zoomFactor):
4350 (QQuickWebView::setZoomFactor):
4351 * UIProcess/API/qt/qquickwebview_p.h:
4352 * UIProcess/API/qt/qquickwebview_p_p.h:
4353 (QQuickWebViewPrivate::zoomFactor):
4354 (QQuickWebViewPrivate::setZoomFactor):
4355 (QQuickWebViewPrivate):
4356 (QQuickWebViewLegacyPrivate):
4358 2012-04-23 Zalan Bujtas <zbujtas@gmail.com>
4360 [Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
4361 https://bugs.webkit.org/show_bug.cgi?id=84528
4363 Reviewed by Simon Hausmann.
4365 Fix namespace usage in non-api classes for Qt.
4367 * UIProcess/API/qt/qquickwebpage.cpp:
4368 * UIProcess/API/qt/qquickwebpage_p.h:
4370 * UIProcess/API/qt/qquickwebpage_p_p.h:
4372 (QQuickWebPagePrivate):
4373 * UIProcess/API/qt/qquickwebview.cpp:
4374 * UIProcess/API/qt/qquickwebview_p.h:
4376 * UIProcess/API/qt/qquickwebview_p_p.h:
4378 (QQuickWebViewPrivate::viewportInteractionEngine):
4379 (QQuickWebViewPrivate):
4380 (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
4381 (QQuickWebViewFlickablePrivate):
4382 * UIProcess/API/qt/qwebdownloaditem_p.h:
4384 * UIProcess/API/qt/qwebviewportinfo.cpp:
4385 * UIProcess/qt/LayerBackingStore.cpp:
4386 * UIProcess/qt/LayerBackingStore.h:
4388 * UIProcess/qt/QtDialogRunner.cpp:
4390 * UIProcess/qt/QtDialogRunner.h:
4392 * UIProcess/qt/QtDownloadManager.cpp:
4393 * UIProcess/qt/QtDownloadManager.h:
4395 * UIProcess/qt/QtGestureRecognizer.cpp:
4396 * UIProcess/qt/QtGestureRecognizer.h:
4398 * UIProcess/qt/QtPageClient.cpp:
4400 * UIProcess/qt/QtPageClient.h:
4403 * UIProcess/qt/QtPanGestureRecognizer.cpp:
4404 * UIProcess/qt/QtPanGestureRecognizer.h:
4405 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4406 * UIProcess/qt/QtPinchGestureRecognizer.h:
4407 * UIProcess/qt/QtTapGestureRecognizer.h:
4409 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4410 * UIProcess/qt/QtViewportInteractionEngine.h:
4411 * UIProcess/qt/QtWebContext.cpp:
4412 * UIProcess/qt/QtWebContext.h:
4413 * UIProcess/qt/QtWebError.cpp:
4415 * UIProcess/qt/QtWebError.h:
4417 * UIProcess/qt/QtWebIconDatabaseClient.cpp:
4419 * UIProcess/qt/QtWebIconDatabaseClient.h:
4422 (QtWebIconDatabaseClient):
4423 * UIProcess/qt/QtWebPageEventHandler.cpp:
4425 * UIProcess/qt/QtWebPageEventHandler.h:
4428 * UIProcess/qt/QtWebPageLoadClient.cpp:
4430 * UIProcess/qt/QtWebPageLoadClient.h:
4432 * UIProcess/qt/QtWebPagePolicyClient.cpp:
4434 * UIProcess/qt/QtWebPagePolicyClient.h:
4436 * UIProcess/qt/QtWebPageSGNode.cpp:
4437 * UIProcess/qt/QtWebPageSGNode.h:
4439 * UIProcess/qt/QtWebPageUIClient.cpp:
4440 * UIProcess/qt/QtWebPageUIClient.h:
4442 * UIProcess/qt/QtWebUndoController.cpp:
4444 * UIProcess/qt/QtWebUndoController.h:
4446 * UIProcess/qt/WebContextMenuProxyQt.cpp:
4447 * UIProcess/qt/WebContextQt.cpp:
4448 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
4449 * UIProcess/qt/WebGeolocationProviderQt.cpp:
4451 * UIProcess/qt/WebGeolocationProviderQt.h:
4453 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
4455 * UIProcess/qt/WebPopupMenuProxyQt.h:
4457 2012-04-23 Kent Tamura <tkent@chromium.org>
4459 Add test function to get placeholder string
4460 https://bugs.webkit.org/show_bug.cgi?id=84536
4462 Reviewed by Ryosuke Niwa.
4464 * win/WebKit2.def: Expose HTMLNames::inputTag,
4465 HTMLTextFormControlElement::placeholderShouldBeVisible(), and
4467 * win/WebKit2CFLite.def: ditto.
4469 2012-04-22 Sriram Neelakandan <sriram.neelakandan@gmail.com>
4471 [Gtk] Added MOZ_X11 build flag for TARGET_X11
4472 [Qt] Added MOZ_X11 build flag for !embedded
4473 https://bugs.webkit.org/show_bug.cgi?id=40785
4475 Reviewed by Anders Carlsson.
4480 2012-04-22 Jon Lee <jonlee@apple.com>
4482 Remove notifications support on Mac Lion.
4483 https://bugs.webkit.org/show_bug.cgi?id=84554
4484 <rdar://problem/11297128>
4486 Reviewed by Sam Weinig.
4488 * Configurations/FeatureDefines.xcconfig:
4490 2012-04-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4492 [Qt] Multi-level tap-to-zoom.
4493 https://bugs.webkit.org/show_bug.cgi?id=84456
4495 Reviewed by Kenneth Rohde Christiansen.
4497 Replace tap-to-zoomed flag with a stack of progressively higher zoom levels,
4498 and zoom out to last zoom-level when attempting to zoom to current level.
4500 Additionally detect a series of tap-to-zoom gestures on the same level and
4501 continue to zoom out.
4503 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4504 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4505 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4506 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4507 * UIProcess/qt/QtViewportInteractionEngine.h:
4508 (QtViewportInteractionEngine):
4510 2012-04-20 Jon Lee <jonlee@apple.com>
4512 Add Notification constructor
4513 https://bugs.webkit.org/show_bug.cgi?id=80477
4514 <rdar://problem/10912431>
4516 Reviewed by Jian Li.
4518 * WebProcess/Notifications/WebNotificationManager.cpp:
4519 (WebKit::WebNotificationManager::show): If the notification doesn't get shown,
4520 we should return false, since it will not go through a setPendingActivity cycle.
4521 (WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
4522 finalize them so that they can be cleaned up by the GC.
4524 2012-04-20 Timothy Hatcher <timothy@apple.com>
4526 Make the Web Inspector be the first responder when opening docked.
4528 <rdar://problem/11294217>
4530 Reviewed by Brian Weinstein.
4532 * UIProcess/mac/WebInspectorProxyMac.mm:
4533 (WebKit::WebInspectorProxy::platformAttach): Call makeFirstResponder: on
4534 the window and pass the Inspector's WKView.
4536 2012-04-06 Jer Noble <jer.noble@apple.com>
4538 apple.com top navigation bar appears inside video during full screen exit animation
4539 https://bugs.webkit.org/show_bug.cgi?id=83095
4541 Reviewed by Eric Carlson.
4543 Add new WebCore symbols needed by DumpRenderTree to exported symbol list.
4546 * win/WebKit2CFLite.def:
4548 2012-04-19 Carlos Garcia Campos <cgarcia@igalia.com>
4550 [GTK] Ignore resources while replacing content in WebKit2 GTK+ API
4551 https://bugs.webkit.org/show_bug.cgi?id=79777
4553 Reviewed by Philippe Normand.
4555 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
4556 (didSendRequestForResource): Return early if resources is Null.
4557 (didReceiveResponseForResource): Ditto.
4558 (didReceiveContentLengthForResource): Ditto.
4559 (didFinishLoadForResource): Ditto.
4560 (didFailLoadForResource): Ditto.
4561 * UIProcess/API/gtk/WebKitWebView.cpp:
4562 (webkitWebViewLoadChanged): Clear resources before checking
4563 whether we are replacing content.
4564 (webkitWebViewIsReplacingContentOrDidReplaceContent): Helper
4565 function to check whether view is replacing content or current
4566 content is replaced.
4567 (webkitWebViewResourceLoadStarted): Do not create resources when
4569 (webkitWebViewGetLoadingWebResource): Ignore when replacing
4570 content. Also add an assert when getting a loading resources to
4571 make sure we only return Null when replacing content.
4572 (webkitWebViewRemoveLoadingWebResource): Ditto.
4573 (webkitWebViewResourceLoadFinished): Ditto.
4574 * UIProcess/API/gtk/tests/TestResources.cpp:
4575 (replacedContentResourceLoadStartedCallback):
4576 (testWebViewResourcesReplacedContent):
4579 2012-04-19 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
4581 [Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph
4582 https://bugs.webkit.org/show_bug.cgi?id=84278
4584 Reviewed by Noam Rosenthal.
4586 Delete the whole layer tree on UI side when paint node is deleted and force resync of the layers when
4587 page becomes visible again.
4589 * UIProcess/LayerTreeHostProxy.cpp:
4590 (WebKit::LayerTreeHostProxy::purgeBackingStores):
4591 * UIProcess/WebLayerTreeRenderer.cpp:
4592 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
4593 (WebKit::WebLayerTreeRenderer::purgeGLResources):
4594 (WebKit::WebLayerTreeRenderer::appendUpdate):
4595 (WebKit::WebLayerTreeRenderer::setActive):
4597 * UIProcess/WebLayerTreeRenderer.h:
4598 (WebLayerTreeRenderer):
4599 * UIProcess/qt/QtWebPageSGNode.cpp:
4600 (WebKit::ContentsSGNode::ContentsSGNode):
4601 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4602 (WebCore::WebGraphicsLayer::purgeBackingStores):
4604 2012-04-19 Vivek Galatage <vivekgalatage@gmail.com>
4606 DevTools: assertion failure upon devtools window reopen.
4607 https://bugs.webkit.org/show_bug.cgi?id=53493
4609 Reviewed by Pavel Feldman.
4611 The pointers pointed to by WebInspector must be reset explicitly
4612 in WebInspector::didClose() method
4614 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
4615 (WebKit::WebInspectorClient::closeInspectorFrontend):
4616 * WebProcess/WebPage/WebInspector.cpp:
4617 (WebKit::WebInspector::didClose):
4619 2012-04-19 Zalan Bujtas <zbujtas@gmail.com>
4621 [Qt][WK2] Zoom out on the second double click does not always scale right.
4622 https://bugs.webkit.org/show_bug.cgi?id=84332
4624 Reviewed by Simon Hausmann.
4626 Zoom out to the minimum scale value instead of the fixed 1.
4628 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4629 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4631 2012-04-18 Jer Noble <jer.noble@apple.com>
4633 Full Screen mode does not preserve CALayer ordering after exiting.
4634 https://bugs.webkit.org/show_bug.cgi?id=83931
4636 Reviewed by Eric Carlson.
4638 When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:]
4639 instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order
4640 of the view's backing CALayers.
4642 * UIProcess/mac/WKFullScreenWindowController.mm:
4643 (-[WKFullScreenWindowController _swapView:with:]):
4645 2012-04-18 Alexey Proskuryakov <ap@apple.com>
4647 [WK2] Sandbox violations prevent attaching files to gmail messages
4648 https://bugs.webkit.org/show_bug.cgi?id=84263
4649 <rdar://problem/11248260>
4651 Reviewed by Oliver Hunt.
4653 * WebProcess/WebCoreSupport/WebDragClient.cpp: (WebKit::WebDragClient::willPerformDragDestinationAction):
4654 Prepare to the possibility that file data will be read. This needs to happen on every drop
4655 with files, not just after event dispatch.
4657 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mayPerformUploadDragDestinationAction):
4658 * WebProcess/WebPage/WebPage.h:
4659 Renamed performUploadDragDestinationAction to mayPerformUploadDragDestinationAction. We don't
4660 know if an upload will actually happen, it's up to JavaScript code to decide.
4662 2012-04-18 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4664 Clean-up WheelEvent Conversion.
4665 https://bugs.webkit.org/show_bug.cgi?id=84243
4667 Reviewed by Simon Hausmann.
4669 * Shared/qt/WebEventFactoryQt.cpp:
4670 (WebKit::WebEventFactory::createWebWheelEvent):
4671 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4672 (WebKit::QtViewportInteractionEngine::wheelEvent):
4674 2012-04-18 Zalan Bujtas <zbujtas@gmail.com>
4676 [Qt][WK2] Minibrowser asserts on startup at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4677 https://bugs.webkit.org/show_bug.cgi?id=84172
4679 Reviewed by Simon Hausmann.
4681 After the viewport computing refactor, ensureContentWithinViewportBoundary() can be called
4682 with resumed page. QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4683 functionality does not necessarily require the page to be suspended. It's the caller's context
4684 that determines whether the page needs to be suspended, so it's the caller's responsibility
4685 to enforce the ASSERT().
4686 Remove the invalid ASSERT on m_suspendCount at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4688 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4689 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
4691 2012-04-17 Alexey Proskuryakov <ap@apple.com>
4693 [Mac] USPS Shipping label prints without barcode
4694 https://bugs.webkit.org/show_bug.cgi?id=84099
4695 <rdar://problem/11133877>
4697 Reviewed by Sam Weinig.
4699 Use PDFDocuemnt instead of CGPDFDocument when printing PDFs, because PDFKit knows
4700 how to draw PDF buttons, and CG does not.
4702 * Shared/mac/PDFKitImports.h: Added.
4703 * Shared/mac/PDFKitImports.mm: Added.
4704 * UIProcess/API/mac/WKPrintingView.mm:
4705 Moved code for dealing with dynamically loaded PDFKit from WKPrintingView, as we
4706 now also need it elsewhere.
4708 * WebKit2.xcodeproj/project.pbxproj: Added
4709 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Rebamed to .mm.
4711 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Changed m_pdfDocument to PDFDocument.
4713 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Copied from Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.cpp.
4714 (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
4715 (WebKit::BuiltInPDFView::calculateSizes):
4716 (WebKit::BuiltInPDFView::paintContent):
4717 Changed m_pdfDocument to PDFDocument, and updated for the changes. We still use
4718 CGPDF when drawing to screen though, because that doesn't affect USPS.
4720 * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::pdfDocumentForPrinting): Updated
4721 the type, and changed ifsed from CG to MAC, as we're now fully dependent on Cocoa.
4723 * WebProcess/Plugins/PluginView.h: (WebKit::PluginView::pdfDocumentForPrinting):
4726 * WebProcess/WebPage/WebPage.cpp:
4727 (WebKit::WebPage::pdfDocumentForPrintingFrame):
4728 (WebKit::WebPage::beginPrinting):
4729 (WebKit::WebPage::computePagesForPrinting):
4730 (WebKit::WebPage::drawRectToPDF):
4731 (WebKit::WebPage::drawPagesToPDF):
4732 * WebProcess/WebPage/WebPage.h:
4733 Moved PDF document printing code to WebPageMac.mm, as it's now Objective C.
4735 * WebProcess/WebPage/mac/WebPageMac.mm:
4736 (WebKit::WebPage::computePagesForPrintingPDFDocument):
4737 (WebKit::roundCGFloat):
4738 (WebKit::drawPDFPage): While moving, also fixed a logic error in calculating the box
4739 (it used to intersect with an empty box).
4740 (WebKit::WebPage::drawRectToPDFFromPDFDocument):
4741 (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
4743 2012-04-17 Anders Carlsson <andersca@apple.com>
4745 Need a client callback for when the user tires to interact with an already unresponsive page
4746 https://bugs.webkit.org/show_bug.cgi?id=84201
4747 <rdar://problem/11140862>
4749 Reviewed by Andreas Kling.
4751 Add a interactionOccurredWhileProcessUnresponsive callback that's called when the unresponsiveness timer
4752 fires while it's already unresponsive.
4754 * UIProcess/API/C/WKPage.h:
4755 * UIProcess/ResponsivenessTimer.cpp:
4757 (WebKit::ResponsivenessTimer::timerFired):
4758 (WebKit::ResponsivenessTimer::start):
4759 * UIProcess/ResponsivenessTimer.h:
4761 * UIProcess/WebLoaderClient.cpp:
4762 (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
4764 (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
4765 * UIProcess/WebLoaderClient.h:
4767 * UIProcess/WebPageProxy.cpp:
4768 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
4770 * UIProcess/WebPageProxy.h:
4772 * UIProcess/WebProcessProxy.cpp:
4773 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
4775 * UIProcess/WebProcessProxy.h:
4778 2012-04-17 Anders Carlsson <andersca@apple.com>
4780 Make sure that the layer hosting mode is kept up to date if it changes before the plug-in is initialized
4781 https://bugs.webkit.org/show_bug.cgi?id=84180
4782 <rdar://problem/11265113>
4784 Reviewed by Andreas Kling.
4786 * WebProcess/Plugins/PluginView.cpp:
4787 (WebKit::PluginView::setLayerHostingMode):
4789 2012-04-17 Jer Noble <jer.noble@apple.com>
4791 Exiting full screen video brings the wrong Safari window to the foreground
4792 https://bugs.webkit.org/show_bug.cgi?id=83936
4794 Reviewed by Adele Peterson.
4796 Tell the original webView's window to makeKeyAndOrderFront once the exit
4797 animation completes.
4799 * UIProcess/mac/WKFullScreenWindowController.mm:
4800 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
4802 2012-04-17 Michał Pakuła vel Rutka <m.pakula@samsung.com>
4804 [EFL][WK2] Fix build break when FULLSCREEN_API is enabled.
4805 https://bugs.webkit.org/show_bug.cgi?id=84142
4807 Reviewed by Martin Robinson.
4809 Create a cpp file needed to build EFL port with FULLSCREEN_API.
4811 * PlatformEfl.cmake: Added WebFullScreenManagerProxyEfl.cpp to build list.
4812 * UIProcess/WebFullScreenManagerProxy.h:
4814 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Added.
4816 (WebKit::WebFullScreenManagerProxy::invalidate):
4817 (WebKit::WebFullScreenManagerProxy::close):
4818 (WebKit::WebFullScreenManagerProxy::isFullScreen):
4819 (WebKit::WebFullScreenManagerProxy::enterFullScreen):
4820 (WebKit::WebFullScreenManagerProxy::exitFullScreen):
4821 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
4822 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
4824 2012-04-17 Andras Becsi <andras.becsi@nokia.com>
4826 [Qt][WK2] Refactor the gesture recognizers
4827 https://bugs.webkit.org/show_bug.cgi?id=83044
4829 Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
4831 This patch implements a simple decision tree in the web page event handler
4832 on the basis of how many active touch points the current touch event has.
4834 Active touch points are pressed, moved or stationary and the number of these
4835 fully determine which gesture recognizer should be updated, cancelled or
4838 This new structure makes the internal states of the pinch and pan gesture
4839 recognizers independent from the event type, thus makes it possible to handle
4840 the transitions between these gestures in one centralized place which reduces
4841 code duplication and complexity and fixes some issues regarding incorrectly
4842 handled transitions.
4844 * UIProcess/qt/QtPanGestureRecognizer.cpp:
4845 (WebKit::QtPanGestureRecognizer::update):
4846 (WebKit::QtPanGestureRecognizer::finish):
4848 (WebKit::QtPanGestureRecognizer::cancel):
4849 * UIProcess/qt/QtPanGestureRecognizer.h:
4850 (QtPanGestureRecognizer):
4851 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4853 (WebKit::QtPinchGestureRecognizer::update):
4854 (WebKit::QtPinchGestureRecognizer::finish):
4855 * UIProcess/qt/QtPinchGestureRecognizer.h:
4856 (QtPinchGestureRecognizer):
4857 * UIProcess/qt/QtTapGestureRecognizer.cpp:
4858 (WebKit::QtTapGestureRecognizer::withinDistance):
4859 (WebKit::QtTapGestureRecognizer::update):
4860 (WebKit::QtTapGestureRecognizer::cancel):
4862 (WebKit::QtTapGestureRecognizer::singleTapTimeout):
4863 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
4864 (WebKit::QtTapGestureRecognizer::reset):
4865 * UIProcess/qt/QtTapGestureRecognizer.h:
4866 (QtTapGestureRecognizer):
4867 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4869 * UIProcess/qt/QtViewportInteractionEngine.h:
4870 (QtViewportInteractionEngine):
4871 * UIProcess/qt/QtWebPageEventHandler.cpp:
4872 (QtWebPageEventHandler::resetGestureRecognizers):
4873 (QtWebPageEventHandler::doneWithTouchEvent):
4875 2012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4877 REGRESSION(r113172) Wheel events are scrolling inversed.
4878 https://bugs.webkit.org/show_bug.cgi?id=84156
4880 Reviewed by Simon Hausmann.
4882 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4883 (WebKit::QtViewportInteractionEngine::wheelEvent):
4885 2012-04-17 Balazs Kelemen <kbalazs@webkit.org>
4887 [Qt] Unreviewed ARM build fix
4889 * PluginProcess/qt/PluginProcessMainQt.cpp:
4890 (WebKit::PluginProcessMain): Export this function.
4892 2012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4894 [Qt] Zoom out on second double-tap.
4895 https://bugs.webkit.org/show_bug.cgi?id=84145
4897 Reviewed by Simon Hausmann.
4899 * UIProcess/qt/QtViewportInteractionEngine.cpp:
4900 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4901 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4902 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4903 * UIProcess/qt/QtViewportInteractionEngine.h:
4904 (QtViewportInteractionEngine):
4906 2012-04-17 Mariusz Grzegorczyk <mariusz.g@samsung.com>
4908 [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
4909 https://bugs.webkit.org/show_bug.cgi?id=83285
4911 Reviewed by Ryosuke Niwa.
4913 Surround code related to context menu with ENABLE(CONTEXT_MENUS) macro.
4914 Add dummy functions for public API implementation related to context menu.
4916 * Shared/API/c/WKContextMenuItem.cpp:
4917 (WKContextMenuItemGetTypeID):
4918 (WKContextMenuItemCreateAsAction):
4919 (WKContextMenuItemCreateAsCheckableAction):
4920 (WKContextMenuItemCreateAsSubmenu):
4921 (WKContextMenuItemSeparatorItem):
4922 (WKContextMenuItemGetTag):
4923 (WKContextMenuItemGetType):
4924 (WKContextMenuItemCopyTitle):
4925 (WKContextMenuItemGetEnabled):
4926 (WKContextMenuItemGetChecked):
4927 (WKContextMenuCopySubmenuItems):
4928 (WKContextMenuItemGetUserData):
4929 (WKContextMenuItemSetUserData):
4930 * Shared/WebContextMenuItem.cpp:
4931 * Shared/WebContextMenuItem.h:
4932 * Shared/WebContextMenuItemData.cpp:
4933 * Shared/WebContextMenuItemData.h:
4934 * UIProcess/API/C/WKPage.cpp:
4935 (WKPageSetPageContextMenuClient):
4936 * UIProcess/WebPageContextMenuClient.cpp:
4937 * UIProcess/WebPageContextMenuClient.h:
4938 * UIProcess/WebPageProxy.cpp:
4940 * UIProcess/WebPageProxy.h:
4942 * UIProcess/WebPageProxy.messages.in:
4943 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4944 (WKBundlePageSetContextMenuClient):
4945 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
4946 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
4947 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
4948 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
4949 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
4950 * WebProcess/WebPage/WebContextMenu.cpp:
4951 * WebProcess/WebPage/WebContextMenu.h:
4952 * WebProcess/WebPage/WebPage.cpp:
4953 (WebKit::WebPage::WebPage):
4955 (WebKit::handleMouseEvent):
4956 (WebKit::WebPage::mouseEvent):
4957 * WebProcess/WebPage/WebPage.h:
4959 * WebProcess/WebPage/WebPage.messages.in:
4961 2012-04-16 Ryuan Choi <ryuan.choi@samsung.com>
4963 [EFL][WK2] Add missing files to build webkit2/Efl.
4964 https://bugs.webkit.org/show_bug.cgi?id=76139
4966 Reviewed by Ryosuke Niwa.
4968 Add missing files needed to build webkit2/Efl.
4970 * Shared/efl/PlatformCertificateInfo.h: Added.
4972 (PlatformCertificateInfo):
4973 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
4974 (WebKit::PlatformCertificateInfo::encode):
4975 (WebKit::PlatformCertificateInfo::decode):
4976 * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Added.
4978 (WebKit::ThreadLauncher::createWebThread):
4980 2012-04-16 Brady Eidson <beidson@apple.com>
4982 Followup to http://trac.webkit.org/changeset/114323
4984 For more correctness, actually include an autorelease pool instead of cleverly trying to avoid its use.
4986 Reviewed by Mark Rowe.
4988 * PluginProcess/mac/PluginProcessMainMac.mm:
4989 (WebKit::PluginProcessMain):
4991 2012-04-16 Brady Eidson <beidson@apple.com>
4993 <rdar://problem/11238965> Leak in Plugin Process when launched 32-bit
4995 Reviewed by Jessie Berlin.
4997 * PluginProcess/mac/PluginProcessMainMac.mm:
4998 (WebKit::PluginProcessMain): alloc/init an NSDictionary then release it, instead of leaking an autoreleased one.
5000 2012-04-16 Anders Carlsson <andersca@apple.com>
5002 Nightly Back/Forward no longer calls plug-in's NPP_NewStream
5003 https://bugs.webkit.org/show_bug.cgi?id=83805
5004 <rdar://problem/11238748>
5006 Reviewed by Simon Fraser.
5008 When a page with a full-frame plug-in is restored from the page cache, it needs to re-fetch the plug-in stream.
5010 Fix this by breaking the assumption that a plug-in will always get its data from WebCore if it's a full-frame plug-in;
5011 instead it only get its data from WebCore if it's a full-frame plug-in that's not being restored from the page cache.
5013 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
5014 (WebKit::NetscapePlugin::NetscapePlugin):
5015 Rename m_loadManually to m_shouldUseManualLoader.
5017 (WebKit::NetscapePlugin::initialize):
5018 Get the mode from parameters.isFullFramePlugin instead.
5020 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
5021 (WebKit::NetscapePlugin::manualStreamDidReceiveData):
5022 (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
5023 (WebKit::NetscapePlugin::manualStreamDidFail):
5024 Rename m_loadManually to m_shouldUseManualLoader.
5026 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
5027 Rename m_loadManually to m_shouldUseManualLoader.
5029 * WebProcess/Plugins/Plugin.cpp:
5030 (WebKit::Plugin::Parameters::encode):
5031 (WebKit::Plugin::Parameters::decode):
5032 * WebProcess/Plugins/Plugin.h:
5034 Add an extra isFullFramePlugin parameter, and rename loadManually to shouldUseManualLoader.
5036 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5037 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
5038 Initialize m_frameCameFromPageCache.
5040 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
5041 Set m_frameCameFromPageCache to true.
5043 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
5044 Set m_frameCameFromPageCache to false.
5046 (WebKit::WebFrameLoaderClient::createPlugin):
5047 Initialize isFullFramePlugin and shouldUseManualLoader.
5049 2012-04-16 Alexey Proskuryakov <ap@apple.com>
5051 EndPrinting message should be sent synchronously when printing was initiated from DOM.
5052 https://bugs.webkit.org/show_bug.cgi?id=84049
5053 <rdar://problem/11096575>
5055 Reviewed by Oliver Hunt.
5057 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): When printing is
5058 initiated by WebProcess, all messages from UI process are sent synchronously to
5059 avoid being queued, and so should EndPrinting.
5061 2012-04-16 Brady Eidson <beidson@apple.com>
5063 <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
5064 WebKit2 back/forward items in the page cache are never removed when the page is closed
5066 Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
5068 Individual WebBackForwardListProxy's had no idea which items are associated with them.
5069 This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes.
5071 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
5072 (WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it.
5073 (WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs.
5074 (WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache.
5075 * WebProcess/WebPage/WebBackForwardListProxy.h:
5077 2012-04-16 Michał Pakuła vel Rutka <m.pakula@samsung.com>
5079 [EFL][WK2] Fix build break in PageClientImpl.cpp.
5080 https://bugs.webkit.org/show_bug.cgi?=id=84034
5082 Reviewed by Kenneth Rohde Christiansen.
5084 Fixes typo in didChangeViewportProperites definition.
5086 * UIProcess/API/efl/PageClientImpl.cpp:
5087 (WebKit::PageClientImpl::didChangeViewportProperties):
5089 2012-04-16 Yael Aharon <yael.aharon@nokia.com>
5091 [Qt][WK2] Fixed elements position is wrong after zooming.
5092 https://bugs.webkit.org/show_bug.cgi?id=83981
5094 Reviewed by Kenneth Rohde Christiansen.
5096 Turn on the flag setFixedElementsLayoutRelativeToFrame. This causes fixed elements position to be calculated based on
5097 visibleWidth and visibleHeight. When zoom level grows, the visibleWidth and visibleHeight become smaller.
5099 * WebProcess/WebPage/WebPage.cpp:
5100 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5102 2012-04-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
5104 [Qt] Clean up how the interaction engine is making use of ViewportAttributes
5105 https://bugs.webkit.org/show_bug.cgi?id=83895
5107 Reviewed by Simon Hausmann.
5109 Refactor how the interaction engine is using the ViewportAttributes
5110 and get rid of the Contraints subclass.
5112 Push the ViewportAttributes through to the QQuickWebViewPrivate class
5113 and add some default values in the case the Legacy view is used.
5115 * UIProcess/API/qt/qquickwebview.cpp:
5116 (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
5117 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5118 * UIProcess/API/qt/qquickwebview_p_p.h:
5119 (QQuickWebViewPrivate):
5120 * UIProcess/API/qt/qwebviewportinfo.cpp:
5121 (QWebViewportInfo::QWebViewportInfo):
5122 (QWebViewportInfo::~QWebViewportInfo):
5123 (QWebViewportInfo::currentScale):
5124 (QWebViewportInfo::devicePixelRatio):
5125 (QWebViewportInfo::initialScale):
5126 (QWebViewportInfo::minimumScale):
5127 (QWebViewportInfo::maximumScale):
5128 (QWebViewportInfo::isScalable):
5129 (QWebViewportInfo::layoutSize):
5130 * UIProcess/qt/QtViewportInteractionEngine.cpp:
5131 (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
5132 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
5133 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
5134 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
5135 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
5136 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
5137 (WebKit::QtViewportInteractionEngine::setCSSScaleBounds):
5138 (WebKit::QtViewportInteractionEngine::setCSSScale):
5139 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
5140 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
5141 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
5142 * UIProcess/qt/QtViewportInteractionEngine.h:
5143 (QtViewportInteractionEngine):
5144 (WebKit::QtViewportInteractionEngine::hadUserInteraction):
5145 (WebKit::QtViewportInteractionEngine::setAllowsUserScaling):
5146 (WebKit::QtViewportInteractionEngine::setContentToDevicePixelRatio):
5148 2012-04-15 Carlos Garcia Campos <cgarcia@igalia.com>
5150 [GTK] Use GRefPtr to delete the default web context in WebKit2 GTK+
5151 https://bugs.webkit.org/show_bug.cgi?id=83752
5153 Reviewed by Martin Robinson.
5155 * UIProcess/API/gtk/WebKitWebContext.cpp:
5156 (createDefaultWebContext):
5158 2012-04-13 Jer Noble <jer.noble@apple.com>
5160 Video at apple.com gets standard controls in addition to custom controls after returning from full screen
5161 https://bugs.webkit.org/show_bug.cgi?id=83939
5163 Reviewed by Eric Carlson.
5165 So that the media controls don't show up momentarily during full screen animations, call setAnimatingFullScreen(true)
5166 before calling will{Enter,Exit}FullScreen(), so that the CSS rule for full screen animation will be in effect
5169 Similarly, call setAnimatingFullScreen(false) after calling did{Enter,Exit}FullScreen, so that the full screen media
5170 controls don't momentarily appear at the end of an animation.
5172 * UIProcess/mac/WKFullScreenWindowController.mm:
5173 (-[WKFullScreenWindowController enterFullScreen:]):
5174 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
5175 (-[WKFullScreenWindowController exitFullScreen]):
5176 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
5178 2012-04-13 Anders Carlsson <andersca@apple.com>
5180 Make sure that we're using the right compiler for generating derived sources.
5182 Rubber-stamped by Dan Bernstein.
5184 * WebKit2.xcodeproj/project.pbxproj:
5186 2012-04-13 Anders Carlsson <andersca@apple.com>
5188 Include the error if we fail to initialize the web process sandbox
5189 https://bugs.webkit.org/show_bug.cgi?id=83927
5191 Reviewed by Alexey Proskuryakov.
5193 * WebProcess/mac/WebProcessMac.mm:
5194 (WebKit::initializeSandbox):
5196 2012-04-13 Brady Eidson <beidson@apple.com>
5198 <rdar://problem/11176921> and https://bugs.webkit.org/show_bug.cgi?id=83600
5199 Need WebKit2 API to notify whether history loads are in the page cache
5201 - Add a new WKBundlePageLoaderClient callback allowing the bundle to be notified
5202 of back/forward navigations (and deny them if it chooses)
5203 - Add a new API to WKBundleBackForwardListItem to probe if the item is in the page cache.
5205 Reviewed by Darin Adler.
5207 Add the new WKBundleBackForwardListItem API:
5208 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
5209 (WKBundleBackForwardListItemIsInPageCache):
5210 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
5211 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
5212 (WebKit::InjectedBundleBackForwardListItem::isInPageCache):
5214 Update the UI page loader client to allow for a user data object to be passed from the bundle:
5215 * UIProcess/API/C/WKPage.h:
5216 * UIProcess/WebLoaderClient.cpp:
5217 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Update a comment typo.
5218 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Update for the user data field.
5219 * UIProcess/WebLoaderClient.h:
5220 * UIProcess/WebPageProxy.cpp:
5221 (WebKit::WebPageProxy::willGoToBackForwardListItem):
5222 * UIProcess/WebPageProxy.h:
5223 * UIProcess/WebPageProxy.messages.in:
5225 Add the new callback to the bundle loader client:
5226 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
5227 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5228 (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
5229 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5230 (InjectedBundlePageLoaderClient):
5232 Call the bundle client before doing anything else, possibly canceling the navigation:
5233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5234 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
5236 * WebProcess/qt/QtBuiltinBundlePage.cpp:
5237 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage) Adopt new bundle client interface.
5239 2012-04-13 Dinu Jacob <dinu.jacob@nokia.com>
5241 [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5242 https://bugs.webkit.org/show_bug.cgi?id=82483
5244 Reviewed by Noam Rosenthal.
5246 This fixes API tests broken by r113715.
5248 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
5249 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
5250 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
5252 2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com>
5254 Unreviewed, rolling out r113714.
5255 http://trac.webkit.org/changeset/113714
5256 https://bugs.webkit.org/show_bug.cgi?id=83887
5258 It is behaving strange on the bots and needs more
5259 investigation. (Requested by jeez_ on #webkit).
5261 * UIProcess/qt/QtPageClient.cpp:
5262 (QtPageClient::isViewWindowActive):
5264 2012-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
5266 [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
5267 https://bugs.webkit.org/show_bug.cgi?id=83770
5269 Reviewed by Kenneth Rohde Christiansen.
5271 - Do the alignment on the highest level as possible: the QQuickFlickable content item
5272 position. It already supports this with setPixelAligned which rounds the content item's position.
5273 - Also move the setClip(true) to the common constructor as this constructor is currently only used by WTR.
5274 - Remove setFlags(QQuickItem::ItemClipsChildrenToShape) as it is redundant with setClip(true).
5276 * UIProcess/API/qt/qquickwebview.cpp:
5277 (QQuickWebViewPrivate::QQuickWebViewPrivate):
5278 (QQuickWebView::QQuickWebView):
5280 2012-04-12 Alexey Proskuryakov <ap@apple.com>
5282 Preprocessing text files with modern clang treats double slashes in comments
5283 https://bugs.webkit.org/show_bug.cgi?id=83827
5285 Reviewed by Mark Rowe.
5287 * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
5289 2012-04-12 Brent Fulgham <bfulgham@webkit.org>
5291 [WinCairo] Build fix after Windows export definition file change.
5293 * win/WebKit2CFLite.def: This file needs to be kept in sync with
5294 WebKit2.def (aside from the WebKitInterface exports.)
5296 2012-04-12 Bear Travis <betravis@adobe.com>
5298 [CSS Exclusions] Add flag to enable / disable exclusions at runtime
5299 https://bugs.webkit.org/show_bug.cgi?id=83313
5301 Reviewed by Ryosuke Niwa.
5303 Adding windows symbols
5306 * win/WebKit2CFLite.def:
5308 2012-04-12 Yael Aharon <yael.aharon@nokia.com>
5310 [Qt][WK2] Nested fixed elements scroll too fast
5311 https://bugs.webkit.org/show_bug.cgi?id=83720
5313 Reviewed by Noam Rosenthal.
5315 Set the fixedToViewport flag on the fixed position layers and adjust to
5316 the new function name for setting scrollPositionDelta.
5318 * UIProcess/WebLayerTreeRenderer.cpp:
5319 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5320 (WebKit::WebLayerTreeRenderer::setLayerState):
5322 2012-04-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
5324 Move viewport meta handling to the web process side
5325 https://bugs.webkit.org/show_bug.cgi?id=83771
5327 Reviewed by Simon Hausmann.
5329 Instead of computing the viewport attributes on both sides,
5330 we now do everything on the web process side, and just send
5331 over the computed result.
5333 * Scripts/webkit2/messages.py:
5336 * Shared/WebCoreArgumentCoders.cpp:
5337 (CoreIPC::::encode):
5338 (CoreIPC::::decode):
5339 * Shared/WebCoreArgumentCoders.h:
5341 * UIProcess/API/efl/PageClientImpl.cpp:
5342 (WebKit::PageClientImpl::didChangeViewportProperties):
5343 * UIProcess/API/efl/PageClientImpl.h:
5345 * UIProcess/API/gtk/PageClientImpl.cpp:
5346 (WebKit::PageClientImpl::didChangeViewportProperties):
5347 * UIProcess/API/gtk/PageClientImpl.h:
5349 * UIProcess/API/mac/PageClientImpl.h:
5351 * UIProcess/API/mac/PageClientImpl.mm:
5352 (WebKit::PageClientImpl::didChangeViewportProperties):
5353 * UIProcess/API/qt/qquickwebview.cpp:
5354 (QQuickWebViewPrivate::didRelaunchProcess):
5355 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5356 (QQuickWebViewFlickablePrivate::updateViewportSize):
5357 * UIProcess/API/qt/qquickwebview_p_p.h:
5358 (QQuickWebViewPrivate::didChangeViewportProperties):
5359 (QQuickWebViewPrivate):
5360 (QQuickWebViewFlickablePrivate):
5361 * UIProcess/PageClient.h:
5364 * UIProcess/WebPageProxy.cpp:
5365 (WebKit::WebPageProxy::didChangeViewportProperties):
5366 * UIProcess/WebPageProxy.h:
5369 * UIProcess/WebPageProxy.messages.in:
5370 * UIProcess/qt/QtPageClient.cpp:
5371 (QtPageClient::didChangeViewportProperties):
5372 * UIProcess/qt/QtPageClient.h:
5374 * UIProcess/win/WebView.cpp:
5375 (WebKit::WebView::didChangeViewportProperties):
5376 * UIProcess/win/WebView.h:
5378 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
5379 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
5381 * WebProcess/WebPage/WebPage.cpp:
5382 (WebKit::WebPage::sendViewportAttributesChanged):
5384 (WebKit::WebPage::setViewportSize):
5385 * WebProcess/WebPage/WebPage.h:
5388 2012-04-12 Zalan Bujtas <zbujtas@gmail.com>
5390 [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
5391 https://bugs.webkit.org/show_bug.cgi?id=83428
5393 Reviewed by Kenneth Rohde Christiansen.
5395 When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
5396 coordinates. It is already done at ScrollView base class and this patch copies the logic to the
5398 Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
5400 * WebProcess/WebPage/WebPage.cpp:
5401 (WebKit::WebPage::highlightPotentialActivation):
5402 (WebKit::WebPage::findZoomableAreaForPoint):
5404 2012-04-11 Andy Estes <aestes@apple.com>
5406 Remove an autorelease pool made redundant by r113923.
5407 https://bugs.webkit.org/show_bug.cgi?id=83730
5409 Reviewed by Dan Bernstein.
5411 Remove flushLayer()'s autorelease pool, since one now exists in the
5412 call frame above it (in LayerFlushScheduler::runLoopObserverCallback()).
5414 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
5415 (WebKit::LayerTreeHostCAMac::flushLayers):
5417 2012-04-11 Carlos Garcia Campos <cgarcia@igalia.com>
5419 [GTK] Initial cookies API for WebKit2 GTK+ API
5420 https://bugs.webkit.org/show_bug.cgi?id=82441
5422 Reviewed by Gustavo Noronha Silva.
5424 * GNUmakefile.am: Add new files to compilation.
5425 * UIProcess/API/gtk/WebKitCookieManager.cpp: Added.
5426 (webkit_cookie_manager_init):
5427 (webkitCookieManagerFinalize):
5428 (webkit_cookie_manager_class_init):
5429 (webkitCookieManagerCreate): Create a new WebKitCookieManager for
5430 the given WKCookieManagerRef.
5431 (webkit_cookie_manager_set_accept_policy): Set the cookie
5433 (webkitCookieManagerGetAcceptPolicyCallback): Callback called by
5434 the C API when the cookie acceptance policy has been received.
5435 (webkit_cookie_manager_get_accept_policy): Asynchronously get the
5436 cookie acceptance policy.
5437 (webkit_cookie_manager_get_accept_policy_finish): Finish async
5438 operation started by webkit_cookie_manager_get_accept_policy()
5439 returning the cookie acceptance policy.
5440 (webkitCookieManagerGetDomainsWithCookiesCallback): Callback
5441 called by the C API when the list of hostnames with cookies has
5443 (webkit_cookie_manager_get_domains_with_cookies): Asynchronously
5444 get the list of domains with cookies.
5445 (webkit_cookie_manager_get_domains_with_cookies_finish): Finish
5446 async operation started by
5447 webkit_cookie_manager_get_domains_with_cookies() returning the
5449 (webkit_cookie_manager_delete_cookies_for_domain): Delete all
5450 cookies for the given domain.
5451 (webkit_cookie_manager_delete_all_cookies): Delete all cookies.
5452 * UIProcess/API/gtk/WebKitCookieManager.h: Added.
5453 * UIProcess/API/gtk/WebKitCookieManagerPrivate.h: Added.
5454 * UIProcess/API/gtk/WebKitWebContext.cpp:
5455 (webkit_web_context_get_cookie_manager): Get the
5456 WebKitCookieManager associated with the web context.
5457 * UIProcess/API/gtk/WebKitWebContext.h:
5458 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
5459 WebKitCookieManager.
5460 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
5461 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
5462 webkit_cookie_manager_get_type.
5463 * UIProcess/API/gtk/tests/GNUmakefile.am:
5464 * UIProcess/API/gtk/tests/TestCookieManager.cpp: Added.
5465 (testCookieManagerAcceptPolicy):
5466 (testCookieManagerDeleteCookies):
5470 * UIProcess/API/gtk/webkit2.h: Include WebKitCookieManager.h.
5472 2012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
5474 [Qt] InspectorServer: Add an API level auto test
5475 https://bugs.webkit.org/show_bug.cgi?id=83594
5477 Reviewed by Kenneth Rohde Christiansen.
5479 This tests InspectorServer and WebSocketServer.
5481 * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Added.
5482 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Added.
5483 (tst_InspectorServer):
5484 (tst_InspectorServer::tst_InspectorServer):
5485 (tst_InspectorServer::prepareWebViewComponent):
5486 (tst_InspectorServer::newWebView):
5487 (tst_InspectorServer::init):
5488 (tst_InspectorServer::cleanup):
5489 (tst_InspectorServer::webView):
5490 (tst_InspectorServer::fetchPageList):
5491 (tst_InspectorServer::testPageList): This tests that pages with developerExtrasEnabled appear available for inspection.
5492 (tst_InspectorServer::testRemoteDebuggingMessage): This tests a web socket connection using a raw inspector command.
5493 (tst_InspectorServer::openRemoteDebuggingSession): This tests the whole pipeline by starting a remote inspection session.
5494 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5495 (tst_QQuickWebView):
5496 (tst_QQuickWebView::prepareWebViewComponent):
5497 * UIProcess/API/qt/tests/tests.pri:
5498 * UIProcess/API/qt/tests/util.cpp:
5499 (LoadStartedCatcher::LoadStartedCatcher):
5500 (LoadStartedCatcher::onLoadingChanged):
5501 * UIProcess/API/qt/tests/util.h:
5502 (LoadStartedCatcher):
5504 2012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
5506 [Qt] InspectorServer: Improve the JSON page list's parameter names
5507 https://bugs.webkit.org/show_bug.cgi?id=83592
5509 Reviewed by Simon Hausmann.
5511 - Add "id" that would be needed to build the URL when using local front-end resources
5512 (and will be used by tests)
5513 - Rename description to "title", the description contains both the title and URL on the final list
5514 - Rename inspectorLocation to "inspectorUrl" to match with the url parameter.
5516 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
5517 (WebKit::WebInspectorServer::buildPageList):
5518 * qt/Resources/inspectorPageIndex.html:
5520 2012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
5522 [Qt] Fix issues when using the WebView as ShaderEffectSource
5523 https://bugs.webkit.org/show_bug.cgi?id=83587
5525 Reviewed by Noam Rosenthal.
5527 Qt is going to mirror the projection matrix when the shader effect source
5528 is grabbed. Detect that the matrix is mirrored and pass on this information
5529 to TextureMapper so that it can do the same.
5531 * UIProcess/WebLayerTreeRenderer.cpp:
5532 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5533 * UIProcess/WebLayerTreeRenderer.h:
5534 (WebLayerTreeRenderer):
5535 * UIProcess/qt/QtWebPageSGNode.cpp:
5536 (WebKit::ContentsSGNode::render):
5538 2012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
5540 [Qt] Remove unnecessary rendering code
5541 https://bugs.webkit.org/show_bug.cgi?id=83591
5543 Reviewed by Noam Rosenthal.
5545 - Remove code that isn't needed since the introduction of WebLayerTreeRenderer
5546 - Remove TextureMapper::bindSurface(0) calls following beginPainting, which calls it itself.
5548 * UIProcess/API/qt/qquickwebpage.cpp:
5549 (QQuickWebPagePrivate::paint):
5550 * UIProcess/API/qt/qquickwebpage_p_p.h:
5551 (QQuickWebPagePrivate):
5552 * UIProcess/DrawingAreaProxy.h:
5553 * UIProcess/DrawingAreaProxyImpl.cpp:
5554 * UIProcess/DrawingAreaProxyImpl.h:
5555 (DrawingAreaProxyImpl):
5556 * UIProcess/LayerTreeHostProxy.cpp:
5557 * UIProcess/LayerTreeHostProxy.h:
5558 (LayerTreeHostProxy):
5559 * UIProcess/WebLayerTreeRenderer.cpp:
5560 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5561 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
5563 2012-04-10 Carlos Garcia Campos <cgarcia@igalia.com>
5565 Unreviewed. Fix make distcheck issues.
5567 * GNUmakefile.am: Add missing header file.
5569 2012-04-10 Mark Rowe <mrowe@apple.com>
5571 <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
5573 Replace direct calls to fprintf stderr with calls to WTFLogAlways.
5575 Reviewed by Sam Weinig.
5577 * PluginProcess/mac/PluginProcessMainMac.mm:
5578 (WebKit::PluginProcessMain):
5579 * UIProcess/WebProcessProxy.cpp:
5580 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
5581 (WebKit::WebProcessProxy::didReceiveInvalidMessage):
5582 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
5583 (WebKit::InjectedBundle::load):
5584 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
5585 (readSandboxProfile):
5587 * WebProcess/mac/WebProcessMac.mm:
5588 (WebKit::initializeSandbox):
5589 * WebProcess/mac/WebProcessMainMac.mm:
5590 (WebKit::WebProcessMain):
5592 2012-04-10 Yael Aharon <yael.aharon@nokia.com>
5594 Unreviewed build fix after r113791.
5596 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5597 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5599 2012-04-10 Yael Aharon <yael.aharon@nokia.com>
5601 Initial support for fixed position elements in Qt WebKit2
5602 https://bugs.webkit.org/show_bug.cgi?id=81786
5604 Reviewed by Noam Rosenthal.
5606 Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout.
5607 As we scroll, we keep track of the delta in scroll position between the UI and web processes,
5608 and adjust the position of all the fixed layers by that delta.
5609 When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending,
5610 and commit the new scroll position in flushLayerChanges.
5611 This patch does not address scrolling overshoot and it does not fix the wrong positioning
5612 that occurs when we zoom. These issues will be addressed in future patches.
5614 * Shared/WebLayerTreeInfo.h:
5615 * UIProcess/API/qt/qquickwebpage.cpp:
5616 (QQuickWebPagePrivate::updateSize):
5617 * UIProcess/LayerTreeHostProxy.cpp:
5618 (WebKit::LayerTreeHostProxy::setContentsSize):
5620 (WebKit::LayerTreeHostProxy::renderNextFrame):
5621 (WebKit::LayerTreeHostProxy::didChangeScrollPosition):
5622 * UIProcess/LayerTreeHostProxy.h:
5623 (LayerTreeHostProxy):
5624 * UIProcess/LayerTreeHostProxy.messages.in:
5625 * UIProcess/WebLayerTreeRenderer.cpp:
5626 (WebKit::boundedScrollPosition):
5628 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5629 (WebKit::WebLayerTreeRenderer::setContentsSize):
5630 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5631 (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
5632 (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5633 (WebKit::WebLayerTreeRenderer::deleteLayer):
5634 (WebKit::WebLayerTreeRenderer::flushLayerChanges):
5635 * UIProcess/WebLayerTreeRenderer.h:
5636 (WebLayerTreeRenderer):
5637 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5638 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5639 (WebCore::WebGraphicsLayer::syncCompositingState):
5640 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5641 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5642 (WebGraphicsLayerClient):
5643 (WebCore::WebGraphicsLayer::fixedToViewport):
5644 (WebCore::WebGraphicsLayer::setFixedToViewport):
5646 * WebProcess/WebPage/WebPage.cpp:
5647 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5648 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5649 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
5650 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
5651 (WebKit::updateOffsetFromViewportForSelf):
5653 (WebKit::updateOffsetFromViewportForLayer):
5654 (WebKit::LayerTreeHostQt::syncFixedLayers):
5655 (WebKit::LayerTreeHostQt::setVisibleContentsRect):
5656 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5659 2012-04-10 Anders Carlsson <andersca@apple.com>
5661 Fix fast/images/exif-orientation.html WebKitTestRunner failure
5662 https://bugs.webkit.org/show_bug.cgi?id=83627
5664 Reviewed by Sam Weinig.
5666 Handle overriding the WebKitShouldRespectImageOrientation preference.
5668 * WebProcess/InjectedBundle/InjectedBundle.cpp:
5669 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5671 2012-04-10 No'am Rosenthal <noam.rosenthal@nokia.com>
5673 [Qt][WK2] Manage graphics buffers in the web process
5674 https://bugs.webkit.org/show_bug.cgi?id=78675
5676 Added ShareableSurface, a class allowing the use of GPU-enabled
5677 surfaces for bitmap transfer between the web and UI processes.
5678 Since GraphicsSurfaces may not always be available, ShareableSurface
5679 uses a standard ShareableBitmap as a fallback backend.
5681 The necessary plumbing was added in WebKit2 for passing updates via
5682 ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was
5683 added, as to not make UpdateInfo more complicated.
5685 Reviewed by Kenneth Rohde Christiansen.
5687 * Shared/ShareableSurface.cpp: Added.
5688 * Shared/ShareableSurface.h: Added.
5689 * Shared/SurfaceUpdateInfo.cpp: Added.
5690 * Shared/SurfaceUpdateInfo.h: Added.
5692 * UIProcess/LayerTreeHostProxy.cpp:
5693 (WebKit::LayerTreeHostProxy::createTileForLayer):
5694 (WebKit::LayerTreeHostProxy::updateTileForLayer):
5695 * UIProcess/LayerTreeHostProxy.h:
5696 (LayerTreeHostProxy):
5697 * UIProcess/LayerTreeHostProxy.messages.in:
5698 * UIProcess/WebLayerTreeRenderer.cpp:
5699 (WebKit::WebLayerTreeRenderer::updateTile):
5700 * UIProcess/WebLayerTreeRenderer.h:
5702 (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5703 * UIProcess/qt/LayerBackingStore.cpp:
5704 (WebKit::LayerBackingStoreTile::swapBuffers):
5705 (WebKit::LayerBackingStoreTile::setBackBuffer):
5706 (WebKit::LayerBackingStore::updateTile):
5707 * UIProcess/qt/LayerBackingStore.h:
5708 (LayerBackingStoreTile):
5709 (LayerBackingStore):
5710 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5711 (WebCore::WebGraphicsLayer::beginContentUpdate):
5712 (WebCore::WebGraphicsLayer::createTile):
5713 (WebCore::WebGraphicsLayer::updateTile):
5714 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5715 (WebGraphicsLayerClient):
5717 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5718 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5719 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5721 (TiledBackingStoreRemoteTileClient):
5722 * WebProcess/WebPage/UpdateAtlas.cpp:
5723 (WebKit::UpdateAtlas::UpdateAtlas):
5724 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
5725 * WebProcess/WebPage/UpdateAtlas.h:
5726 (WebKit::UpdateAtlas::surface):
5727 (WebKit::UpdateAtlas::size):
5728 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5729 (WebKit::LayerTreeHostQt::createTile):
5730 (WebKit::LayerTreeHostQt::updateTile):
5731 (WebKit::LayerTreeHostQt::beginContentUpdate):
5732 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5735 2012-04-10 Patrick Gansterer <paroga@webkit.org>
5737 [CMake] Enable USE_FOLDERS property
5738 https://bugs.webkit.org/show_bug.cgi?id=83571
5740 Reviewed by Daniel Bates.
5742 Setting the FOLDER property on targets gives more structure
5743 to the generated Visual Studio solutions.
5744 This does not affect other CMake generators.
5748 2012-04-10 Dinu Jacob <dinu.jacob@nokia.com>
5750 [Qt][WK2] Assertion failure on loading new page after panning/zooming
5751 https://bugs.webkit.org/show_bug.cgi?id=83049
5753 Reviewed by Kenneth Rohde Christiansen.
5755 When handling contents size change, set the visible content rectangle immediately,
5756 instead of animating to it.
5758 * UIProcess/qt/QtViewportInteractionEngine.cpp:
5759 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
5761 2012-04-10 Dinu Jacob <dinu.jacob@nokia.com>
5763 [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5764 https://bugs.webkit.org/show_bug.cgi?id=82483
5766 Reviewed by Kenneth Rohde Christiansen.
5768 titleChanged signal is not emitted on comitting a new load.
5770 * UIProcess/API/qt/tests/html/basic_page.html:
5771 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5772 (tst_QQuickWebView):
5773 (tst_QQuickWebView::titleUpdate):
5774 * UIProcess/qt/QtWebPageLoadClient.cpp:
5775 (QtWebPageLoadClient::didCommitLoadForFrame):
5777 2012-04-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
5779 [Qt][WK2] Implement PageClient::isViewWindowActive()
5780 https://bugs.webkit.org/show_bug.cgi?id=81143
5782 Reviewed by Kenneth Rohde Christiansen.
5784 This patch implements PageClient::isViewWindowActive()
5785 now that QQuickCanvas::isActive() is available (from QWindow).
5787 * UIProcess/qt/QtPageClient.cpp:
5788 (QtPageClient::isViewWindowActive):
5790 2012-04-10 Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos <cgarcia@igalia.com>
5792 [WK2][GTK] FullScreen signals
5793 https://bugs.webkit.org/show_bug.cgi?id=76166
5795 Reviewed by Gustavo Noronha Silva.
5797 * GNUmakefile.am: Add new files to compilation.
5798 * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
5799 (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase
5801 * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
5802 * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added.
5803 (willEnterFullScreen): Call webkitWebViewEnterFullScreen().
5804 (willExitFullScreen): Call webkitWebViewLeaveFullScreen().
5805 (attachFullScreenClientToView): Initialize FullScreenClient adding
5806 implementations for willEnterFullScreen and willExitFullScreen callbacks.
5807 * UIProcess/API/gtk/WebKitFullscreenClient.h: Added.
5808 * UIProcess/API/gtk/WebKitPrivate.h:
5809 * UIProcess/API/gtk/WebKitWebView.cpp:
5810 (webkitWebViewConstructed): Attach fullscreen client to view.
5811 (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen
5812 and WebKitWebView::leave-fullscreen signals.
5813 (webkitWebViewEnterFullScreen): Emit
5814 WebKitWebView::enter-fullscreen signal.
5815 (webkitWebViewLeaveFullScreen): Emit
5816 WebKitWebView::leave-fullscreen signal.
5817 * UIProcess/API/gtk/WebKitWebView.h:
5818 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
5819 (webkitWebViewBaseKeyPressEvent): Only return early when leaving
5820 fullscreen, otherwise let the view process the key pressed.
5821 (webkitWebViewBaseEnterFullScreen): Return early if
5822 willEnterFullScreen callback is handled and returns false.
5823 (webkitWebViewBaseExitFullScreen): Return early if
5824 willExitFullScreen callback is handled and returns false.
5825 (webkitWebViewBaseInitializeFullScreenClient): Initialize the
5827 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
5828 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
5829 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
5830 (testWebViewFullScreen):
5832 * UIProcess/API/gtk/tests/WebViewTest.cpp:
5833 (WebViewTest::keyStroke): Helper function to synthesize key
5834 press/release events.
5835 * UIProcess/API/gtk/tests/WebViewTest.h:
5836 * UIProcess/API/gtk/webkit2marshal.list:
5837 * UIProcess/gtk/WebFullScreenClientGtk.cpp:
5838 (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call
5839 willEnterFullScreen callback if defined.
5840 (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call
5841 willExitFullScreen callback if defined.
5842 * UIProcess/gtk/WebFullScreenClientGtk.h:
5844 2012-04-10 Patrick Gansterer <paroga@webkit.org>
5846 [CMake] Add missing source files to build system
5850 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
5852 [WK2] Enable using a single ShareableBitmap for multiple updates
5853 https://bugs.webkit.org/show_bug.cgi?id=83424
5855 Reviewed by Kenneth Rohde Christiansen.
5857 Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
5858 Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
5859 Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
5861 In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
5862 either available or used. When the buffers are swapped, all used buffers become available
5863 again. A future enhancement might allow triple-buffering, where available rects can be
5864 updated while other rects from the same atlas are in use.
5866 Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
5867 UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
5868 alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
5869 the update would be postponed to the next frame, creating a tiling-artifact in low memory
5872 * Shared/UpdateInfo.cpp:
5873 (WebKit::UpdateInfo::encode):
5874 (WebKit::UpdateInfo::decode):
5875 * Shared/UpdateInfo.h:
5878 * UIProcess/LayerTreeHostProxy.cpp:
5879 (WebKit::LayerTreeHostProxy::updateTileForLayer):
5880 * UIProcess/WebLayerTreeRenderer.cpp:
5881 (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5882 (WebKit::WebLayerTreeRenderer::updateTile):
5883 (WebKit::WebLayerTreeRenderer::createImage):
5884 * UIProcess/WebLayerTreeRenderer.h:
5886 (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5887 (WebLayerTreeRenderer):
5888 * UIProcess/qt/LayerBackingStore.cpp:
5889 (WebKit::LayerBackingStoreTile::swapBuffers):
5890 (WebKit::LayerBackingStoreTile::setBackBuffer):
5891 (WebKit::LayerBackingStore::createTile):
5892 * UIProcess/qt/LayerBackingStore.h:
5893 (LayerBackingStoreTile):
5894 (LayerBackingStore):
5895 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5896 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
5897 (WebCore::WebGraphicsLayer::beginContentUpdate):
5899 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5900 (WebGraphicsLayerClient):
5902 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5903 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5904 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5905 (TiledBackingStoreRemoteTileClient):
5906 * WebProcess/WebPage/UpdateAtlas.cpp: Added.
5908 (WebKit::UpdateAtlas::UpdateAtlas):
5909 (WebKit::nextPowerOfTwo):
5910 (WebKit::UpdateAtlas::buildLayoutIfNeeded):
5911 (WebKit::UpdateAtlas::findAvailableIndex):
5912 (WebKit::UpdateAtlas::didSwapBuffers):
5913 (WebKit::UpdateAtlas::acquireScratchBuffer):
5914 (WebKit::UpdateAtlas::offsetForIndex):
5915 * WebProcess/WebPage/UpdateAtlas.h: Added.
5919 (WebKit::UpdateAtlas::bitmap):
5920 (WebKit::UpdateAtlas::size):
5921 (WebKit::UpdateAtlas::flags):
5922 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5923 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
5924 (WebKit::LayerTreeHostQt::renderNextFrame):
5925 (WebKit::LayerTreeHostQt::purgeBackingStores):
5927 (WebKit::LayerTreeHostQt::getAtlas):
5928 (WebKit::LayerTreeHostQt::beginContentUpdate):
5929 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5932 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
5934 [Qt][WK2] Sync the layer's state and the layer's children separately
5935 https://bugs.webkit.org/show_bug.cgi?id=82534
5937 Reviewed by Kenneth Rohde Christiansen.
5939 Switched the WebLayerInfo struct, which includes a single layer's state,
5940 to use only POD types that can be serialized via SimpleArgumentCoder.
5941 To allow POD-serialization, we serialize the children IDs in a seperate
5942 message (SetLayerChildren), and only when the tree layout has actually
5945 * Shared/WebLayerTreeInfo.cpp:
5946 (WebKit::WebLayerInfo::encode):
5947 (WebKit::WebLayerInfo::decode):
5948 * Shared/WebLayerTreeInfo.h:
5949 (WebKit::WebLayerInfo::WebLayerInfo):
5950 * UIProcess/LayerTreeHostProxy.cpp:
5951 (WebKit::LayerTreeHostProxy::setCompositingLayerState):
5953 (WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
5954 * UIProcess/LayerTreeHostProxy.h:
5955 (LayerTreeHostProxy):
5956 * UIProcess/LayerTreeHostProxy.messages.in:
5957 * UIProcess/WebLayerTreeRenderer.cpp:
5958 (WebKit::WebLayerTreeRenderer::setLayerChildren):
5960 (WebKit::WebLayerTreeRenderer::setLayerState):
5961 * UIProcess/WebLayerTreeRenderer.h:
5962 (WebLayerTreeRenderer):
5963 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5964 (WebCore::WebGraphicsLayer::didChangeLayerState):
5966 (WebCore::WebGraphicsLayer::didChangeChildren):
5967 (WebCore::WebGraphicsLayer::didChangeGeometry):
5968 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5969 (WebCore::WebGraphicsLayer::setChildren):
5970 (WebCore::WebGraphicsLayer::addChild):
5971 (WebCore::WebGraphicsLayer::addChildAtIndex):
5972 (WebCore::WebGraphicsLayer::addChildAbove):
5973 (WebCore::WebGraphicsLayer::addChildBelow):
5974 (WebCore::WebGraphicsLayer::replaceChild):
5975 (WebCore::WebGraphicsLayer::removeFromParent):
5976 (WebCore::WebGraphicsLayer::setDrawsContent):
5977 (WebCore::WebGraphicsLayer::setContentsOpaque):
5978 (WebCore::WebGraphicsLayer::setBackfaceVisibility):
5979 (WebCore::WebGraphicsLayer::setOpacity):
5980 (WebCore::WebGraphicsLayer::setContentsRect):
5981 (WebCore::WebGraphicsLayer::setContentsToImage):
5982 (WebCore::WebGraphicsLayer::setMaskLayer):
5983 (WebCore::WebGraphicsLayer::setReplicatedByLayer):
5984 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
5985 (WebCore::WebGraphicsLayer::id):
5986 (WebCore::WebGraphicsLayer::syncChildren):
5987 (WebCore::WebGraphicsLayer::syncLayerState):
5988 (WebCore::WebGraphicsLayer::syncImageBackingStore):
5989 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5990 (WebCore::WebGraphicsLayer::setRootLayer):
5991 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5992 (WebGraphicsLayerClient):
5994 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5995 (WebKit::LayerTreeHostQt::syncLayerState):
5997 (WebKit::LayerTreeHostQt::syncLayerChildren):
5998 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
6001 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
6003 [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
6004 https://bugs.webkit.org/show_bug.cgi?id=75780
6006 Reviewed by Kenneth Rohde Christiansen.
6008 Remove the ui-side animation code, and return false from addAnimation so that web-side
6011 * Shared/WebLayerTreeInfo.cpp:
6013 * Shared/WebLayerTreeInfo.h:
6015 * UIProcess/WebLayerTreeRenderer.cpp:
6016 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
6017 (WebKit::WebLayerTreeRenderer::setLayerState):
6018 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6019 (WebCore::WebGraphicsLayer::didChangeGeometry):
6020 (WebCore::WebGraphicsLayer::syncLayerState):
6021 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
6022 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6025 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
6027 [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
6028 https://bugs.webkit.org/show_bug.cgi?id=82522
6030 Reviewed by Kenneth Rohde Christiansen.
6032 Currently we set the m_modified flags for all of the descendants of a layer
6033 that has changed its geometry. This causes unnecessary layer sync messages.
6034 Instead, we only sync when the actual layer has changed, and add a flag
6035 called m_shouldUpdateVisibleRect that applies to descendants of a layer
6036 that has a modified geometry.
6038 * Shared/WebLayerTreeInfo.h:
6039 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6040 (WebCore::WebGraphicsLayer::didChangeChildren):
6042 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6043 (WebCore::WebGraphicsLayer::didChangeGeometry):
6044 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
6045 (WebCore::WebGraphicsLayer::setPosition):
6046 (WebCore::WebGraphicsLayer::setAnchorPoint):
6047 (WebCore::WebGraphicsLayer::setSize):
6048 (WebCore::WebGraphicsLayer::setTransform):
6049 (WebCore::WebGraphicsLayer::setChildrenTransform):
6050 (WebCore::WebGraphicsLayer::setPreserves3D):
6051 (WebCore::WebGraphicsLayer::setContentsToImage):
6052 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
6053 (WebCore::WebGraphicsLayer::syncImageBackingStore):
6054 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
6055 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
6056 (WebCore::WebGraphicsLayer::setRootLayer):
6057 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
6058 (WebCore::WebGraphicsLayer::setContentsScale):
6059 (WebCore::WebGraphicsLayer::effectiveContentsScale):
6060 (WebCore::WebGraphicsLayer::adjustContentsScale):
6061 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6064 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
6066 [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
6067 https://bugs.webkit.org/show_bug.cgi?id=82533
6069 Reviewed by Kenneth Rohde Christiansen.
6071 No change in behavior, removing some #defines.
6073 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6074 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6075 (WebCore::WebGraphicsLayer::adjustContentsScale):
6076 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6078 * WebProcess/WebPage/LayerTreeHost.h:
6080 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
6081 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
6082 (WebKit::LayerTreeHostQt::detachLayer):
6084 2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
6086 [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
6087 https://bugs.webkit.org/show_bug.cgi?id=82523
6089 Reviewed by Kenneth Rohde Christiansen.
6091 Always use contentsScale of 1 and a full visibleContentsRect when
6092 the layer's transform is not affine. That's because layer's with
6093 complex transform would not gain from the benefit of contents scaling,
6094 and might also create unexpected layer content sizes.
6096 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6097 (WebCore::WebGraphicsLayer::createBackingStore):
6099 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
6100 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
6101 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
6102 (WebCore::WebGraphicsLayer::updateTile):
6103 (WebCore::WebGraphicsLayer::removeTile):
6104 (WebCore::WebGraphicsLayer::updateContentBuffers):
6105 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6108 2012-04-09 Zalan Bujtas <zbujtas@gmail.com>
6110 [Qt][WK2] Fail to activate links after double tap gesture.
6111 https://bugs.webkit.org/show_bug.cgi?id=83468
6113 Reviewed by Kenneth Rohde Christiansen.
6115 After a recognized double tap gesture, QtTapGestureRecognizer
6116 gets stuck in the double-tap state. Only tapping outside of
6117 the double tap radius cancels it.
6118 Call reset() to set the default state back.
6120 * UIProcess/qt/QtTapGestureRecognizer.cpp:
6121 (WebKit::QtTapGestureRecognizer::recognize):
6123 ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
6125 2012-04-07 Patrick Gansterer <paroga@webkit.org>
6127 [CMake] Cleanup WTF include directories
6128 https://bugs.webkit.org/show_bug.cgi?id=82716
6130 Reviewed by Eric Seidel.
6134 2012-04-06 Jon Lee <jonlee@apple.com>
6136 Build fix for Windows bots.
6138 * win/WebKit2.def: Add missing export symbol.
6140 2012-04-06 Hironori Bono <hbono@chromium.org>
6142 REGRESSION: Cannot write a word with Korean double consonant
6143 https://bugs.webkit.org/show_bug.cgi?id=81186
6145 Reviewed by Dan Bernstein.
6147 WebKit change r103859 posts fake mouse-move events when the keyboard status is
6148 changed. Unfortunately, these mouse events go to input methods and confuse a
6149 Korean input method. This change directly calls handleMouseEvent() instead of
6150 -mouseMoved: to prevent sending these fake events to input methods.
6152 * UIProcess/API/mac/WKView.mm:
6153 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
6155 2012-04-06 Alexey Proskuryakov <ap@apple.com>
6157 [Mac] Adopt a different method of telling AppKit when inline input isn't supported
6158 https://bugs.webkit.org/show_bug.cgi?id=83408
6159 <rdar://problem/9205734>
6161 Reviewed by Adele Peterson.
6163 * UIProcess/API/mac/WKTextInputWindowController.mm:
6164 (-[WKTextInputView validAttributesForMarkedText]):
6165 (-[WKTextInputPanel init]):
6166 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment
6169 2012-04-06 Jer Noble <jer.noble@apple.com>
6171 WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus.
6172 https://bugs.webkit.org/show_bug.cgi?id=83388
6174 Reviewed by Geoffrey Garen.
6176 Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if
6177 one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
6178 Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
6179 and add that check to WebFullScreenManagerProxy::isFullScreen().
6181 * UIProcess/API/mac/WKView.mm:
6182 (-[WKView hasFullScreenWindowController]):
6183 * UIProcess/API/mac/WKViewInternal.h:
6184 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6185 (WebKit::WebFullScreenManagerProxy::isFullScreen):
6187 2012-04-06 Tim Horton <timothy_horton@apple.com>
6189 Add autodetection of image orientation from EXIF information
6190 https://bugs.webkit.org/show_bug.cgi?id=19688
6191 <rdar://problem/4126979> and <rdar://problem/11091578>
6193 Original patch by David Carson and Eric Seidel.
6195 Reviewed by Simon Fraser.
6197 Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
6199 * Shared/WebPreferencesStore.h:
6201 * UIProcess/API/C/WKPreferences.cpp:
6202 (WKPreferencesSetShouldRespectImageOrientation):
6203 (WKPreferencesGetShouldRespectImageOrientation):
6204 * UIProcess/API/C/WKPreferences.h:
6205 * WebProcess/WebPage/WebPage.cpp:
6206 (WebKit::WebPage::updatePreferences):
6208 2012-04-06 Dan Bernstein <mitz@apple.com>
6210 <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
6212 Reviewed by Sam Weinig.
6214 * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
6216 2012-04-05 Anders Carlsson <andersca@apple.com>
6218 Crash when switching to a tab with plug-ins
6219 https://bugs.webkit.org/show_bug.cgi?id=83339
6220 <rdar://problem/11183338>
6222 Reviewed by Oliver Hunt.
6224 Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.
6226 * WebProcess/Plugins/PluginView.cpp:
6227 (WebKit::PluginView::setLayerHostingMode):
6229 2012-04-05 Dean Jackson <dino@apple.com>
6231 [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6232 https://bugs.webkit.org/show_bug.cgi?id=76105
6234 Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
6235 This means a Page might start requestAnimationFrame-based animations
6236 even when it isn't visible. This should only happen when a Page is
6237 opened in the background though. The regular hide and show should still
6240 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6241 (WebKit::DrawingAreaImpl::resumePainting):
6243 2012-04-05 Dean Jackson <dino@apple.com>
6245 [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6246 https://bugs.webkit.org/show_bug.cgi?id=76105
6248 Reviewed by Simon Fraser.
6250 When we are resuming painting only start the scripted animations
6251 if we're a visible window. This can happen when tabs are opened
6254 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6255 (WebKit::DrawingAreaImpl::resumePainting):
6257 2012-04-05 Patrick Gansterer <paroga@webkit.org>
6259 [Qt] Correct <wtf/*.h> include paths.
6260 https://bugs.webkit.org/show_bug.cgi?id=83270
6262 Reviewed by Eric Seidel.
6264 Modify the #include declerations so that the
6265 wtf types are included using the full path.
6267 * Shared/qt/QtNetworkReplyData.cpp:
6268 * UIProcess/WebLayerTreeRenderer.cpp:
6269 * UIProcess/qt/LayerBackingStore.h:
6270 * UIProcess/qt/QtViewportInteractionEngine.cpp:
6271 * UIProcess/qt/QtViewportInteractionEngine.h:
6272 * UIProcess/qt/QtWebPageSGNode.h:
6273 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6275 2012-04-05 Jia Pu <jpu@apple.com>
6277 Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
6278 https://bugs.webkit.org/show_bug.cgi?id=82970
6280 Reviewed by Enrica Casucci.
6282 Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
6283 See WebCore/ChangeLog for details.
6285 * UIProcess/API/gtk/PageClientImpl.cpp:
6286 * UIProcess/API/mac/PageClientImpl.h:
6288 * UIProcess/API/mac/PageClientImpl.mm:
6289 (WebKit::PageClientImpl::recordAutocorrectionResponse):
6290 * UIProcess/API/qt/qquickwebview.cpp:
6291 * UIProcess/PageClient.h:
6293 * UIProcess/WebPageProxy.cpp:
6294 (WebKit::WebPageProxy::recordAutocorrectionResponse):
6295 * UIProcess/mac/CorrectionPanel.h:
6296 * UIProcess/mac/CorrectionPanel.mm:
6297 * WebKit2.xcodeproj/project.pbxproj:
6298 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
6300 (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
6301 (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
6302 (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
6303 (WebKit::WebAlternativeTextClient::dismissAlternative):
6304 (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
6305 (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
6306 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
6308 (WebAlternativeTextClient):
6309 * WebProcess/WebCoreSupport/WebEditorClient.h:
6310 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6312 * WebProcess/WebPage/WebPage.cpp:
6313 (WebKit::WebPage::WebPage):
6315 2012-04-05 Csaba Osztrogonác <ossy@webkit.org>
6317 [Qt] Fix includes after QtDeclarative -> QtQML renaming
6318 https://bugs.webkit.org/show_bug.cgi?id=82195
6320 Relanding r112651, because Qt5 is updated everywhere.
6322 * UIProcess/API/qt/qquicknetworkreply_p.h:
6323 * UIProcess/API/qt/qquicknetworkrequest_p.h:
6324 * UIProcess/API/qt/qquickwebview.cpp:
6325 * UIProcess/API/qt/qquickwebview_p.h:
6326 * UIProcess/API/qt/qwebiconimageprovider_p.h:
6327 * UIProcess/API/qt/qwebnavigationhistory.cpp:
6328 * UIProcess/API/qt/qwebnavigationhistory_p.h:
6329 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6330 * UIProcess/qt/QtDialogRunner.cpp:
6331 (QtDialogRunner::initForAlert):
6332 (QtDialogRunner::initForConfirm):
6333 (QtDialogRunner::initForPrompt):
6334 (QtDialogRunner::initForAuthentication):
6335 (QtDialogRunner::initForProxyAuthentication):
6336 (QtDialogRunner::initForCertificateVerification):
6337 (QtDialogRunner::initForFilePicker):
6338 (QtDialogRunner::initForDatabaseQuotaDialog):
6339 (QtDialogRunner::createDialog):
6340 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
6341 (WebKit::WebPopupMenuProxyQt::createItem):
6342 (WebKit::WebPopupMenuProxyQt::createContext):
6344 2012-04-04 Hayato Ito <hayato@chromium.org>
6346 Remove ReifiedTreeTraversal.
6347 https://bugs.webkit.org/show_bug.cgi?id=83110
6349 Reviewed by Dimitri Glazkov.
6352 * win/WebKit2CFLite.def:
6354 2012-04-04 Shinya Kawanaka <shinyak@chromium.org>
6356 Shadow DOM is exposed in JS.
6357 https://bugs.webkit.org/show_bug.cgi?id=82607
6359 Reviewed by Hajime Morita.
6362 * win/WebKit2CFLite.def:
6364 2012-04-04 Anders Carlsson <andersca@apple.com>
6366 Text input doesn't work for some Flash forms
6367 https://bugs.webkit.org/show_bug.cgi?id=83232
6368 <rdar://problem/11186162>
6370 Reviewed by Alexey Proskuryakov.
6372 If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this
6373 is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename
6374 this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing
6375 and change WebPage::focusedWebPage to use windowAndWebPageAreFocused.
6377 * WebProcess/WebPage/WebPage.cpp:
6378 (WebKit::WebPage::windowIsFocused):
6380 (WebKit::WebPage::windowAndWebPageAreFocused):
6381 * WebProcess/WebPage/WebPage.h:
6383 * WebProcess/WebProcess.cpp:
6384 (WebKit::WebProcess::focusedWebPage):
6386 2012-03-15 Jer Noble <jer.noble@apple.com>
6388 Full Screen mode should cancel before navigation.
6389 https://bugs.webkit.org/show_bug.cgi?id=81295
6391 Reviewed by Anders Carlsson.
6393 When a provisional load is started, if the page is currently in full screen mode, instruct
6394 the full screen controller to close the full screen window immediately.
6396 Close the full screen window controller, if present and in full screen mode:
6397 * UIProcess/WebPageProxy.cpp:
6398 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
6400 Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy
6401 to the WKFullScreenWindowController:
6402 * UIProcess/WebFullScreenManagerProxy.h:
6403 * UIProcess/mac/WKFullScreenWindowController.h:
6404 * UIProcess/mac/WKFullScreenWindowController.mm:
6405 (-[WKFullScreenWindowController isFullScreen]): Added simple accessor.
6406 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6407 (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController.
6408 (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
6410 2012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
6412 WKTR needs to implement layoutTestController.setPageVisibility()
6413 https://bugs.webkit.org/show_bug.cgi?id=69554
6415 Reviewed by Simon Fraser.
6417 This patch implements the setPageVisibilityState through InjectedBundle
6418 so WKTR supports the Page Visibility API and can set the visibility state
6421 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
6422 (WKBundleSetPageVisibilityState):
6423 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
6424 * WebProcess/InjectedBundle/InjectedBundle.cpp:
6426 (WebKit::InjectedBundle::setPageVisibilityState):
6427 * WebProcess/InjectedBundle/InjectedBundle.h:
6430 2012-04-04 Alexis Menard <alexis.menard@openbossa.org>
6432 Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids.
6433 https://bugs.webkit.org/show_bug.cgi?id=83050
6435 Reviewed by Simon Fraser.
6437 The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission.
6439 * Shared/WebCoreArgumentCoders.cpp:
6440 (CoreIPC::::encode):
6441 (CoreIPC::::decode):
6443 2012-04-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
6445 [Qt] Entire page highlighted on panning.
6446 https://bugs.webkit.org/show_bug.cgi?id=83158
6448 Reviewed by Kenneth Rohde Christiansen.
6450 * WebProcess/WebPage/WebPage.cpp:
6451 (WebKit::WebPage::highlightPotentialActivation):
6453 2012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
6455 [Qt][WK2] QtWebKit2 should support Page Visibility API
6456 https://bugs.webkit.org/show_bug.cgi?id=81164
6458 Reviewed by Kenneth Rohde Christiansen.
6460 Implementing the last bits needed for getting the expected
6461 behavior for Page Visibility API, according to its spec.
6462 The only missing part in Qt was a way to check whether
6463 the view was exposed or not.
6465 * UIProcess/qt/QtPageClient.cpp:
6466 (QtPageClient::isViewVisible):
6468 2012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
6470 [WK2] Add Page Visibility API support
6471 https://bugs.webkit.org/show_bug.cgi?id=81154
6473 Reviewed by Kenneth Rohde Christiansen.
6475 Use WebPageProxy::viewStateDidChange to correctly define the page's
6476 visibilityState and then set it to the WebProcess. The WebKit2's based
6477 ports just need to implement the related PageClient functions in order
6478 to get this API enabled and working properly.
6480 * UIProcess/WebPageProxy.cpp:
6481 (WebKit::WebPageProxy::WebPageProxy):
6482 (WebKit::WebPageProxy::initializeWebPage):
6483 (WebKit::WebPageProxy::viewStateDidChange):
6484 * WebProcess/WebPage/WebPage.cpp:
6486 (WebKit::WebPage::setVisibilityState):
6487 * WebProcess/WebPage/WebPage.h:
6489 * WebProcess/WebPage/WebPage.messages.in:
6491 2012-04-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
6493 [Qt] Further improvements of the tap gesture recognizer
6494 https://bugs.webkit.org/show_bug.cgi?id=83149
6496 Reviewed by Zoltan Herczeg.
6498 Ignore single tap while finger is still pressed.
6499 Some renaming to make the states more clear.
6500 A pan further than the maxPanDistance can now invalidate
6501 double-taps as well.
6503 * UIProcess/qt/QtTapGestureRecognizer.cpp:
6504 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
6505 (WebKit::QtTapGestureRecognizer::recognize):
6506 (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6507 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6508 (WebKit::QtTapGestureRecognizer::reset):
6509 * UIProcess/qt/QtTapGestureRecognizer.h:
6511 2012-04-04 Andras Becsi <andras.becsi@nokia.com>
6513 [Qt][WK2] Make the WebView a subclass of Flickable
6514 https://bugs.webkit.org/show_bug.cgi?id=83033
6516 Reviewed by Kenneth Rohde Christiansen.
6518 Hitherto, the experiment of a QML WebView with an internal Flickable
6519 instance showed that the approach of hiding the Flickable raises more
6520 problems than it solves.
6522 One set of problems arose because the internal Flickable was a separate
6523 item which received and reacted on automatically synthesized mouse events
6524 send by the canvas, this interfered with the gesture recognizers of the
6527 Other issues were related to orientation and the integration of the
6528 WebView item with other QML items and components (like scroll indicators)
6529 which require a larger set of the Flickable API or the Flickable object
6530 itself (e.g. ScrollDecorator).
6532 These disadvantages of an internal Flickable instance outweigh the
6533 benefits of controlling the exposed API, therefore the experiment had
6534 the conclusion that there is no way around the public inheritance from
6537 This patch removes the QtFlickProvider class, inherits QQuickWebView
6538 from QQuickFlickable and adjusts the viewport interaction engine and
6539 the gesture recognizers to use the Flickable API of the WebView to
6540 keep the same behaviour as before.
6543 * UIProcess/API/qt/qquickwebpage.cpp:
6544 (QQuickWebPage::QQuickWebPage):
6545 * UIProcess/API/qt/qquickwebview.cpp:
6546 (QQuickWebViewPrivate::QQuickWebViewPrivate):
6547 (QQuickWebViewFlickablePrivate::initialize):
6548 (QQuickWebViewFlickablePrivate::pageItemPos):
6549 (QQuickWebViewFlickablePrivate::updateContentsSize):
6550 (QQuickWebViewFlickablePrivate::onComponentComplete):
6551 (QQuickWebViewFlickablePrivate::updateViewportSize):
6552 (QQuickWebViewExperimental::useDefaultContentItemSize):
6553 (QQuickWebViewExperimental::setUseDefaultContentItemSize):
6554 (QQuickWebView::QQuickWebView):
6555 (QQuickWebView::inputMethodQuery):
6556 (QQuickWebView::geometryChanged):
6557 (QQuickWebView::componentComplete):
6558 (QQuickWebView::event):
6559 (QQuickWebView::contentPos):
6560 (QQuickWebView::setContentPos):
6561 (QQuickWebView::handlePress):
6562 (QQuickWebView::handleMove):
6563 (QQuickWebView::handleRelease):
6564 * UIProcess/API/qt/qquickwebview_p.h:
6566 * UIProcess/API/qt/qquickwebview_p_p.h:
6567 (QQuickWebViewPrivate):
6568 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6569 (tst_QQuickWebView::scrollRequest):
6570 * UIProcess/API/qt/tests/tests.pri:
6571 * UIProcess/qt/QtFlickProvider.cpp: Removed.
6572 * UIProcess/qt/QtFlickProvider.h: Removed.
6573 * UIProcess/qt/QtPanGestureRecognizer.cpp:
6574 (WebKit::QtPanGestureRecognizer::recognize):
6575 * UIProcess/qt/QtViewportInteractionEngine.cpp:
6576 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
6577 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
6578 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
6579 (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
6580 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
6581 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
6582 (WebKit::QtViewportInteractionEngine::wheelEvent):
6583 (WebKit::QtViewportInteractionEngine::reset):
6584 (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
6585 (WebKit::QtViewportInteractionEngine::panGestureActive):
6586 (WebKit::QtViewportInteractionEngine::panGestureStarted):
6587 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
6588 (WebKit::QtViewportInteractionEngine::panGestureEnded):
6589 (WebKit::QtViewportInteractionEngine::panGestureCancelled):
6590 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
6591 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
6592 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
6593 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
6594 (WebKit::QtViewportInteractionEngine::scaleContent):
6595 * UIProcess/qt/QtViewportInteractionEngine.h:
6596 (QtViewportInteractionEngine):
6597 * UIProcess/qt/QtWebPageEventHandler.cpp:
6598 (QtWebPageEventHandler::doneWithTouchEvent):
6600 2012-04-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
6602 [Qt] Unable to zoom to some areas.
6603 https://bugs.webkit.org/show_bug.cgi?id=83144
6605 Reviewed by Kenneth Rohde Christiansen.
6607 Remember to convert touch-area to touch-point radius.
6609 * WebProcess/WebPage/WebPage.cpp:
6610 (WebKit::WebPage::findZoomableAreaForPoint):
6612 2012-04-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
6614 [Qt] Improve the tap gesture recognizer
6615 https://bugs.webkit.org/show_bug.cgi?id=83135
6617 Reviewed by Simon Hausmann.
6619 Clean up the code and make sure that the first single tap
6620 event, as part of a double tap gesture, is ignored.
6622 * UIProcess/qt/QtTapGestureRecognizer.cpp:
6623 (WebKit::QtTapGestureRecognizer::withinDistance):
6625 (WebKit::QtTapGestureRecognizer::recognize):
6626 (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6627 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6628 (WebKit::QtTapGestureRecognizer::reset):
6629 * UIProcess/qt/QtTapGestureRecognizer.h:
6630 (QtTapGestureRecognizer):
6632 2012-04-03 Geoffrey Garen <ggaren@apple.com>
6634 Fixed some WebKit2 crashes seen on the buildbot after my last patch.
6636 Reviewed by Beth Dakin.
6638 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6639 (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
6640 out of the map, since Weak<T> returns NULL during finalization. Instead,
6641 use the handle we've been passed for finalization.
6643 2012-03-29 Geoffrey Garen <ggaren@apple.com>
6645 First step toward incremental Weak<T> finalization
6646 https://bugs.webkit.org/show_bug.cgi?id=82670
6648 Reviewed by Filip Pizlo.
6650 Updated for API change.
6652 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6653 (WebKit::NPRuntimeObjectMap::finalize):
6655 2012-04-03 Keishi Hattori <keishi@webkit.org>
6657 Disable ENABLE_DATALIST for now
6658 https://bugs.webkit.org/show_bug.cgi?id=82871
6660 Reviewed by Kent Tamura.
6662 * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
6664 2012-04-03 Yael Aharon <yael.aharon@nokia.com>
6666 [Qt][WK2] Assert on startup after r113090
6667 https://bugs.webkit.org/show_bug.cgi?id=83111
6669 Reviewed by Noam Rosenthal.
6671 Add willBeDestroyed to to WebGraphicsLayer.
6673 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6674 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
6676 (WebCore::WebGraphicsLayer::willBeDestroyed):
6677 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6680 2012-04-03 Sam Weinig <sam@webkit.org>
6682 Allow the old WebKit2 drawing model to host layers in the window server
6683 <rdar://problem/11170525>
6684 https://bugs.webkit.org/show_bug.cgi?id=83101
6686 Reviewed by Anders Carlsson.
6688 * UIProcess/DrawingAreaProxyImpl.cpp:
6689 (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
6690 * UIProcess/DrawingAreaProxyImpl.h:
6691 (DrawingAreaProxyImpl):
6692 * WebProcess/WebPage/DrawingArea.h:
6694 * WebProcess/WebPage/DrawingAreaImpl.cpp:
6695 (WebKit::DrawingAreaImpl::setLayerHostingMode):
6696 * WebProcess/WebPage/DrawingAreaImpl.h:
6698 * WebProcess/WebPage/LayerTreeHost.h:
6700 (WebKit::LayerTreeHost::setLayerHostingMode):
6701 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
6702 (LayerTreeHostCAMac):
6703 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
6704 (WebKit::LayerTreeHostCAMac::platformInitialize):
6705 (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
6706 Pipe layer hosting mode to the old drawing area.
6708 2012-04-03 Jia Pu <jpu@apple.com>
6710 Rename SpellingCorrectionController to AlternativeTextController.
6711 https://bugs.webkit.org/show_bug.cgi?id=82942
6713 Reviewed by Enrica Casucci.
6715 These changes are simply for adopting new class names.
6717 * UIProcess/API/mac/PageClientImpl.h:
6719 * UIProcess/API/mac/PageClientImpl.mm:
6720 (WebKit::PageClientImpl::showCorrectionPanel):
6721 (WebKit::PageClientImpl::dismissCorrectionPanel):
6722 (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
6723 * UIProcess/API/mac/WKView.mm:
6724 (-[WKView handleCorrectionPanelResult:]):
6725 * UIProcess/PageClient.h:
6727 * UIProcess/WebPageProxy.cpp:
6728 (WebKit::WebPageProxy::didCommitLoadForFrame):
6729 (WebKit::WebPageProxy::pageDidScroll):
6730 (WebKit::WebPageProxy::processDidCrash):
6731 (WebKit::WebPageProxy::showCorrectionPanel):
6732 (WebKit::WebPageProxy::dismissCorrectionPanel):
6733 (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
6734 (WebKit::WebPageProxy::handleAlternativeTextUIResult):
6735 * UIProcess/WebPageProxy.h:
6737 * UIProcess/mac/CorrectionPanel.h:
6739 * UIProcess/mac/CorrectionPanel.mm:
6740 (correctionIndicatorType):
6741 (WebKit::CorrectionPanel::CorrectionPanel):
6742 (WebKit::CorrectionPanel::~CorrectionPanel):
6743 (WebKit::CorrectionPanel::show):
6744 (WebKit::CorrectionPanel::dismiss):
6745 (WebKit::CorrectionPanel::dismissInternal):
6746 (WebKit::CorrectionPanel::handleAcceptedReplacement):
6747 * WebProcess/WebCoreSupport/WebEditorClient.h:
6748 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6749 (WebKit::WebEditorClient::showCorrectionPanel):
6750 (WebKit::WebEditorClient::dismissCorrectionPanel):
6751 (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
6752 * WebProcess/WebPage/WebPage.cpp:
6753 (WebKit::WebPage::handleAlternativeTextUIResult):
6754 * WebProcess/WebPage/WebPage.h:
6756 * WebProcess/WebPage/WebPage.messages.in:
6758 2012-04-03 Zalan Bujtas <zbujtas@gmail.com>
6760 [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
6761 https://bugs.webkit.org/show_bug.cgi?id=83070
6763 Reviewed by Andreas Kling.
6765 It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
6766 WebFrameLoaderClient::transitionToCommittedFromCachedFrame()
6768 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6769 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
6771 2012-04-03 Jer Noble <jer.noble@apple.com>
6773 ESC key in full screen does not result in webkitFullScreenChange event.
6774 https://bugs.webkit.org/show_bug.cgi?id=82755
6775 <rdar://problem/11093513>
6777 Reviewed by Eric Carlson.
6779 Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
6780 that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
6783 Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full
6784 screen if the WebProcess does not respond in a timely manner (defaults to 1s).
6786 Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document:
6787 * UIProcess/WebFullScreenManagerProxy.cpp:
6788 (WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
6789 * UIProcess/WebFullScreenManagerProxy.h:
6790 * WebProcess/FullScreen/WebFullScreenManager.cpp:
6791 (WebKit::WebFullScreenManager::requestExitFullScreen):
6792 * WebProcess/FullScreen/WebFullScreenManager.h:
6793 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
6795 Request that the document exits full screen when the ESC key is pressed:
6796 * UIProcess/mac/WKFullScreenWindowController.h:
6797 * UIProcess/mac/WKFullScreenWindowController.mm:
6798 (-[WKFullScreenWindowController cancelOperation:]):
6799 (-[WKFullScreenWindowController exitFullScreen]):
6801 2012-04-03 Balazs Kelemen <kbalazs@webkit.org>
6803 [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp
6804 https://bugs.webkit.org/show_bug.cgi?id=83034
6806 Reviewed by Zoltan Herczeg.
6808 Don't allow the plugin to pollute the standard output.
6809 Reinvent StdOutDevNullRedirector which was removed in
6810 r112889 for this purpose.
6812 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
6813 (StdoutDevNullRedirector):
6815 (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
6816 (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
6817 (WebKit::NetscapePluginModule::scanPlugin):
6819 2012-04-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
6821 Enable and connect the WebInspectorServer with WebKit2 pages.
6822 https://bugs.webkit.org/show_bug.cgi?id=73094
6824 Reviewed by Simon Hausmann.
6826 Pages are registered/unregistered as they are created/destroyed, if they have
6827 developer extras enabled. The server is run on the UI process and communicates
6828 with the web process through IPC for each message between the inspector
6829 controller and the remote frontend.
6831 Includes the server spawning logic for the Qt port, the server is
6832 started through an environment variable specifying the interface and
6833 port to bind the server to, by default on 127.0.0.1.
6835 * UIProcess/WebInspectorProxy.cpp:
6836 (WebKit::WebInspectorProxy::WebInspectorProxy):
6837 (WebKit::WebInspectorProxy::invalidate):
6839 (WebKit::WebInspectorProxy::enableRemoteInspection):
6840 (WebKit::WebInspectorProxy::remoteFrontendConnected):
6841 (WebKit::WebInspectorProxy::remoteFrontendDisconnected):
6842 (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
6843 (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend):
6844 * UIProcess/WebInspectorProxy.h:
6845 (WebInspectorProxy):
6846 * UIProcess/WebInspectorProxy.messages.in:
6847 * UIProcess/WebPageProxy.cpp:
6848 (WebKit::WebPageProxy::initializeWebPage):
6849 (WebKit::WebPageProxy::preferencesDidChange):
6850 * UIProcess/qt/QtWebContext.cpp:
6851 (WebKit::initInspectorServer):
6853 (WebKit::globalInitialization):
6854 (WebKit::QtWebContext::create):
6855 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
6856 (WebKit::WebInspectorClient::sendMessageToFrontend):
6857 * WebProcess/WebPage/WebInspector.cpp:
6858 (WebKit::WebInspector::WebInspector):
6860 (WebKit::WebInspector::sendMessageToRemoteFrontend):
6861 (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
6862 (WebKit::WebInspector::remoteFrontendConnected):
6863 (WebKit::WebInspector::remoteFrontendDisconnected):
6864 * WebProcess/WebPage/WebInspector.h:
6866 (WebKit::WebInspector::hasRemoteFrontendConnected):
6867 * WebProcess/WebPage/WebInspector.messages.in:
6869 2012-03-29 Joseph Pecoraro <joepeck@webkit.org> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
6871 WebInspectorServer for WebKit2.
6872 https://bugs.webkit.org/show_bug.cgi?id=73855
6874 Reviewed by Simon Hausmann.
6876 The server uses WebSocket for communication with the remote client and
6877 normal HTTP requests are handled to optionally send the frontend on the
6878 wire. Those decision are handled per platform and Qt currently maps:
6880 - "/" to a static listing page.
6881 - "/pagelist.json" to the page list for the listing page or tools.
6882 - anything else, for example "/inspector.js" to the file with the
6883 same name in the dynamic libraries built resources.
6884 Invalid files should return a 404.
6887 * UIProcess/InspectorServer/WebInspectorServer.cpp: Added.
6889 (WebKit::pageIdFromRequestPath):
6890 (WebKit::WebInspectorServer::server):
6891 (WebKit::WebInspectorServer::WebInspectorServer):
6892 (WebKit::WebInspectorServer::~WebInspectorServer):
6893 (WebKit::WebInspectorServer::registerPage):
6894 (WebKit::WebInspectorServer::unregisterPage):
6895 (WebKit::WebInspectorServer::sendMessageOverConnection):
6896 (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
6897 (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
6898 (WebKit::WebInspectorServer::didEstablishWebSocketConnection):
6899 (WebKit::WebInspectorServer::didReceiveWebSocketMessage):
6900 (WebKit::WebInspectorServer::didCloseWebSocketConnection):
6901 (WebKit::WebInspectorServer::closeConnection):
6902 * UIProcess/InspectorServer/WebInspectorServer.h: Added.
6904 (WebInspectorServer):
6905 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added.
6907 (WebKit::WebInspectorServer::platformResourceForPath):
6908 (WebKit::WebInspectorServer::buildPageList):
6909 * WebKit2.qrc: Added.
6910 * qt/Resources/inspectorPageIndex.html: Added.
6912 2012-03-29 Joseph Pecoraro <joepeck@webkit.org> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
6914 Add a Generic WebSocket Server.
6915 https://bugs.webkit.org/show_bug.cgi?id=73093
6917 Reviewed by Simon Hausmann.
6919 The Inspector Server will be a WebSocket Server that also responds to
6920 non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server
6921 that passes on what it doesn't know on to its client for extended
6922 functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag.
6924 There are no tests yet for a built-in WebSocket server.
6925 This will be covered by API level tests in a later patch.
6929 WebSocketServer is a simple server. Calling listen, or close,
6930 multiple times is safe. Subclassing is expected.
6932 * UIProcess/InspectorServer/WebSocketServer.cpp: Added.
6934 (WebKit::WebSocketServer::WebSocketServer):
6935 (WebKit::WebSocketServer::~WebSocketServer):
6936 (WebKit::WebSocketServer::listen):
6937 (WebKit::WebSocketServer::close):
6938 (WebKit::WebSocketServer::didAcceptConnection):
6939 (WebKit::WebSocketServer::didCloseWebSocketServerConnection):
6940 * UIProcess/InspectorServer/WebSocketServer.h: Added.
6944 * UIProcess/InspectorServer/WebSocketServerClient.h: Added.
6947 (WebSocketServerClient):
6948 (WebKit::WebSocketServerClient::~WebSocketServerClient):
6949 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
6950 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
6951 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
6952 (WebKit::WebSocketServerClient::didReceiveWebSocketMessage):
6953 (WebKit::WebSocketServerClient::didCloseWebSocketConnection):
6955 Each WebSocketConnection:
6957 - Passes unknown HTTP Requests to the server's client.
6958 - Handles WebSocket Upgrade Requests.
6959 - First ask the client if it is okay.
6960 - Later notify the client about a success.
6961 - Once upgraded the connection parses and passes WebSocket
6962 frames to the client.
6964 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added.
6966 (WebKit::WebSocketServerConnection::WebSocketServerConnection):
6967 (WebKit::WebSocketServerConnection::~WebSocketServerConnection):
6968 (WebKit::WebSocketServerConnection::shutdownNow):
6969 (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected.
6970 (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection.
6971 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
6972 (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection.
6973 (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios.
6974 (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes.
6975 (WebKit::WebSocketServerConnection::didFailSocketStream): log errors.
6976 (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message.
6977 (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):
6978 (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible.
6979 (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame.
6980 * UIProcess/InspectorServer/WebSocketServerConnection.h: Added.
6983 (WebSocketServerConnection):
6984 (WebKit::WebSocketServerConnection::identifier):
6985 (WebKit::WebSocketServerConnection::setIdentifier):
6987 Qt specific implementation.
6989 * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added.
6991 (WebKit::WebSocketServer::platformInitialize):
6992 (WebKit::WebSocketServer::platformListen):
6993 (WebKit::WebSocketServer::platformClose):
6994 (WebKit::QtTcpServerHandler::QtTcpServerHandler):
6995 (WebKit::QtTcpServerHandler::handleNewConnection):
6996 (WebKit::QtTcpServerHandler::listen):
6997 (WebKit::QtTcpServerHandler::close):
6998 * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added.
7000 (QtTcpServerHandler):
7003 * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2.
7005 2012-04-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
7007 [Qt] Add developerExtrasEnabled to QWebPreferences.
7008 https://bugs.webkit.org/show_bug.cgi?id=83018
7010 Reviewed by Kenneth Rohde Christiansen.
7012 This is required to allow inspecting pages.
7014 * UIProcess/API/qt/qwebpreferences.cpp:
7015 (QWebPreferencesPrivate::testAttribute):
7016 (QWebPreferencesPrivate::setAttribute):
7017 (QWebPreferences::developerExtrasEnabled):
7018 (QWebPreferences::setDeveloperExtrasEnabled):
7019 * UIProcess/API/qt/qwebpreferences_p.h:
7020 * UIProcess/API/qt/qwebpreferences_p_p.h:
7022 2012-04-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
7024 [Qt] Tap highlight attempted hidden several times
7025 https://bugs.webkit.org/show_bug.cgi?id=82903
7027 Reviewed by Kenneth Rohde Christiansen.
7029 Do not reset GestureRecognizer if already reset, and do not
7030 disable tap-highlight on touch-end if already reset.
7032 * UIProcess/qt/QtTapGestureRecognizer.cpp:
7033 (WebKit::QtTapGestureRecognizer::recognize):
7034 (WebKit::QtTapGestureRecognizer::reset):
7036 2012-04-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
7038 [Qt] Tap highlight still showing when tap gesture has timed out
7039 https://bugs.webkit.org/show_bug.cgi?id=82902
7041 Reviewed by Kenneth Rohde Christiansen.
7043 Disable highlight of potential tap, when tap-and-hold state
7044 replaces potential tap state.
7046 * UIProcess/qt/QtTapGestureRecognizer.cpp:
7047 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
7049 2012-04-02 Zalan Bujtas <zbujtas@gmail.com>
7051 [Qt][WK2] Set viewport size back, when WebProcess is relaunched.
7052 https://bugs.webkit.org/show_bug.cgi?id=82936
7054 Reviewed by Andreas Kling.
7056 Fixed layout requires viewport size set properly on the WebProcess side.
7057 Make sure it is set, when WebProcess is relaunched.
7059 * UIProcess/API/qt/qquickwebview.cpp:
7060 (QQuickWebViewPrivate::didRelaunchProcess):
7062 2012-04-02 Anders Carlsson <andersca@apple.com>
7064 Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa
7065 https://bugs.webkit.org/show_bug.cgi?id=82951
7066 <rdar://problem/10589308>
7068 Reviewed by Sam Weinig.
7070 * PluginProcess/mac/PluginControllerProxyMac.mm:
7071 (WebKit::PluginControllerProxy::setLayerHostingMode):
7072 Call Plugin::setLayerHostingMode).
7074 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7075 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
7076 Move WKNVCALayerRenderServerPort to the header file.
7078 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7079 (WebKit::NetscapePlugin::NetscapePlugin):
7080 Initialize m_layerHostingMode.
7082 (WebKit::NetscapePlugin::initialize):
7083 Set m_layerHostingMode from the parameters struct.
7085 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7086 (WebKit::NetscapePlugin::compositingRenderServerPort):
7087 Return MACH_PORT_NULL when hosted in the window server.
7089 (WebKit::NetscapePlugin::platformPostInitialize):
7090 Move the code that gets the layer out into a separate function, updatePluginLayer.
7092 (WebKit::NetscapePlugin::setLayerHostingMode):
7093 Let the plug-in know that the layer hosting mode changed and update the plug-in layer if
7094 setting the new compositing port was successful.
7096 2012-04-02 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
7098 [Qt][WK2] ResourceError::isCancellation() is always returning false
7099 https://bugs.webkit.org/show_bug.cgi?id=82917
7101 Reviewed by Noam Rosenthal.
7103 We were missing the encoding of a boolean in ArgumentCoder<ResourceError>
7104 and, therefore, we were getting always "false" for ResourceError::isCancellation()
7105 for errors being sent through the IPC.
7107 * Shared/qt/WebCoreArgumentCodersQt.cpp:
7108 (CoreIPC::::encode):
7109 (CoreIPC::::decode):
7111 2012-03-29 Sam Weinig <sam@webkit.org>
7113 Add setting to disable Java for local files even if it is otherwise enabled
7114 https://bugs.webkit.org/show_bug.cgi?id=82685
7116 Reviewed by Anders Carlsson.
7118 * Shared/WebPreferencesStore.h:
7119 * UIProcess/API/C/WKPreferences.cpp:
7120 (WKPreferencesSetJavaEnabledForLocalFiles):
7121 (WKPreferencesGetJavaEnabledForLocalFiles):
7122 * UIProcess/API/C/WKPreferencesPrivate.h:
7123 * WebProcess/WebPage/WebPage.cpp:
7124 (WebKit::WebPage::updatePreferences):
7125 Add pref as SPI and forward to WebCore.
7127 2012-04-02 Balazs Kelemen <kbalazs@webkit.org>
7129 [Qt][WK2] Set up plugin process on Unix
7130 https://bugs.webkit.org/show_bug.cgi?id=72121
7132 Reviewed by Simon Hausmann.
7134 Setup plugin process for Qt and move the task of querying the plugins
7135 to this process in order to avoid crashes due to plugin bugs or library
7139 * PluginProcess.pro: Added.
7141 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7142 (WebKit::PluginProcessMainGtk):
7143 * PluginProcess/qt/PluginProcessMainQt.cpp:
7144 (WebKit::messageHandler):
7145 (WebKit::initializeGtk):
7147 (WebKit::PluginProcessMain):
7148 Implement entry point of the plugin process.
7149 Handle -scanPlugin command line switch: produce meta data
7150 of plugin on standard output and terminate. Move Gtk initialization
7153 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7154 (WebKit::NetscapePluginModule::tryLoad):
7155 Get rid of the Gtk initialization hack. We do not nead it here anymore.
7157 * Shared/Plugins/Netscape/NetscapePluginModule.h:
7159 (NetscapePluginModule):
7160 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7161 (WebKit::parseMIMEDescription):
7162 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7164 (WebKit::NetscapePluginModule::getPluginInfo):
7165 Get plugin meta data via PluginProcessproxy. If a failure
7166 happened we ignore to use the plugin. Remove the concept
7167 of stdout redirection since we can control it when launching
7170 (WebKit::NetscapePluginModule::determineQuirks):
7171 (WebKit::truncateToSingleLine):
7172 (WebKit::NetscapePluginModule::scanPlugin):
7173 Produce plugin meta data on standard output.
7175 * Shared/ProcessExecutablePath.h: Added.
7177 * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7178 (findWebKitProcess):
7179 (executablePathOfWebProcess):
7180 (executablePathOfPluginProcess):
7181 * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7183 (WebKit::executablePath):
7184 (WebKit::executablePathOfWebProcess):
7185 (WebKit::executablePathOfPluginProcess):
7186 Factored the executable path determination into free functions
7187 to avoid code duplication.
7189 * Shared/qt/ShareableBitmapQt.cpp:
7190 (WebKit::ShareableBitmap::paint):
7191 Added implementation for the override with the scale factor because
7192 it is called from PluginProxy. It does not actually handle the case
7193 when the scale factor is not 1. However it's ok because it can only
7194 happen on Mac in the moment.
7197 * UIProcess/Launcher/ProcessLauncher.h:
7199 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7200 (WebKit::ProcessLauncher::launchProcess):
7201 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7202 (WebKit::ProcessLauncher::launchProcess):
7203 Use the new functions to determine the executable path.
7205 * UIProcess/Plugins/PluginProcessProxy.h:
7207 (RawPluginMetaData):
7208 (PluginProcessProxy):
7209 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7210 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7212 (WebKit::PluginProcessProxy::scanPlugin):
7213 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7215 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7216 (WebKit::PluginProcessProxy::scanPlugin):
7217 Launch plugin process and parse it's output to get the meta data
7220 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7221 (WebKit::NPN_GetValue):
7222 Changed according to the removing of the flash hack. Do not try
7223 to decide whether the plugin needs Gtk by it's name but instead
7224 always get back the expected Gtk version (2). Only Gtk plugins
7225 should ask for this anyway.
7227 * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7231 2012-04-02 Sheriff Bot <webkit.review.bot@gmail.com>
7233 Unreviewed, rolling out r112868, r112879, and r112881.
7234 http://trac.webkit.org/changeset/112868
7235 http://trac.webkit.org/changeset/112879
7236 http://trac.webkit.org/changeset/112881
7237 https://bugs.webkit.org/show_bug.cgi?id=82901
7239 "Build fail on bots." (Requested by kbalazs on #webkit).
7242 * PluginProcess.pro: Removed.
7243 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7244 (WebKit::PluginProcessMainGtk):
7245 * PluginProcess/qt/PluginProcessMainQt.cpp:
7246 (WebKit::PluginProcessMain):
7247 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7248 (WebKit::NetscapePluginModule::tryLoad):
7249 * Shared/Plugins/Netscape/NetscapePluginModule.h:
7250 (NetscapePluginModule):
7251 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7252 (StdoutDevNullRedirector):
7254 (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
7255 (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
7256 (WebKit::initializeGTK):
7257 (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad):
7258 (WebKit::NetscapePluginModule::setMIMEDescription):
7259 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7260 (WebKit::NetscapePluginModule::getPluginInfo):
7261 (WebKit::NetscapePluginModule::determineQuirks):
7262 * Shared/ProcessExecutablePath.h: Removed.
7263 * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed.
7264 * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
7265 * Shared/qt/ShareableBitmapQt.cpp:
7266 (WebKit::ShareableBitmap::paint):
7268 * UIProcess/Launcher/ProcessLauncher.h:
7270 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7272 (WebKit::findWebKitProcess):
7273 (WebKit::ProcessLauncher::launchProcess):
7274 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7275 (WebKit::ProcessLauncher::launchProcess):
7276 * UIProcess/Plugins/PluginProcessProxy.h:
7278 (PluginProcessProxy):
7279 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7280 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7281 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7282 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7283 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7284 (WebKit::NPN_GetValue):
7285 * qt/PluginMainQt.cpp: Removed.
7287 2012-04-02 Balazs Kelemen <kbalazs@webkit.org>
7289 One more try to fix Qt build after r112868.
7291 It's a misery why I don't have these build failures
7294 * PluginProcess.pro:
7296 2012-04-02 Balazs Kelemen <kbalazs@webkit.org>
7298 Fix Qt build after r112868.
7300 * PluginProcess.pro: Add WTF into includepath.
7302 2012-04-02 Zalan Bujtas <zbujtas@gmail.com>
7304 [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes.
7305 https://bugs.webkit.org/show_bug.cgi?id=82892
7307 Reviewed by Kenneth Rohde Christiansen.
7309 Check against the expanded size before calling resize on frameview.
7311 * WebProcess/WebPage/WebPage.cpp:
7312 (WebKit::WebPage::setFixedVisibleContentRect):
7313 (WebKit::WebPage::resizeToContentsIfNeeded):
7315 2012-04-02 Balazs Kelemen <kbalazs@webkit.org>
7317 [Qt][WK2] Set up plugin process on Unix
7318 https://bugs.webkit.org/show_bug.cgi?id=72121
7320 Reviewed by Simon Hausmann.
7322 Setup plugin process for Qt and move the task of querying the plugins
7323 to this process in order to avoid crashes due to plugin bugs or library
7327 * PluginProcess.pro: Added.
7329 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7330 (WebKit::PluginProcessMainGtk):
7331 * PluginProcess/qt/PluginProcessMainQt.cpp:
7332 (WebKit::messageHandler):
7333 (WebKit::initializeGtk):
7335 (WebKit::PluginProcessMain):
7336 Implement entry point of the plugin process.
7337 Handle -scanPlugin command line switch: produce meta data
7338 of plugin on standard output and terminate. Move Gtk initialization
7341 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7342 (WebKit::NetscapePluginModule::tryLoad):
7343 Get rid of the Gtk initialization hack. We do not nead it here anymore.
7345 * Shared/Plugins/Netscape/NetscapePluginModule.h:
7347 (NetscapePluginModule):
7348 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7349 (WebKit::parseMIMEDescription):
7350 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7352 (WebKit::NetscapePluginModule::getPluginInfo):
7353 Get plugin meta data via PluginProcessproxy. If a failure
7354 happened we ignore to use the plugin. Remove the concept
7355 of stdout redirection since we can control it when launching
7358 (WebKit::NetscapePluginModule::determineQuirks):
7359 (WebKit::truncateToSingleLine):
7360 (WebKit::NetscapePluginModule::scanPlugin):
7361 Produce plugin meta data on standard output.
7363 * Shared/ProcessExecutablePath.h: Added.
7365 * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7366 (findWebKitProcess):
7367 (executablePathOfWebProcess):
7368 (executablePathOfPluginProcess):
7369 * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7371 (WebKit::executablePath):
7372 (WebKit::executablePathOfWebProcess):
7373 (WebKit::executablePathOfPluginProcess):
7374 Factored the executable path determination into free functions
7375 to avoid code duplication.
7377 * Shared/qt/ShareableBitmapQt.cpp:
7378 (WebKit::ShareableBitmap::paint):
7379 Added implementation for the override with the scale factor because
7380 it is called from PluginProxy. It does not actually handle the case
7381 when the scale factor is not 1. However it's ok because it can only
7382 happen on Mac in the moment.
7385 * UIProcess/Launcher/ProcessLauncher.h:
7387 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7388 (WebKit::ProcessLauncher::launchProcess):
7389 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7390 (WebKit::ProcessLauncher::launchProcess):
7391 Use the new functions to determine the executable path.
7393 * UIProcess/Plugins/PluginProcessProxy.h:
7395 (RawPluginMetaData):
7396 (PluginProcessProxy):
7397 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7398 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7400 (WebKit::PluginProcessProxy::scanPlugin):
7401 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7403 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7404 (WebKit::PluginProcessProxy::scanPlugin):
7405 Launch plugin process and parse it's output to get the meta data
7408 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7409 (WebKit::NPN_GetValue):
7410 Changed according to the removing of the flash hack. Do not try
7411 to decide whether the plugin needs Gtk by it's name but instead
7412 always get back the expected Gtk version (2). Only Gtk plugins
7413 should ask for this anyway.
7415 * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7419 2012-03-16 Philippe Normand <pnormand@igalia.com>
7421 [GTK][WK2] Initial FullScreen support
7422 https://bugs.webkit.org/show_bug.cgi?id=75553
7424 Reviewed by Martin Robinson.
7426 Full screen display support in WebKitWebViewBase. Two functions
7427 have been added to handle this. They're called by the
7428 WebFullScreenManagerProxy when full screen display needs to be
7429 managed for an HTML element.
7431 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7432 (_WebKitWebViewBasePrivate):
7433 (webkitWebViewBaseCreateWebPage):
7434 (onFullscreenGtkKeyPressEvent):
7435 (webkitWebViewBaseEnterFullScreen):
7436 (webkitWebViewBaseExitFullScreen):
7437 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
7438 * UIProcess/WebFullScreenManagerProxy.h:
7440 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
7441 (WebKit::WebFullScreenManagerProxy::enterFullScreen):
7442 (WebKit::WebFullScreenManagerProxy::exitFullScreen):
7444 2012-04-02 Sheriff Bot <webkit.review.bot@gmail.com>
7446 Unreviewed, rolling out r112651.
7447 http://trac.webkit.org/changeset/112651
7448 https://bugs.webkit.org/show_bug.cgi?id=82887
7450 It doesn't work with older Qt5 (Requested by Ossy on #webkit).
7452 * UIProcess/API/qt/qquicknetworkreply_p.h:
7453 * UIProcess/API/qt/qquicknetworkrequest_p.h:
7454 * UIProcess/API/qt/qquickwebview.cpp:
7455 * UIProcess/API/qt/qquickwebview_p.h:
7456 * UIProcess/API/qt/qwebiconimageprovider_p.h:
7457 * UIProcess/API/qt/qwebnavigationhistory.cpp:
7458 * UIProcess/API/qt/qwebnavigationhistory_p.h:
7459 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7460 * UIProcess/qt/QtDialogRunner.cpp:
7461 (QtDialogRunner::initForAlert):
7462 (QtDialogRunner::initForConfirm):
7463 (QtDialogRunner::initForPrompt):
7464 (QtDialogRunner::initForAuthentication):
7465 (QtDialogRunner::initForProxyAuthentication):
7466 (QtDialogRunner::initForCertificateVerification):
7467 (QtDialogRunner::initForFilePicker):
7468 (QtDialogRunner::initForDatabaseQuotaDialog):
7469 (QtDialogRunner::createDialog):
7470 * UIProcess/qt/QtFlickProvider.cpp:
7471 * UIProcess/qt/QtFlickProvider.h:
7473 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7474 (WebKit::WebPopupMenuProxyQt::createItem):
7475 (WebKit::WebPopupMenuProxyQt::createContext):
7477 2012-04-02 Hayato Ito <hayato@chromium.org>
7479 [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
7480 https://bugs.webkit.org/show_bug.cgi?id=82009
7482 Reviewed by Dimitri Glazkov.
7485 * win/WebKit2CFLite.def:
7487 2012-04-01 Jon Lee <jonlee@apple.com>
7489 Rename notification properties and functions
7490 https://bugs.webkit.org/show_bug.cgi?id=80482
7491 <rdar://problem/10912432>
7493 Reviewed by Kentaro Hara.
7495 Rename APIs to use tag.
7496 * UIProcess/API/C/WKNotification.cpp:
7497 (WKNotificationCopyTag):
7498 * UIProcess/API/C/WKNotification.h:
7499 * UIProcess/Notifications/WebNotification.cpp:
7500 (WebKit::WebNotification::WebNotification):
7501 * UIProcess/Notifications/WebNotification.h:
7502 (WebKit::WebNotification::create):
7503 (WebKit::WebNotification::tag):
7505 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
7506 (WebKit::WebNotificationManagerProxy::show):
7507 * UIProcess/Notifications/WebNotificationManagerProxy.h:
7508 (WebNotificationManagerProxy):
7509 * UIProcess/WebPageProxy.cpp:
7510 (WebKit::WebPageProxy::showNotification):
7511 * UIProcess/WebPageProxy.h:
7513 * UIProcess/WebPageProxy.messages.in:
7514 * WebProcess/Notifications/WebNotificationManager.cpp:
7515 (WebKit::WebNotificationManager::show):
7517 2012-03-31 Timothy Hatcher <timothy@apple.com>
7519 Prevent opening external URLs in the Web Inspector's WebView.
7521 All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
7523 https://webkit.org/b/82812
7524 rdar://problem/9488558
7526 Reviewed by Joseph Pecoraro.
7528 * UIProcess/WebInspectorProxy.cpp:
7529 (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
7530 will be opened in the inspected page.
7531 (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
7532 * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.
7534 2012-03-31 Anders Carlsson <andersca@apple.com>
7536 32-bit plug-ins need to opt into magnified mode
7537 https://bugs.webkit.org/show_bug.cgi?id=82837
7538 <rdar://problem/9104840>
7540 Reviewed by Simon Fraser.
7542 * PluginProcess/mac/PluginProcessMainMac.mm:
7543 (WebKit::PluginProcessMain):
7545 2012-03-30 Timothy Hatcher <timothy@apple.com>
7547 Stop creating the Web Inspector's NSWindow when detaching on close.
7549 This fixes a UI process crash that would happen when detaching because of a Web Process crash.
7551 https://webkit.org/b/82820
7552 rdar://problem/11085467
7554 Reviewed by Dan Bernstein.
7556 * UIProcess/mac/WebInspectorProxyMac.mm:
7557 (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
7558 and added an early return if we are not visible in the middle.
7560 2012-03-30 Emil A Eklund <eae@chromium.org>
7562 Change WebKit/WebKit2 platform code to use pixel snapped values
7563 https://bugs.webkit.org/show_bug.cgi?id=82549
7565 Change WebKit and WebKit2 platform code to use rounded locations and
7566 pixel snapped rects and sizes. This largely avoids having to expose the
7567 fractional layout types to the platform code.
7569 Reviewed by Eric Seidel.
7571 * Shared/WebRenderObject.cpp:
7572 (WebKit::WebRenderObject::WebRenderObject):
7573 * UIProcess/win/WebPopupMenuProxyWin.cpp:
7574 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
7575 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7576 (WebKit::InjectedBundleNodeHandle::renderRect):
7577 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7578 (WebKit::BuiltInPDFView::invalidateScrollbarRect):
7579 * WebProcess/WebPage/mac/WebPageMac.mm:
7580 (WebKit::WebPage::characterIndexForPoint):
7582 2012-03-30 Anders Carlsson <andersca@apple.com>
7586 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7587 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7589 2012-03-30 Mark Pilgrim <pilgrim@chromium.org>
7591 GEOLOCATION should be implemented as Page Supplement
7592 https://bugs.webkit.org/show_bug.cgi?id=82228
7594 Reviewed by Adam Barth.
7596 Geolocation is now a Supplement in Page so the interface
7597 has changed for setting up the page's geolocation client
7598 initially and accessing the controller later.
7600 * WebProcess/Geolocation/WebGeolocationManager.cpp:
7601 (WebKit::WebGeolocationManager::didChangePosition):
7602 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7603 * WebProcess/InjectedBundle/InjectedBundle.cpp:
7604 (WebKit::InjectedBundle::setGeoLocationPermission):
7605 * WebProcess/WebPage/WebPage.cpp:
7606 (WebKit::WebPage::WebPage):
7608 2012-03-30 Anders Carlsson <andersca@apple.com>
7610 Show a scrolling indicator light when compositing borders are turned on
7611 https://bugs.webkit.org/show_bug.cgi?id=82758
7612 <rdar://problem/11143892>
7614 Reviewed by Andreas Kling.
7616 * WebProcess/WebPage/DrawingArea.h:
7617 (WebKit::DrawingArea::updatePreferences):
7618 Add a hook for letting drawing area subclasses know when preferences change.
7620 * WebProcess/WebPage/WebPage.cpp:
7621 Call DrawingArea::updatePreferences.
7623 (WebKit::WebPage::updatePreferences):
7624 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7625 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
7626 Call updatePreferences.
7628 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7629 If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it.
7631 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
7632 If we have a debug root layer, make sure it's in front.
7634 2012-03-30 Allan Sandfeld Jensen <allan.jensen@nokia.com>
7636 [Qt] Find zoomable area using area-based hit-testing
7637 https://bugs.webkit.org/show_bug.cgi?id=82609
7639 Reviewed by Kenneth Rohde Christiansen.
7641 Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
7642 code-path to find the best zoomable area.
7644 * UIProcess/WebPageProxy.cpp:
7645 (WebKit::WebPageProxy::findZoomableAreaForPoint):
7646 * UIProcess/WebPageProxy.h:
7648 * UIProcess/qt/QtWebPageEventHandler.cpp:
7649 (QtWebPageEventHandler::handleDoubleTapEvent):
7650 * WebProcess/WebPage/WebPage.cpp:
7652 (WebKit::WebPage::findZoomableAreaForPoint):
7653 * WebProcess/WebPage/WebPage.h:
7655 * WebProcess/WebPage/WebPage.messages.in:
7657 2012-03-30 Keishi Hattori <keishi@webkit.org>
7659 Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
7660 https://bugs.webkit.org/show_bug.cgi?id=80972
7662 Reviewed by Kent Tamura.
7664 * Configurations/FeatureDefines.xcconfig:
7666 2012-03-29 Ádám Kallai <kadam@inf.u-szeged.hu>
7668 [Qt] Build fix by renameing QtDeclarative to QtQml in header calls.
7669 https://bugs.webkit.org/show_bug.cgi?id=82195
7671 Reviewed by Simon Hausmann.
7673 * UIProcess/API/qt/qquicknetworkreply_p.h:
7674 * UIProcess/API/qt/qquicknetworkrequest_p.h:
7675 * UIProcess/API/qt/qquickwebview.cpp:
7676 * UIProcess/API/qt/qquickwebview_p.h:
7677 * UIProcess/API/qt/qwebiconimageprovider_p.h:
7678 * UIProcess/API/qt/qwebnavigationhistory.cpp:
7679 * UIProcess/API/qt/qwebnavigationhistory_p.h:
7680 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7681 * UIProcess/qt/QtDialogRunner.cpp:
7682 (QtDialogRunner::initForAlert):
7683 (QtDialogRunner::initForConfirm):
7684 (QtDialogRunner::initForPrompt):
7685 (QtDialogRunner::initForAuthentication):
7686 (QtDialogRunner::initForProxyAuthentication):
7687 (QtDialogRunner::initForCertificateVerification):
7688 (QtDialogRunner::initForFilePicker):
7689 (QtDialogRunner::initForDatabaseQuotaDialog):
7690 (QtDialogRunner::createDialog):
7691 * UIProcess/qt/QtFlickProvider.cpp:
7692 * UIProcess/qt/QtFlickProvider.h:
7694 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7695 (WebKit::WebPopupMenuProxyQt::createItem):
7696 (WebKit::WebPopupMenuProxyQt::createContext):
7698 2012-03-29 No'am Rosenthal <noam.rosenthal@nokia.com>
7700 [Qt][WK2] Direct composited image assignment doesn't work
7701 https://bugs.webkit.org/show_bug.cgi?id=82525
7703 Reviewed by Kenneth Rohde Christiansen.
7705 We don't need to check whether the image or contentsRect are updated,
7706 since assignImageToLayer is a cheap operation after the LayerBackingStore
7709 * UIProcess/WebLayerTreeRenderer.cpp:
7710 (WebKit::WebLayerTreeRenderer::setLayerChildren):
7711 (WebKit::WebLayerTreeRenderer::setLayerState):
7712 (WebKit::WebLayerTreeRenderer::renderNextFrame):
7714 2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
7716 Unreviewed, rolling out r112553.
7717 http://trac.webkit.org/changeset/112553
7718 https://bugs.webkit.org/show_bug.cgi?id=82638
7720 It made all tests crash on Qt WK2 (Requested by Ossy_away on
7723 * WebProcess/Geolocation/WebGeolocationManager.cpp:
7724 (WebKit::WebGeolocationManager::didChangePosition):
7725 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7726 * WebProcess/InjectedBundle/InjectedBundle.cpp:
7727 (WebKit::InjectedBundle::setGeoLocationPermission):
7728 * WebProcess/WebPage/WebPage.cpp:
7729 (WebKit::WebPage::WebPage):
7731 2012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
7733 HashMap<>::add should return a more descriptive object
7734 https://bugs.webkit.org/show_bug.cgi?id=71063
7736 Reviewed by Ryosuke Niwa.
7738 Update code to use AddResult instead of a pair.
7740 * Platform/CoreIPC/ArgumentCoders.h:
7741 * Platform/CoreIPC/Connection.cpp:
7742 (CoreIPC::Connection::SyncMessageState::getOrCreate):
7743 * Shared/MutableDictionary.cpp:
7744 (WebKit::MutableDictionary::add):
7745 (WebKit::MutableDictionary::set):
7746 * Shared/UserMessageCoders.h:
7747 (WebKit::UserMessageDecoder::baseDecode):
7748 * Shared/mac/CommandLineMac.cpp:
7749 (WebKit::CommandLine::parse):
7750 * UIProcess/API/mac/WKPrintingView.mm:
7752 * UIProcess/API/mac/WKView.mm:
7753 (-[WKView validateUserInterfaceItem:]):
7754 * UIProcess/WebProcessProxy.cpp:
7755 (WebKit::WebProcessProxy::addBackForwardItem):
7756 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7757 (WebKit::InjectedBundleNodeHandle::getOrCreate):
7758 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7759 (WebKit::InjectedBundleRangeHandle::getOrCreate):
7760 * WebProcess/Notifications/WebNotificationManager.cpp:
7761 (WebKit::WebNotificationManager::show):
7762 * WebProcess/WebProcess.cpp:
7763 (WebKit::WebProcess::createWebPage):
7764 (WebKit::WebProcess::webPageGroup):
7766 2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
7768 GEOLOCATION should be implemented as Page Supplement
7769 https://bugs.webkit.org/show_bug.cgi?id=82228
7771 Reviewed by Adam Barth.
7773 Geolocation is now a Supplement in Page so the interface
7774 has changed for setting up the page's geolocation client
7775 initially and accessing the controller later.
7777 * WebProcess/Geolocation/WebGeolocationManager.cpp:
7778 (WebKit::WebGeolocationManager::didChangePosition):
7779 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7780 * WebProcess/InjectedBundle/InjectedBundle.cpp:
7781 (WebKit::InjectedBundle::setGeoLocationPermission):
7782 * WebProcess/WebPage/WebPage.cpp:
7783 (WebKit::WebPage::WebPage):
7785 2012-03-28 Anders Carlsson <andersca@apple.com>
7787 Fix a crash and an assertion when recovering from a web process crash
7788 https://bugs.webkit.org/show_bug.cgi?id=82559
7789 <rdar://problem/10902574>
7791 Reviewed by Mark Rowe.
7793 * UIProcess/API/mac/WKView.mm:
7794 (-[WKView _processDidCrash]):
7795 If we're currently in accelerated compositing mode, exit.
7797 (-[WKView updateLayer]):
7798 Guard against a null drawing area.
7800 2012-03-28 Nate Chapin <japhet@chromium.org>
7802 Remove dispatchDidLoadMainResource callback, since no
7804 https://bugs.webkit.org/show_bug.cgi?id=82539
7806 Reviewed by Alexey Proskuryakov.
7808 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7809 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
7811 2012-03-28 Anders Carlsson <andersca@apple.com>
7813 Massive lag opening a link in a new background tab
7814 https://bugs.webkit.org/show_bug.cgi?id=82542
7815 <rdar://problem/11004502>
7817 Reviewed by Sam Weinig.
7819 Defer waiting for the web process to update the page size until we're actually going to display the layer.
7820 This matches what we do in the non-tiled code path.
7822 * UIProcess/API/mac/WKView.mm:
7823 (-[WKView setFrameSize:]):
7824 (-[WKView updateLayer]):
7825 * UIProcess/DrawingAreaProxy.h:
7826 (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
7827 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
7828 (TiledCoreAnimationDrawingAreaProxy):
7829 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
7830 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
7832 (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
7834 2012-03-28 Anders Carlsson <andersca@apple.com>
7836 REGRESSION (r109826): Can't type into Flash text fields
7837 https://bugs.webkit.org/show_bug.cgi?id=82488
7838 <rdar://problem/11022004>
7840 Reviewed by Sam Weinig.
7842 This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
7843 that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting
7844 the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).
7846 * UIProcess/API/mac/WKView.mm:
7847 (-[WKView _setPluginComplexTextInputState:]):
7848 (-[WKView _handlePluginComplexTextInputKeyDown:]):
7849 * WebProcess/Plugins/PluginView.cpp:
7850 (WebKit::PluginView::~PluginView):
7852 2012-03-28 Balazs Kelemen <kbalazs@webkit.org>
7854 [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test.
7856 Rubber-stamped by Csaba Osztrogonác.
7858 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
7859 There is no load() API of the view, we have to use the url property.
7861 2012-03-27 YoungTaeck Song <youngtaeck.song@samsung.com>
7863 [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
7864 https://bugs.webkit.org/show_bug.cgi?id=62777
7866 Reviewed by Hajime Morita.
7868 Add initial version WorkQueueEfl for WebKit2 Efl.
7870 * Platform/CoreIPC/Connection.h:
7871 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
7872 (CoreIPC::Connection::platformInvalidate):
7873 (CoreIPC::Connection::open):
7874 * Platform/PlatformProcessIdentifier.h:
7876 * Platform/WorkQueue.h:
7878 * Platform/efl/WorkQueueEfl.cpp: Added.
7880 (TimerWorkItem::TimerWorkItem):
7881 (TimerWorkItem::~TimerWorkItem):
7882 (TimerWorkItem::function):
7883 (TimerWorkItem::queue):
7884 (TimerWorkItem::timerID):
7885 (WorkQueue::platformInitialize):
7886 (WorkQueue::platformInvalidate):
7887 (WorkQueue::performWork):
7888 (WorkQueue::performFdWork):
7889 (WorkQueue::sendMessageToThread):
7890 (WorkQueue::workQueueThread):
7891 (WorkQueue::registerSocketEventHandler):
7892 (WorkQueue::unregisterSocketEventHandler):
7893 (WorkQueue::dispatch):
7894 (WorkQueue::timerFired):
7895 (WorkQueue::dispatchAfterDelay):
7896 * PlatformEfl.cmake:
7898 2012-03-27 Anders Carlsson <andersca@apple.com>
7900 Plug-ins using the Core Animation drawing model should work when hosting the layer tree in the window server
7901 https://bugs.webkit.org/show_bug.cgi?id=82387
7902 <rdar://problem/11031942>
7904 Reviewed by Sam Weinig.
7906 * PluginProcess/PluginControllerProxy.cpp:
7907 (WebKit::PluginControllerProxy::PluginControllerProxy):
7908 (WebKit::PluginControllerProxy::initialize):
7909 Remove m_pluginCreationParameters; it was used by the old NPRuntime short-circuit code.
7910 Make platformInitialize take creation parameters.
7912 * PluginProcess/PluginControllerProxy.messages.in:
7913 Add SetLayerHostingMode message.
7915 * PluginProcess/gtk/PluginControllerProxyGtk.cpp:
7916 (WebKit::PluginControllerProxy::platformInitialize):
7917 Make platformInitialize take creation parameters.
7919 * PluginProcess/mac/PluginControllerProxyMac.mm:
7920 (WebKit::PluginControllerProxy::platformInitialize):
7921 Call updateLayerHostingContext.
7923 (WebKit::PluginControllerProxy::setLayerHostingMode):
7924 Call updateLayerHostingContext and send back the new context ID.
7926 (WebKit::PluginControllerProxy::updateLayerHostingContext):
7927 Create a new LayerHostingContext given the layer hosting mode.
7929 * PluginProcess/qt/PluginControllerProxyQt.cpp:
7930 (WebKit::PluginControllerProxy::platformInitialize):
7931 Make platformInitialize take creation parameters.
7933 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7934 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7935 (WebKit::NetscapePlugin::setLayerHostingMode):
7938 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
7939 (WebKit::makeRenderLayer):
7940 Add helper function for creating a new render layer.
7942 (WebKit::PluginProxy::pluginLayer):
7943 Call makeRenderLayer.
7945 (WebKit::PluginProxy::setLayerHostingMode):
7946 Send a message to the plug-in process.
7948 (WebKit::PluginProxy::setLayerHostingContextID):
7949 Update the context ID and make a new render layer.
7951 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7952 (WebKit::BuiltInPDFView::setLayerHostingMode):
7954 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
7956 * WebProcess/Plugins/Plugin.cpp:
7957 (WebKit::Plugin::Parameters::encode):
7958 (WebKit::Plugin::Parameters::decode):
7959 * WebProcess/Plugins/Plugin.h:
7960 Add the layer hosting mode as a parameter. Add a new setLayerHostingMode pure virtual member function.
7962 * WebProcess/Plugins/PluginProxy.messages.in:
7963 Add a SetLayerHostingContextID message.
7965 * WebProcess/Plugins/PluginView.cpp:
7966 (WebKit::PluginView::setLayerHostingMode):
7967 Call down to the plug-in.
7969 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7970 (WebKit::WebFrameLoaderClient::createPlugin):
7971 Set the layer hosting mode of the page.
7973 * WebProcess/WebPage/WebPage.cpp:
7974 (WebKit::WebPage::WebPage):
7975 Initialize m_layerHostingMode to false.
7977 * WebProcess/WebPage/WebPage.h:
7978 (WebKit::WebPage::layerHostingMode):
7979 Add m_layerHostingMode and a getter.
7981 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7982 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
7983 Call WebPage::setLayerHostingMode.
7985 * WebProcess/WebPage/mac/WebPageMac.mm:
7986 (WebKit::WebPage::setLayerHostingMode):
7987 Tell all plug-ins that the layer hosting mode changed.
7989 2012-03-27 Timothy Hatcher <timothy@apple.com>
7991 Make WebKit properly load a staged framework when soft linking.
7993 https://webkit.org/b/82371
7994 rdar://problem/11125989
7996 Reviewed by Dan Bernstein.
7998 * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
7999 load the WebInspector framework.
8000 * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
8002 2012-03-27 Anders Carlsson <andersca@apple.com>
8004 Don't update the layer hosting state unless the WKView is added to a window
8005 https://bugs.webkit.org/show_bug.cgi?id=82359
8007 Reviewed by Sam Weinig.
8009 This avoids thrashing the layer hosting state when switching tabs.
8011 * UIProcess/WebPageProxy.cpp:
8012 (WebKit::WebPageProxy::viewStateDidChange):
8014 2012-03-27 Carlos Garcia Campos <cgarcia@igalia.com>
8016 Implement WebFrameNetworkingContext for soup in WebKit2
8018 [SOUP] Implement WebFrameNetworkingContext for soup in WebKit2
8019 https://bugs.webkit.org/show_bug.cgi?id=82081
8021 Reviewed by Martin Robinson.
8023 * GNUmakefile.am: Add new files to compilation
8024 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8025 (WebKit::WebFrameNetworkingContext::soupSession): Return the
8026 default SoupSession.
8027 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8029 (WebFrameNetworkingContext):
8030 (WebKit::WebFrameNetworkingContext::create): Create a new
8031 WebFrameNetworkingContext().
8032 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
8034 2012-03-27 Yael Aharon <yael.aharon@nokia.com>
8036 [Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect
8037 https://bugs.webkit.org/show_bug.cgi?id=82289
8039 Reviewed by Kenneth Rohde Christiansen.
8041 As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one.
8043 * UIProcess/API/qt/qquickwebview.cpp:
8044 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
8045 * UIProcess/WebPageProxy.cpp:
8047 * UIProcess/WebPageProxy.h:
8049 * WebProcess/WebPage/WebPage.messages.in:
8050 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8051 (WebKit::LayerTreeHostQt::setVisibleContentsRect):
8053 2012-03-27 Carlos Garcia Campos <cgarcia@igalia.com>
8055 [SOUP] Implement missing methods in CookieJarSoup
8056 https://bugs.webkit.org/show_bug.cgi?id=82082
8058 Reviewed by Martin Robinson.
8060 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
8061 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use
8062 soupCookieJar() instead of defaultCookieJar().
8063 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto.
8065 2012-03-27 Carlos Garcia Campos <cgarcia@igalia.com>
8067 [GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API
8068 https://bugs.webkit.org/show_bug.cgi?id=79667
8070 Reviewed by Gustavo Noronha Silva.
8072 * UIProcess/API/gtk/WebKitWebResource.cpp:
8073 (webkitWebResourceCreate): Add isMainResource parameter indication
8074 whether the resource is the main one of the frame.
8075 (resourceDataCallback): C API callback called when resource data
8077 (webkit_web_resource_get_data): Asynchronously get the raw data of
8079 (webkit_web_resource_get_data_finish): Finish asynchronous
8080 operation started by webkit_web_resource_get_data().
8081 * UIProcess/API/gtk/WebKitWebResource.h:
8082 * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
8083 * UIProcess/API/gtk/WebKitWebView.cpp:
8084 (webkitWebViewResourceLoadStarted): Pass isMainResource parameter
8085 to webkitWebResourceCreate().
8086 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8087 * UIProcess/API/gtk/tests/TestResources.cpp:
8088 (testWebResourceGetData):
8092 2012-03-27 Carlos Garcia Campos <cgarcia@igalia.com>
8094 [GTK] Add resources API to WebKit2 GTK+
8095 https://bugs.webkit.org/show_bug.cgi?id=79477
8097 Reviewed by Gustavo Noronha Silva.
8099 * GNUmakefile.am: Add new files to compilation.
8100 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added.
8101 (didInitiateLoadForResource): Call
8102 webkitWebViewResourceLoadStarted() so that view will create the
8103 resource and emit WebKitWebView::resource-load-started.
8104 (didSendRequestForResource): Call webkitWebResourceSentRequest()
8105 with the given request and response.
8106 (didReceiveResponseForResource): Call
8107 webkitWebResourceSetResponse() with the given response.
8108 (didReceiveContentLengthForResource): Call
8109 webkitWebResourceNotifyProgress().
8110 (didFinishLoadForResource): Call webkitWebResourceFinished().
8111 (didFailLoadForResource): Create a GError for the given WKError
8112 and call webkitWebResourceFailed().
8113 (attachResourceLoadClientToView): Add callbacks for the
8114 WKPageResourceLoadClient.
8115 * UIProcess/API/gtk/WebKitResourceLoadClient.h: Added.
8116 * UIProcess/API/gtk/WebKitWebResource.cpp: Added.
8117 (webkitWebResourceGetProperty):
8118 (webkit_web_resource_init):
8119 (webkit_web_resource_class_init):
8120 (webkitWebResourceUpdateURI): Update the active URI every time a
8121 new request is sent to the server.
8122 (webkitWebResourceCreate): Create a WebResource for the given
8124 (webkitWebResourceSentRequest): Update uri and emit
8125 WebKitWebResource::sent-request.
8126 (webkitWebResourceSetResponse): Set the response property.
8127 (webkitWebResourceNotifyProgress): Emit
8128 WebKitWebResource::received-data.
8129 (webkitWebResourceFinished): Emit WebKitWebResource::finished.
8130 (webkitWebResourceFailed): Emit WebKitWebResource::failed and then
8131 WebKitWebResource::finished.
8132 (webkit_web_resource_get_uri): Return the currentr active URI.
8133 (webkit_web_resource_get_response): Return the response received
8135 * UIProcess/API/gtk/WebKitWebResource.h: Added.
8136 * UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added.
8137 * UIProcess/API/gtk/WebKitWebView.cpp:
8138 (webkitWebViewConstructed): Attach the resource load client to the
8140 (webkit_web_view_class_init): Add
8141 WebKitWebView::resource-load-started signal.
8142 (webkitWebViewLoadChanged): Clear loading resources map when a new
8143 load starts and loaded resources map when the new load has been
8145 (webkitWebViewResourceLoadStarted): Create a resource for the
8146 given identifier, add it to the loading resources map and emit
8147 WebKitWebView::resource-load-started signal.
8148 (webkitWebViewGetLoadingWebResource): Return the resource that is
8149 being loaded corresponding to the given identifier.
8150 (webkitWebViewRemoveLoadingWebResource): Remove the resouurce
8151 corresponfing to the given identifier from the loading resources
8153 (webkitWebViewResourceLoadFinished): Move the resource from the
8154 loading resources map to the loaded resources map.
8155 (webkit_web_view_get_main_resource): Return the main resource.
8156 (webkit_web_view_get_subresources): Return the list of
8158 * UIProcess/API/gtk/WebKitWebView.h:
8159 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
8160 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
8162 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8163 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8164 webkit_web_resource_get_type.
8165 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources.
8166 * UIProcess/API/gtk/tests/TestDownloads.cpp:
8167 (testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test.
8168 (testDownloadLocalFileError): Ditto.
8169 (serverCallback): Ditto.
8170 * UIProcess/API/gtk/tests/TestMain.h:
8171 (Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that
8172 it can be used by other tests.
8173 (Test): Add information about leaked objects.
8174 * UIProcess/API/gtk/tests/TestResources.cpp: Added.
8175 (testWebViewResources):
8176 (testWebResourceLoading):
8177 (testWebResourceResponse):
8178 (testWebResourceActiveURI):
8179 (addCacheHTTPHeadersToResponse):
8183 * UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h
8184 * UIProcess/API/gtk/webkit2marshal.list:
8186 2012-03-26 Pratik Solanki <psolanki@apple.com>
8188 Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
8189 https://bugs.webkit.org/show_bug.cgi?id=82254
8191 Reviewed by Benjamin Poulain.
8193 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
8194 (WebKit::WebPopupMenu::setUpPlatformData):
8196 2012-03-26 Dinu Jacob <dinu.jacob@nokia.com>
8198 [Qt][WK2] Support multi-file upload
8199 https://bugs.webkit.org/show_bug.cgi?id=81589
8201 Reviewed by Simon Hausmann.
8203 Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow
8204 multiple file selections.
8206 * UIProcess/API/qt/qquickwebview.cpp:
8207 (QQuickWebViewPrivate::chooseFiles):
8208 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
8209 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added.
8210 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml:
8211 * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added.
8212 * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html:
8213 * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added.
8215 * UIProcess/qt/QtDialogRunner.cpp:
8216 (FilePickerContextObject):
8217 (FilePickerContextObject::FilePickerContextObject):
8218 (FilePickerContextObject::allowMultipleFiles):
8219 (FilePickerContextObject::accept):
8220 (QtDialogRunner::initForFilePicker):
8221 * UIProcess/qt/QtDialogRunner.h:
8224 2012-03-26 Adam Barth <abarth@webkit.org>
8226 FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
8227 https://bugs.webkit.org/show_bug.cgi?id=81020
8229 Reviewed by Eric Seidel.
8231 Update call site to new function name.
8233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8234 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
8236 2012-03-26 Anders Carlsson <andersca@apple.com>
8238 Never remove root compositing layers in the web process
8239 https://bugs.webkit.org/show_bug.cgi?id=82255
8240 <rdar://problem/11058521>
8242 Reviewed by Sam Weinig.
8244 Since we never leave accelerated compositing mode when using tiled drawing, we should
8245 never remove root compositing layers in the web process.
8247 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8248 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
8250 2012-03-26 Rafael Brandao <rafael.lobo@openbossa.org>
8252 [Qt][WK2] default families are not set in QWebPreferences
8253 https://bugs.webkit.org/show_bug.cgi?id=81933
8255 This is a build-fix after r112116.
8257 Reviewed by Tor Arne Vestbø.
8259 * UIProcess/API/qt/qwebpreferences_p_p.h:
8261 2012-03-26 Pierre Rossi <pierre.rossi@nokia.com>
8263 [Qt][WK2] default families are not set in QWebPreferences
8264 https://bugs.webkit.org/show_bug.cgi?id=81933
8266 This would result in an attempt to create FontPlatformData
8267 with the -webkit- prefixed family name.
8268 Logic adapted from QWebSettings.
8270 Reviewed by Kenneth Rohde Christiansen.
8272 * UIProcess/API/qt/qwebpreferences.cpp:
8273 (QWebPreferencesPrivate::createPreferences):
8274 (QWebPreferencesPrivate::initFontDefaults):
8275 * UIProcess/API/qt/qwebpreferences_p_p.h:
8277 2012-03-26 Dinu Jacob <dinu.jacob@nokia.com>
8279 [Qt WK2] Disable/enable mouse events when displaying dialogs only for desktop view
8280 https://bugs.webkit.org/show_bug.cgi?id=80542
8282 Reviewed by Simon Hausmann.
8284 * UIProcess/API/qt/qquickwebview.cpp:
8285 (QQuickWebViewLegacyPrivate::enableMouseEvents):
8286 (QQuickWebViewLegacyPrivate::disableMouseEvents):
8287 * UIProcess/API/qt/qquickwebview_p_p.h:
8288 (QQuickWebViewPrivate::enableMouseEvents):
8289 (QQuickWebViewPrivate::disableMouseEvents):
8290 (QQuickWebViewLegacyPrivate):
8292 2012-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8294 [Qt] Make sure that purged directly composited images are re-created before a layer's sync.
8295 https://bugs.webkit.org/show_bug.cgi?id=81771
8297 Reviewed by Noam Rosenthal.
8299 This fixes a regression in tst_qquickwebview introduced by r111567.
8301 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8302 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8303 (WebCore::WebGraphicsLayer::updateContentBuffers):
8305 2012-03-26 Simon Hausmann <simon.hausmann@nokia.com>
8307 [WK2][Qt] Fix compilation without QtWidgets
8308 https://bugs.webkit.org/show_bug.cgi?id=79458
8310 Reviewed by Tor Arne Vestbø.
8312 * Shared/qt/WebEventFactoryQt.cpp:
8313 (WebKit::WebEventFactory::createWebWheelEvent): Replace use of QApplication::wheelScrollLines()
8314 with the constant that is actually used and usually not changed anyway.
8315 * Target.pri: Remove widgets from Qt variable.
8316 * UIProcess/qt/QtWebPageEventHandler.cpp: Remove unecessary include.
8317 * WebProcess.pro: Use widgets for the process (for the time being).
8318 * WebProcess/qt/WebProcessMainQt.cpp: Delegate QApplication creation to the caller.
8319 (WebKit::WebProcessMainQt):
8320 * qt/MainQt.cpp: Create QApplication here.
8324 2012-03-26 Andras Becsi <andras.becsi@nokia.com>
8326 Be more careful with git gui usage
8328 Unreviewed typo fix.
8330 * UIProcess/qt/QtViewportInteractionEngine.cpp: Remove additional line committed by accident.
8331 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8333 2012-03-26 Allan Sandfeld Jensen <allan.jensen@nokia.com>
8335 [Qt] Taps are sometimes not highlighted.
8336 https://bugs.webkit.org/show_bug.cgi?id=82188
8338 Reviewed by Kenneth Rohde Christiansen.
8340 Highlight any focusable parent element, or if none is found at least
8341 the element returned by bestClickableNodeForTouchPoint.
8343 * WebProcess/WebPage/WebPage.cpp:
8344 (WebKit::WebPage::highlightPotentialActivation):
8346 2012-03-26 Sheriff Bot <webkit.review.bot@gmail.com>
8348 Unreviewed, rolling out r111993.
8349 http://trac.webkit.org/changeset/111993
8350 https://bugs.webkit.org/show_bug.cgi?id=82184
8352 It broke layout and API tests and made WTR crash (Requested by
8355 * UIProcess/qt/QtPageClient.cpp:
8356 (QtPageClient::isViewWindowActive):
8358 2012-03-25 Hayato Ito <hayato@chromium.org>
8360 [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
8361 https://bugs.webkit.org/show_bug.cgi?id=79197
8363 Reviewed by Dimitri Glazkov.
8365 Add internal APIs which can be used to traverse Reified DOM tree, which is
8366 a result of node distribution algorithm explained in Shadow DOM spec.
8367 https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
8369 Every public functions defined in ReifiedTreeTraversal are static
8370 functions and are named in a similar way to ones defined in WebCore::Node class.
8371 The only difference is that ReifiedTreeTraversal APIs consider shadow
8372 hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
8375 There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
8376 and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
8379 * win/WebKit2CFLite.def:
8381 2012-03-25 Alexander Færøy <alexander.faeroy@nokia.com>
8383 Unreviewed build fix for QtWebKit on Mac OS X.
8385 * UIProcess/API/qt/tests/bytearraytestdata.cpp:
8386 (ByteArrayTestData::~ByteArrayTestData):
8387 * UIProcess/API/qt/tests/bytearraytestdata.h:
8389 2012-03-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
8391 [Qt][WK2] Implement PageClient::isViewWindowActive()
8392 https://bugs.webkit.org/show_bug.cgi?id=81143
8394 Reviewed by Kenneth Rohde Christiansen.
8396 This patch implements PageClient::isViewWindowActive()
8397 now that QQuickCanvas::isActive() is available (from QWindow).
8399 * UIProcess/qt/QtPageClient.cpp:
8400 (QtPageClient::isViewWindowActive):
8402 2012-03-23 Alexey Proskuryakov <ap@apple.com>
8404 [Mac] No need for platform-specific ENABLE_BLOB values
8405 https://bugs.webkit.org/show_bug.cgi?id=82102
8407 Reviewed by David Kilzer.
8409 * Configurations/FeatureDefines.xcconfig:
8411 2012-03-23 Sheriff Bot <webkit.review.bot@gmail.com>
8413 Unreviewed, rolling out r108851.
8414 http://trac.webkit.org/changeset/108851
8415 https://bugs.webkit.org/show_bug.cgi?id=82098
8417 "Revert the addition of unnecessary, deprecated functions in
8418 WKPreferences.h" (Requested by estes on #webkit).
8420 * UIProcess/API/C/WKPreferences.cpp:
8421 * UIProcess/API/C/WKPreferences.h:
8423 2012-03-23 Brent Fulgham <bfulgham@webkit.org>
8425 [WinCairo] Unreviewed build fix.
8427 * win/WebKit2CFLite.def: Add missing export symbols so that other
8428 tools can link properly.
8430 2012-03-23 Dean Jackson <dino@apple.com>
8432 Disable CSS_SHADERS in Apple builds
8433 https://bugs.webkit.org/show_bug.cgi?id=81996
8435 Reviewed by Simon Fraser.
8437 Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
8439 * Configurations/FeatureDefines.xcconfig:
8441 2012-03-23 Dave Michael <dmichael@chromium.org>
8443 Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8444 https://bugs.webkit.org/show_bug.cgi?id=80428
8446 Reviewed by Eric Seidel and Ryosuke Niwa.
8448 * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8449 * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8451 2012-03-23 Sheriff Bot <webkit.review.bot@gmail.com>
8453 Unreviewed, rolling out r111855.
8454 http://trac.webkit.org/changeset/111855
8455 https://bugs.webkit.org/show_bug.cgi?id=82053
8457 It broke 30+ tests (Requested by Ossy on #webkit).
8459 * UIProcess/qt/QtPageClient.cpp:
8460 (QtPageClient::isViewWindowActive):
8462 2012-03-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
8464 [Qt][WK2] Implement PageClient::isViewWindowActive()
8465 https://bugs.webkit.org/show_bug.cgi?id=81143
8467 Reviewed by Kenneth Rohde Christiansen.
8469 This patch implements PageClient::isViewWindowActive()
8470 now that QQuickCanvas::isActive() is available (from QWindow).
8472 * UIProcess/qt/QtPageClient.cpp:
8473 (QtPageClient::isViewWindowActive):
8475 2012-03-23 Andras Becsi <andras.becsi@nokia.com>
8477 [Qt][WK2] Disable the flickable when pinching.
8479 Reviewed by Kenneth Rohde Christiansen.
8481 Set the interactivity of the internal flickable to false
8482 when pinching so that it does not react to mouse events
8483 which might break pinch zoom.
8484 This is a temporal workaround and needed until the event
8485 propagation in QtQuick is fixed.
8487 * UIProcess/qt/QtViewportInteractionEngine.cpp:
8488 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
8489 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8490 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8492 2012-03-23 Ryosuke Niwa <rniwa@webkit.org>
8494 REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
8495 https://bugs.webkit.org/show_bug.cgi?id=82035
8498 * win/WebKit2CFLite.def:
8500 2012-03-22 Anders Carlsson <andersca@apple.com>
8502 Remove the Flash NPRuntime short-circuit hacks
8503 https://bugs.webkit.org/show_bug.cgi?id=81997
8504 <rdar://problem/10409289>
8506 Reviewed by Sam Weinig.
8508 This code was added to help speed up Flash plug-in instantiation by reducing the number of
8509 synchronous API calls from the plug-in process to the web process during instantiation.
8510 However, there was no real indication that this actually improved performance.
8512 Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls
8513 after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has
8514 improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to
8515 rip out this egregious hack.
8517 * PluginProcess/PluginControllerProxy.cpp:
8518 (WebKit::PluginControllerProxy::evaluate):
8519 * PluginProcess/PluginControllerProxy.h:
8520 (PluginControllerProxy):
8521 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
8522 (WebKit::NetscapePluginModule::determineQuirks):
8523 * Shared/Plugins/PluginQuirks.h:
8524 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
8525 (WebKit::NPN_Invoke):
8526 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
8527 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
8529 * WebProcess/Plugins/Plugin.cpp:
8530 (WebKit::Plugin::Parameters::encode):
8531 (WebKit::Plugin::Parameters::decode):
8532 * WebProcess/Plugins/Plugin.h:
8534 * WebProcess/Plugins/PluginController.h:
8536 * WebProcess/Plugins/PluginView.cpp:
8537 * WebProcess/Plugins/PluginView.h:
8539 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8540 (WebKit::WebFrameLoaderClient::createPlugin):
8542 2012-03-22 Raphael Kubo da Costa <rakuco@FreeBSD.org>
8544 [CMake] Unreviewed build fix after r111778.
8546 * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
8547 ${WTF_DIR}/wtf ones.
8549 2012-03-22 Csaba Osztrogonác <ossy@webkit.org>
8551 Actually move WTF files to their new home
8552 https://bugs.webkit.org/show_bug.cgi?id=81844
8554 [Qt] Unreviewed buildfix after r111778.
8556 * UIProcess/API/qt/qquicknetworkrequest_p.h:
8559 2012-03-22 Dave Michael <dmichael@chromium.org>
8561 HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8562 https://bugs.webkit.org/show_bug.cgi?id=80428
8564 Reviewed by Eric Seidel.
8566 Test: plugins/netscape-dom-access-and-reload.html
8568 * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8569 * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8571 2012-03-22 Pierre Rossi <pierre.rossi@gmail.com>
8573 Revert back the device DPI to 160.
8575 This corresponds to a device pixel ratio of 1, which
8576 is nicer on the eye in many cases.
8578 Rubber-stamped by Kenneth Rohde Christiansen.
8580 * UIProcess/API/qt/qquickwebview.cpp:
8581 (QQuickWebViewFlickablePrivate::computeViewportConstraints):
8583 2012-03-22 Alexander Færøy <alexander.faeroy@nokia.com>
8585 [Qt][WK2] Remember to initialize databaseQuotaDialog
8586 https://bugs.webkit.org/show_bug.cgi?id=81942
8588 Reviewed by Kenneth Rohde Christiansen.
8590 * UIProcess/API/qt/qquickwebview.cpp:
8591 (QQuickWebViewPrivate::QQuickWebViewPrivate):
8593 2012-03-22 Alexander Færøy <alexander.faeroy@nokia.com>
8595 [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
8596 https://bugs.webkit.org/show_bug.cgi?id=81910
8598 Reviewed by Simon Hausmann.
8600 * UIProcess/API/qt/qquickwebview.cpp:
8601 (QQuickWebViewPrivate::exceededDatabaseQuota):
8602 * UIProcess/API/qt/qquickwebview_p_p.h:
8603 (QQuickWebViewPrivate):
8604 * UIProcess/qt/QtDialogRunner.cpp:
8605 (DatabaseQuotaDialogContextObject):
8606 (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8607 (DatabaseQuotaDialogContextObject::securityOrigin):
8608 (QtDialogRunner::initForDatabaseQuotaDialog):
8609 * UIProcess/qt/QtDialogRunner.h:
8611 * UIProcess/qt/QtWebPageUIClient.cpp:
8612 (QtWebPageUIClient::exceededDatabaseQuota):
8613 * UIProcess/qt/QtWebPageUIClient.h:
8615 2012-03-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8617 [Qt] Don't resume the suspended page if the user is continuously flicking.
8618 https://bugs.webkit.org/show_bug.cgi?id=81895
8620 Reviewed by Kenneth Rohde Christiansen.
8622 Create an additional suspend deferrer between TouchBegin and TouchEnd to
8623 relay with the one kept while the flick animation is running.
8624 This allows the page to be suspended when a pan gesture starts and stay
8625 that way until the last flick animation ends.
8627 * UIProcess/qt/QtViewportInteractionEngine.cpp:
8628 (WebKit::QtViewportInteractionEngine::touchBegin):
8630 (WebKit::QtViewportInteractionEngine::touchEnd):
8631 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8632 * UIProcess/qt/QtViewportInteractionEngine.h:
8633 (QtViewportInteractionEngine):
8634 * UIProcess/qt/QtWebPageEventHandler.cpp:
8635 (QtWebPageEventHandler::doneWithTouchEvent):
8637 2012-03-22 Carlos Garcia Campos <cgarcia@bb-webkit-rel-64.local.igalia.com>
8639 [GTK] Use the angle-bracket form to include wtf headers
8640 https://bugs.webkit.org/show_bug.cgi?id=81884
8642 Reviewed by Eric Seidel.
8644 Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>.
8646 * UIProcess/API/gtk/tests/TestMain.h:
8647 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
8649 2012-03-22 No'am Rosenthal <noam.rosenthal@nokia.com>
8651 [Qt][WK2] The background appears to have one extra pixel from the contents
8652 https://bugs.webkit.org/show_bug.cgi?id=81830
8654 Reviewed by Kenneth Rohde Christiansen.
8656 The clip-polygon from the scenegraph uses floats, not integers.
8657 This could cause 1-offset clipping problems in some cases.
8659 * UIProcess/qt/QtWebPageSGNode.cpp:
8660 (WebKit::ContentsSGNode::clipRect):
8662 2012-03-21 Alexander Færøy <alexander.faeroy@nokia.com>
8664 [Qt][WK2] Add QML API for handling database quotas
8665 https://bugs.webkit.org/show_bug.cgi?id=81827
8667 Reviewed by Simon Hausmann.
8669 Patch by Pierre Rossi and Alexander Færøy.
8671 This patch adds a QML API for handling database quotas.
8673 * UIProcess/API/qt/qquickwebview.cpp:
8674 (QQuickWebViewPrivate::exceededDatabaseQuota):
8675 (QQuickWebViewExperimental::databaseQuotaDialog):
8676 (QQuickWebViewExperimental::setDatabaseQuotaDialog):
8677 * UIProcess/API/qt/qquickwebview_p.h:
8678 * UIProcess/API/qt/qquickwebview_p_p.h:
8679 (QQuickWebViewPrivate):
8680 * UIProcess/qt/QtDialogRunner.cpp:
8681 (DatabaseQuotaDialogContextObject):
8682 (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8683 (DatabaseQuotaDialogContextObject::databaseName):
8684 (DatabaseQuotaDialogContextObject::displayName):
8685 (DatabaseQuotaDialogContextObject::currentQuota):
8686 (DatabaseQuotaDialogContextObject::currentOriginUsage):
8687 (DatabaseQuotaDialogContextObject::currentDatabaseUsage):
8688 (DatabaseQuotaDialogContextObject::expectedUsage):
8689 (DatabaseQuotaDialogContextObject::accept):
8690 (DatabaseQuotaDialogContextObject::reject):
8691 (QtDialogRunner::initForDatabaseQuotaDialog):
8692 * UIProcess/qt/QtDialogRunner.h:
8694 (QtDialogRunner::databaseQuota):
8695 (QtDialogRunner::onDatabaseQuotaAccepted):
8696 * UIProcess/qt/QtWebPageUIClient.cpp:
8697 (QtWebPageUIClient::QtWebPageUIClient):
8698 (QtWebPageUIClient::exceededDatabaseQuota):
8699 * UIProcess/qt/QtWebPageUIClient.h:
8700 * UIProcess/qt/WebContextQt.cpp:
8701 (WebKit::WebContext::platformDefaultDatabaseDirectory):
8703 2012-03-21 Tim Horton <timothy_horton@apple.com>
8705 Make use of CG rounded-rect primitives
8706 https://bugs.webkit.org/show_bug.cgi?id=79932
8707 <rdar://problem/9274953>
8709 Reviewed by Simon Fraser.
8711 Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
8713 Add wkCGPathAddRoundedRect.
8715 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
8716 (InitWebCoreSystemInterface):
8718 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8720 [Qt] WebGraphicsLayer: Untie the layer updates and tile updates.
8721 https://bugs.webkit.org/show_bug.cgi?id=81771
8723 Reviewed by Kenneth Rohde Christiansen.
8725 The DidRenderFrame message needs to be sent for every UpdateTileForLayer
8726 message, but this currently has to be triggered by m_shouldSyncFrame which
8727 is only set after sending a SyncCompositingLayerState message.
8728 This patch makes sure that tile updates won't trigger sending the whole
8729 layer info if it didn't change, and send the DidRenderFrame message directly.
8731 It also makes sure that the layer info is sent before any tile update so that
8732 the layer can be created on the UI process before any tile update is handled.
8734 * UIProcess/WebLayerTreeRenderer.cpp:
8735 (WebKit::WebLayerTreeRenderer::getBackingStore):
8736 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8737 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8738 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
8739 (WebCore::WebGraphicsLayer::createTile):
8740 (WebCore::WebGraphicsLayer::updateTile):
8741 (WebCore::WebGraphicsLayer::removeTile):
8742 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8743 (WebKit::LayerTreeHostQt::createTile):
8744 (WebKit::LayerTreeHostQt::updateTile):
8745 (WebKit::LayerTreeHostQt::removeTile):
8747 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8749 [Qt] Don't clip the contents rendering to the contents size.
8750 https://bugs.webkit.org/show_bug.cgi?id=81770
8752 Reviewed by Kenneth Rohde Christiansen.
8754 The original bug was caused by the contents size updates
8755 having to go through the UI process before being applied
8756 on the TiledBackingStore of the non composited contents layer.
8757 With this bug being fixed, the clipping isn't necessary anymore.
8759 * UIProcess/qt/LayerBackingStore.cpp:
8760 (WebKit::LayerBackingStore::paintToTextureMapper):
8762 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8764 [Qt] Apply tile removals at the same time as update buffer swaps.
8765 https://bugs.webkit.org/show_bug.cgi?id=81768
8767 Reviewed by Kenneth Rohde Christiansen.
8769 When committing the scale, we have to remove old tiles once the
8770 tiles for the new scale are rendered. This should however wait
8771 until those tiles gets their buffer swapped (following the DidRenderFrame
8772 message) to make sure that there is no rendered gap between the removals
8774 This patch continues rendering the removed tiles until the DidRenderFrame
8775 message is received to discard the old contents and show the new contents
8778 * UIProcess/WebLayerTreeRenderer.cpp:
8779 (WebKit::WebLayerTreeRenderer::commitTileUpdates):
8780 (WebKit::WebLayerTreeRenderer::flushLayerChanges):
8781 * UIProcess/WebLayerTreeRenderer.h:
8782 (WebLayerTreeRenderer):
8783 * UIProcess/qt/LayerBackingStore.cpp:
8784 (WebKit::LayerBackingStore::removeTile):
8785 (WebKit::LayerBackingStore::commitTileUpdates):
8786 * UIProcess/qt/LayerBackingStore.h:
8787 (LayerBackingStore):
8789 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8791 [Qt] Trigger scene graph repaints only for relevant layer updates.
8792 https://bugs.webkit.org/show_bug.cgi?id=81765
8794 Reviewed by Kenneth Rohde Christiansen.
8796 Tile updates and removal shouldn't re-render the scene all by themselves
8797 since they need a buffer swap before having any effect on the framebuffer.
8799 * UIProcess/LayerTreeHostProxy.cpp:
8800 (WebKit::LayerTreeHostProxy::dispatchUpdate):
8801 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
8802 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
8803 (WebKit::LayerTreeHostProxy::didRenderFrame):
8805 2012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
8807 [Qt] Don't go through the UI process to update a layer's contents size.
8808 https://bugs.webkit.org/show_bug.cgi?id=81764
8810 Reviewed by Kenneth Rohde Christiansen.
8812 It's happening when navigating pages that contents from the old page
8813 is still present on the tiles until the contents size is shrunk to cut it out.
8814 Since the contents size updates are asynchronous and go through the UI process,
8815 this could occasionally show some glitch frames.
8816 Even worse, the user could delay this update by starting to pan and keep
8817 his finger on the screen.
8818 This patch makes sure that changes to contents size are notifying the LayerTreeHost
8819 immediately when in fixed layout mode, and remove the loop through the UI process.
8821 * UIProcess/API/qt/qquickwebpage.cpp:
8822 (QQuickWebPage::setContentsSize):
8823 * UIProcess/API/qt/qquickwebpage_p_p.h:
8824 (QQuickWebPagePrivate):
8825 * UIProcess/API/qt/qquickwebview.cpp:
8826 (QQuickWebViewPrivate::didRelaunchProcess):
8827 (QQuickWebViewLegacyPrivate::updateViewportSize):
8828 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8829 (WebKit::WebChromeClient::contentsSizeChanged):
8830 * WebProcess/WebPage/DrawingArea.h:
8832 (WebKit::DrawingArea::layerTreeHost):
8833 * WebProcess/WebPage/DrawingAreaImpl.cpp:
8834 (WebKit::DrawingAreaImpl::updateBackingStoreState):
8835 * WebProcess/WebPage/DrawingAreaImpl.h:
8836 (WebKit::DrawingAreaImpl::layerTreeHost):
8837 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8838 (WebKit::LayerTreeHostQt::sizeDidChange):
8840 2012-03-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
8842 The activation highlight does not always hide
8843 https://bugs.webkit.org/show_bug.cgi?id=81767
8845 Reviewed by Simon Hausmann.
8847 The zero point used for hiding potential activations should
8850 * UIProcess/qt/QtWebPageEventHandler.cpp:
8851 (QtWebPageEventHandler::handlePotentialSingleTapEvent):
8853 2012-03-21 Dinu Jacob <dinu.jacob@nokia.com>
8855 [Qt][WK2] Item cannot be selected from select list in touch webview
8856 https://bugs.webkit.org/show_bug.cgi?id=81674
8858 Reviewed by Simon Hausmann.
8860 Activate flag to prevent QQuickWebView from accepting touch event when select
8861 dialog is being displayed.
8863 * UIProcess/API/qt/qquickwebview.cpp:
8864 (QQuickWebViewPrivate::QQuickWebViewPrivate):
8865 (QQuickWebViewPrivate::execDialogRunner):
8866 (QQuickWebView::touchEvent):
8867 * UIProcess/API/qt/qquickwebview_p_p.h:
8868 (QQuickWebViewPrivate::setDialogActive):
8869 (QQuickWebViewPrivate):
8870 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
8871 (WebKit::WebPopupMenuProxyQt::showPopupMenu):
8872 (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
8874 2012-03-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
8876 [Qt] Remove the PostTransitionState
8877 https://bugs.webkit.org/show_bug.cgi?id=81751
8879 Reviewed by Simon Hausmann.
8881 As we are handling content size change event etc from the
8882 WebProcess, that conflicts with the PostTransitionState handling
8883 and we therefore need to handle this slightly differently.
8885 Remove the code and make sure that we never resize the tiled
8886 area to something smaller than the layout viewport.
8888 * UIProcess/API/qt/qquickwebview.cpp:
8889 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
8890 (QQuickWebViewFlickablePrivate::loadDidCommit):
8891 (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
8892 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
8893 (QQuickWebViewFlickablePrivate::_q_resume):
8894 (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
8895 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
8896 * UIProcess/API/qt/qquickwebview_p_p.h:
8897 (QQuickWebViewFlickablePrivate):
8898 * UIProcess/qt/QtViewportInteractionEngine.cpp:
8899 (WebKit::QtViewportInteractionEngine::applyConstraints):
8900 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8901 (WebKit::WebChromeClient::contentsSizeChanged):
8902 * WebProcess/WebPage/WebPage.cpp:
8903 (WebKit::WebPage::resizeToContentsIfNeeded):
8905 2012-03-21 Carlos Garcia Campos <cgarcia@igalia.com>
8907 [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+
8908 https://bugs.webkit.org/show_bug.cgi?id=75543
8910 Reviewed by Martin Robinson.
8912 * GNUmakefile.am: Add new files to compilation.
8913 * UIProcess/API/gtk/WebKitError.cpp:
8914 (webkit_javascript_error_quark): Add new error domain for
8916 * UIProcess/API/gtk/WebKitError.h:
8917 * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added.
8918 (webkitJavascriptResultCreate): Create a WebKitJavascriptResult
8919 for the given WKSerializedScriptValueRef.
8920 (webkit_javascript_result_ref): Increment reference count of
8921 WebKitJavascriptResult.
8922 (webkit_javascript_result_unref): Decrement reference count of
8923 WebKitJavascriptResult.
8924 (webkit_javascript_result_get_global_context): Get global
8925 javascript context of the result.
8926 (webkit_javascript_result_get_value): Get the JSValueRef of the
8928 * UIProcess/API/gtk/WebKitJavascriptResult.h: Added.
8929 * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added.
8930 * UIProcess/API/gtk/WebKitPrivate.h:
8931 * UIProcess/API/gtk/WebKitWebView.cpp:
8932 (webkitWebViewFinalize): Release the global javascript context.
8933 (webkit_web_view_get_javascript_global_context): Get or create the
8934 global javascript context.
8935 (webkitWebViewRunJavaScriptCallback): Callback called by C API when
8936 javascript execution finishes.
8937 (webkit_web_view_run_javascript): Asynchronously run a given
8939 (webkit_web_view_run_javascript_finish): Finish async operation
8940 started by webkit_web_view_run_javascript().
8941 * UIProcess/API/gtk/WebKitWebView.h:
8942 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8943 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8944 webkit_javascript_result_get_type().
8945 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
8946 (testWebViewRunJavaScript):
8948 * UIProcess/API/gtk/tests/WebViewTest.cpp:
8949 (WebViewTest::WebViewTest):
8950 (WebViewTest::~WebViewTest):
8951 (runJavaScriptReadyCallback):
8952 (WebViewTest::runJavaScriptAndWaitUntilFinished):
8954 (WebViewTest::javascriptResultToCString):
8955 (WebViewTest::javascriptResultToNumber):
8956 (WebViewTest::javascriptResultToBoolean):
8957 (WebViewTest::javascriptResultIsNull):
8958 (WebViewTest::javascriptResultIsUndefined):
8959 * UIProcess/API/gtk/tests/WebViewTest.h:
8960 * UIProcess/API/gtk/webkit2.h:
8962 2012-03-20 Eric Seidel <eric@webkit.org>
8964 Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
8965 https://bugs.webkit.org/show_bug.cgi?id=80911
8967 Reviewed by Adam Barth.
8969 Update to not depend on "Foo.h" includes for WTF headers.
8971 * Shared/qt/QtNetworkReplyData.h:
8972 * Shared/qt/QtNetworkRequestData.cpp:
8973 * Shared/qt/QtNetworkRequestData.h:
8975 2012-03-20 Anders Carlsson <andersca@apple.com>
8977 REGRESSION (r110780): Loading a PDF always makes the WKView layer backed
8978 https://bugs.webkit.org/show_bug.cgi?id=81734
8979 <rdar://problem/11088172>
8981 Reviewed by Adele Peterson.
8983 * UIProcess/API/mac/WKView.mm:
8984 (-[WKView _setPageHasCustomRepresentation:]):
8985 Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting
8986 accelerated compositing mode for us.
8988 2012-03-20 Jon Lee <jonlee@apple.com>
8990 Restrict access to notifications for unique origins and file URLs with no local file access
8991 https://bugs.webkit.org/show_bug.cgi?id=79704
8992 <rdar://problem/10912430>
8994 Reviewed by Adam Barth.
8996 In the specific case where a file URL has restricted file access and is denied universal access,
8997 SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
8998 The cached table of permissions held by the notification manager will typically not have an entry for
8999 the toString() representation of these file URLs, which is "null", since that can also cover unique
9000 origins, and it is possible that the client will want different permissions between the two types.
9002 It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9004 * WebProcess/Notifications/WebNotificationManager.cpp:
9005 (WebKit::WebNotificationManager::policyForOrigin):
9007 2012-03-20 Alexey Proskuryakov <ap@apple.com>
9009 Address review comment for WebProcess side, too.
9011 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for
9012 path to be in static storage, setenv will copy the value.
9014 2012-03-20 Alexey Proskuryakov <ap@apple.com>
9016 Sandboxed PluginProcess should use private temporary and cache directories
9017 https://bugs.webkit.org/show_bug.cgi?id=81702
9018 <rdar://problem/10792047>
9020 Reviewed by Anders Carlsson.
9022 * Platform/Module.h:
9023 * Platform/mac/ModuleMac.mm:
9024 (WebKit::Module::bundleIdentifier):
9025 Expose plug-in's bundle identifier.
9027 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make
9028 networking functional on my testing platforms. These serveices are already allowed for
9031 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
9032 (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but
9033 didn't update where it's read from!
9034 (WKN_EnterSandbox): Add a suffix to user directories.
9036 2012-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
9038 Unreviewed, rolling out r111445 and r111446.
9039 http://trac.webkit.org/changeset/111445
9040 http://trac.webkit.org/changeset/111446
9041 https://bugs.webkit.org/show_bug.cgi?id=81708
9043 It broke Qt and GTK build intentionally (Requested by Ossy on
9046 * WebProcess/Notifications/WebNotificationManager.cpp:
9047 (WebKit::WebNotificationManager::policyForOrigin):
9049 2012-03-20 Jon Lee <jonlee@apple.com>
9051 Restrict access to notifications for unique origins and file URLs with no local file access
9052 https://bugs.webkit.org/show_bug.cgi?id=79704
9053 <rdar://problem/10912430>
9055 Reviewed by Adam Barth.
9057 In the specific case where a file URL has restricted file access and is denied universal access,
9058 SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
9059 The cached table of permissions held by the notification manager will typically not have an entry for
9060 the toString() representation of these file URLs, which is "null", since that can also cover unique
9061 origins, and it is possible that the client will want different permissions between the two types.
9063 It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9065 * WebProcess/Notifications/WebNotificationManager.cpp:
9066 (WebKit::WebNotificationManager::policyForOrigin):
9068 2012-03-20 Alexey Proskuryakov <ap@apple.com>
9070 WebProcess should use private temporary and cache directories
9071 https://bugs.webkit.org/show_bug.cgi?id=80876
9073 Reviewed by Sam Weinig.
9075 * Shared/WebProcessCreationParameters.cpp:
9076 (WebKit::WebProcessCreationParameters::encode):
9077 (WebKit::WebProcessCreationParameters::decode):
9078 * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters):
9079 * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
9080 Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than
9083 * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it.
9085 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix
9086 on user directories.
9088 2012-03-20 Anders Carlsson <andersca@apple.com>
9090 Graphic distortion effect when launching with empty page Safari after reset
9091 https://bugs.webkit.org/show_bug.cgi?id=81677
9092 <rdar://problem/11065904>
9094 Reviewed by Sam Weinig.
9096 Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead,
9097 let AppKit decide which redraw policy to use.
9099 * UIProcess/API/mac/WKView.mm:
9100 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9102 2012-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
9104 Convert hasSpellingMarker to use Internals interface.
9105 https://bugs.webkit.org/show_bug.cgi?id=81300
9107 Reviewed by Ryosuke Niwa.
9109 * win/WebKit2.def: Export a symbol for hasSpellingMarker.
9111 2012-03-20 Antaryami Pandia <antaryami.pandia@motorola.com>
9113 [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API.
9114 https://bugs.webkit.org/show_bug.cgi?id=80981
9116 Reviewed by Martin Robinson.
9118 Add WebSettings to enable/disable javascript clipboard functionality.
9120 * UIProcess/API/gtk/WebKitSettings.cpp:
9121 (webKitSettingsSetProperty):
9122 (webKitSettingsGetProperty):
9123 (webkit_settings_class_init):
9124 (webkit_settings_get_javascript_can_access_clipboard):
9125 (webkit_settings_set_javascript_can_access_clipboard):
9126 * UIProcess/API/gtk/WebKitSettings.h:
9127 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
9128 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
9129 (testWebKitSettings):
9131 2012-03-19 Adam Barth <abarth@webkit.org>
9133 Remove support for "magic" iframe
9134 https://bugs.webkit.org/show_bug.cgi?id=81590
9136 Reviewed by Eric Seidel.
9138 Remove FrameLoaderClient methods that no longer exist.
9140 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9142 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
9144 2012-03-19 Gustavo Noronha Silva <gns@gnome.org>
9146 [GTK] libWebCore.la has become too big for make
9147 https://bugs.webkit.org/show_bug.cgi?id=81582
9149 Unreviewed build fix.
9151 * GNUmakefile.am: link-in the new libWebCoreModules.la
9153 2012-03-19 Sam Weinig <sam@webkit.org>
9155 Stop messing with the AppKit grow box on platforms that don't support it
9156 <rdar://problem/10752048>
9157 https://bugs.webkit.org/show_bug.cgi?id=81614
9159 Reviewed by Dan Bernstein.
9161 * UIProcess/API/mac/WKView.mm:
9162 (-[WKView viewWillMoveToWindow:]):
9163 (-[WKView _didChangeScrollbarsForMainFrame]):
9164 Snow Leopard was the last Mac OS to need a grow box.
9166 2012-03-19 Enrica Casucci <enrica@apple.com>
9168 WebKit2: create sandbox extensions for files that are dropped in an input control.
9169 https://bugs.webkit.org/show_bug.cgi?id=81153
9170 <rdar://problem/11031207>
9172 Reviewed by Alexey Proskuryakov.
9174 Now the pasteboard access is performed only in the UI process, it is
9175 necessary to create sandbox extensions for each file that is dropped into
9176 an input type=file element. The extensions are created at the time the files
9177 are dropped and consumed immediately.
9179 * Platform/CoreIPC/HandleMessage.h:
9180 (CoreIPC::callMemberFunction): Added template that takes 8 arguments.
9181 * Shared/SandboxExtension.h:
9182 (HandleArray): Added new class to handle an array of sandbox extension handles.
9183 (WebKit::SandboxExtension::HandleArray::HandleArray):
9184 (WebKit::SandboxExtension::HandleArray::~HandleArray):
9185 (WebKit::SandboxExtension::HandleArray::resize):
9186 (WebKit::SandboxExtension::HandleArray::operator[]):
9187 (WebKit::SandboxExtension::HandleArray::size):
9188 (WebKit::SandboxExtension::HandleArray::encode):
9189 (WebKit::SandboxExtension::HandleArray::decode):
9190 * Shared/mac/SandboxExtensionMac.mm: Added new class implementation.
9191 (WebKit::SandboxExtension::HandleArray::HandleArray):
9192 (WebKit::SandboxExtension::HandleArray::~HandleArray):
9193 (WebKit::SandboxExtension::HandleArray::resize):
9194 (WebKit::SandboxExtension::HandleArray::operator[]):
9195 (WebKit::SandboxExtension::HandleArray::size):
9196 (WebKit::SandboxExtension::HandleArray::encode):
9197 (WebKit::SandboxExtension::HandleArray::decode):
9198 * UIProcess/API/mac/WKView.mm:
9199 (createSandboxExtensionsForFileUpload):
9200 (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each
9201 file/directory being dropped.
9202 * UIProcess/WebPageProxy.cpp:
9203 (WebKit::WebPageProxy::dragEntered):
9204 (WebKit::WebPageProxy::dragUpdated):
9205 (WebKit::WebPageProxy::dragExited):
9206 (WebKit::WebPageProxy::performDrag):
9207 (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter.
9208 * UIProcess/WebPageProxy.h:
9209 * UIProcess/qt/QtWebPageEventHandler.cpp:
9210 (QtWebPageEventHandler::handleDropEvent):
9211 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
9212 * UIProcess/win/WebView.cpp:
9213 (WebKit::WebView::Drop):
9214 * WebProcess/WebCoreSupport/WebDragClient.cpp:
9215 (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload.
9216 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9217 (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process.
9218 * WebProcess/WebPage/WebPage.cpp:
9219 (WebKit::WebPage::performDragControllerAction):
9220 (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions.
9221 * WebProcess/WebPage/WebPage.h:
9222 * WebProcess/WebPage/WebPage.messages.in:
9224 2012-03-19 Alexey Proskuryakov <ap@apple.com>
9226 Make WebFrameLoaderClient::createFrame more like WebKit1 version.
9227 https://bugs.webkit.org/show_bug.cgi?id=81550
9229 Covered by existing tests.
9231 Reviewed by Jessie Berlin.
9233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame):
9235 2012-03-19 Anders Carlsson <andersca@apple.com>
9237 Find in page highlights get out of place when scrolling
9238 https://bugs.webkit.org/show_bug.cgi?id=81543
9239 <rdar://problem/10932590>
9241 Reviewed by Sam Weinig.
9243 When we have a page overlay layer, always force a full repaint of it whenever the page changes.
9244 If this turns out to be a real performance problem (measurements suggest that it isn't), we could once
9245 again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than
9246 simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly.
9248 Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling
9249 on a page that had a find overlay visible.
9251 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
9252 (TiledCoreAnimationDrawingArea):
9253 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9254 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
9255 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9257 2012-03-19 Anders Carlsson <andersca@apple.com>
9259 When Find overlay first appears and the page scrolls, the scrolling happens through a fade
9260 https://bugs.webkit.org/show_bug.cgi?id=81539
9261 <rdar://problem/11031093>
9263 Reviewed by Dan Bernstein.
9265 Disable implicit animations when adding the page overlay layer to its superlayer.
9267 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9268 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9270 2012-03-19 Anders Carlsson <andersca@apple.com>
9272 Crash when closing an inspected web page with tiled drawing enabled
9273 https://bugs.webkit.org/show_bug.cgi?id=81524
9274 <rdar://problem/11062396>
9276 Reviewed by Sam Weinig.
9278 Guard against the WebPage's underlying WebCore Page being null, which can happen
9279 when the inspector highlight overlay is uninstalled by the inspector when the inspected
9282 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9283 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
9285 2012-03-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
9287 Merge _q_commitScaleChange and _q_commitPositionChange
9288 https://bugs.webkit.org/show_bug.cgi?id=81511
9290 Reviewed by Simon Hausmann.
9292 Both methods were used for notifying WebCore of the new
9293 viewport and re-tiling. The methods are merge into
9294 _q_contentViewportChanged.
9296 * UIProcess/API/qt/qquickwebview.cpp:
9297 (QQuickWebViewFlickablePrivate::onComponentComplete):
9298 (QQuickWebViewFlickablePrivate::updateViewportSize):
9299 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
9300 (QQuickWebViewFlickablePrivate::_q_resume):
9301 * UIProcess/API/qt/qquickwebview_p.h:
9302 * UIProcess/API/qt/qquickwebview_p_p.h:
9303 (QQuickWebViewPrivate::_q_contentViewportChanged):
9304 (QQuickWebViewFlickablePrivate):
9305 * UIProcess/qt/QtViewportInteractionEngine.cpp:
9306 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
9307 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
9308 (WebKit::QtViewportInteractionEngine::wheelEvent):
9309 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
9310 * UIProcess/qt/QtViewportInteractionEngine.h:
9311 (QtViewportInteractionEngine):
9313 2012-03-19 Allan Sandfeld Jensen <allan.jensen@nokia.com>
9315 Select best target for tap gesture.
9316 https://bugs.webkit.org/show_bug.cgi?id=78801
9318 Reviewed by Kenneth Rohde Christiansen.
9320 Send radius to handlePotentialSingleTapEvent so it can do the same hit
9321 detection the tap gesture later does.
9323 * UIProcess/WebPageProxy.cpp:
9324 (WebKit::WebPageProxy::handlePotentialActivation):
9325 * UIProcess/WebPageProxy.h:
9326 * UIProcess/qt/QtWebPageEventHandler.cpp:
9327 (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9328 * WebProcess/WebPage/WebPage.cpp:
9329 (WebKit::WebPage::highlightPotentialActivation):
9330 * WebProcess/WebPage/WebPage.h:
9331 * WebProcess/WebPage/WebPage.messages.in:
9333 2012-03-19 Alexander Færøy <alexander.faeroy@nokia.com>
9335 [Qt] Add experimental API for dynamically changing the UA string
9337 Reviewed by Simon Hausmann.
9339 This patch adds a new property named userAgent to the
9340 QQuickWebViewExperimental type which allows us to dynamically change
9341 the user agent string from the QML API.
9343 * UIProcess/API/qt/qquickwebview.cpp:
9344 (QQuickWebViewExperimental::userAgent):
9345 (QQuickWebViewExperimental::setUserAgent):
9346 * UIProcess/API/qt/qquickwebview_p.h:
9348 2012-03-18 No'am Rosenthal <noam.rosenthal@nokia.com>
9350 [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration
9351 https://bugs.webkit.org/show_bug.cgi?id=81368
9353 Reviewed by Simon Hausmann.
9355 Moved the QtScenegraph integration classes to a separate file,
9356 QtWebPageSGNode. The nodes created for QQuickWebPage now include
9357 a QSGTransformNode that controls the contentsScale, a
9358 QSGSimpleRectNode that controls the background color, and a
9359 QSGRenderNode subclass that renders the actual contents.
9361 * UIProcess/API/qt/qquickwebpage.cpp:
9362 (QQuickWebPage::updatePaintNode):
9363 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
9364 * UIProcess/qt/QtWebPageSGNode.h: Added.
9366 2012-03-18 No'am Rosenthal <noam.rosenthal@nokia.com>
9368 [Qt] The background is visible for tiles inside the contents area which are not ready
9369 https://bugs.webkit.org/show_bug.cgi?id=81349
9371 Reviewed by Simon Hausmann.
9373 Split PageProxyNode to BackgroundSGNode and ContentsSGNode.
9374 BackgroundSGNode paints a solid background, either white or transparent
9375 (depending on drawsTransparentBackground flag).
9377 * UIProcess/API/qt/qquickwebpage.cpp:
9379 (ContentsSGNode::ContentsSGNode):
9380 (ContentsSGNode::changedStates):
9381 (ContentsSGNode::~ContentsSGNode):
9383 (BackgroundSGNode::BackgroundSGNode):
9384 (BackgroundSGNode::contentsNode):
9385 (QQuickWebPage::updatePaintNode):
9387 2012-03-17 Joe Thomas <joethomas@motorola.com>
9389 move calc*Value functions out from Length (and platform)
9390 https://bugs.webkit.org/show_bug.cgi?id=80897
9392 Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
9393 This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
9395 Reviewed by Antti Koivisto.
9397 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
9398 (WebKit::WebPopupMenu::setUpPlatformData):
9400 2012-03-17 Dan Bernstein <mitz@apple.com>
9402 <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar
9403 https://bugs.webkit.org/show_bug.cgi?id=81454
9405 Reviewed by Ada Chan.
9407 When the Press and Hold panel is dismissed by clicking in the menu bar,
9408 -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1
9409 (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range
9410 returns 0, which leads to the crash.
9412 * WebProcess/WebPage/mac/WebPageMac.mm:
9413 (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges.
9415 2012-03-16 Stephanie Lewis <slewis@apple.com>
9417 https://bugs.webkit.org/show_bug.cgi?id=81065
9418 <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142
9419 Add some string function exports to Windows so the WebKitTestRunner can use them.
9421 Reviewed by Geoff Garen.
9425 2012-03-16 Brady Eidson <beidson@apple.com>
9427 <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
9428 REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
9430 Reviewed by Geoff Garen.
9432 Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL:
9433 * UIProcess/WebContext.h:
9434 * UIProcess/WebContext.messages.in:
9435 * UIProcess/mac/WebContextMac.mm:
9436 (WebKit::WebContext::getPasteboardURL):
9438 Use that new message to implement the pasteboard strategy:
9439 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9440 (WebKit::WebPlatformStrategies::url):
9441 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9442 (WebPlatformStrategies):
9444 2012-03-16 Alexey Proskuryakov <ap@apple.com>
9446 ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing
9447 "crashes" on Lion Intel Debug WebKit2 Tests
9448 https://bugs.webkit.org/show_bug.cgi?id=81184
9449 <rdar://problem/11052462>
9451 Rubber-stamped by Anders Carlsson.
9453 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading):
9454 Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty,
9455 we would create the plug-in here, but failed to finalize the load.
9457 2012-03-08 Jer Noble <jer.noble@apple.com>
9459 Support W3C Full Screen API proposal
9460 https://bugs.webkit.org/show_bug.cgi?id=80660
9462 Reviewed by Alexey Proskuryakov.
9464 Allow full screen elements to access the keyboard.
9466 * UIProcess/WebFullScreenManagerProxy.cpp:
9467 (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
9468 * WebProcess/FullScreen/WebFullScreenManager.cpp:
9469 (WebKit::WebFullScreenManager::exitFullScreenForElement):
9471 2012-03-16 Andras Becsi <andras.becsi@nokia.com>
9473 [Qt][WK2] Fix bounce-back behaviour for panning
9474 https://bugs.webkit.org/show_bug.cgi?id=81144
9476 Reviewed by Kenneth Rohde Christiansen.
9478 If the pan gesture recognizer receives a touch begin event
9479 during an ongoing kinetic scroll animation of a previous
9480 pan gesture, the animation is stopped and the content is
9481 immediately positioned back to valid boundaries.
9483 * UIProcess/qt/QtPanGestureRecognizer.cpp:
9484 (WebKit::QtPanGestureRecognizer::recognize):
9485 * UIProcess/qt/QtViewportInteractionEngine.cpp:
9486 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
9488 * UIProcess/qt/QtViewportInteractionEngine.h:
9489 (QtViewportInteractionEngine):
9491 2012-03-16 Dinu Jacob <dinu.jacob@nokia.com>
9493 [Qt][Wk2] Assertion Failure and crash on file upload
9494 https://bugs.webkit.org/show_bug.cgi?id=80854
9496 Reviewed by Simon Hausmann.
9498 Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a
9499 QGuiApplication. Replace QFileDialog with a QML implementable component.
9500 Added a new property 'filePicker' to WebView experimental to set the QML component for
9501 file upload triggered by an input file element.
9503 Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com>
9505 * UIProcess/API/qt/qquickwebview.cpp:
9506 (QQuickWebViewPrivate::QQuickWebViewPrivate):
9507 (QQuickWebViewPrivate::chooseFiles):
9508 (QQuickWebViewExperimental::filePicker):
9509 (QQuickWebViewExperimental::setFilePicker):
9510 * UIProcess/API/qt/qquickwebview_p.h:
9511 * UIProcess/API/qt/qquickwebview_p_p.h:
9512 (QQuickWebViewPrivate):
9513 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
9514 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added.
9515 * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added.
9516 * UIProcess/qt/QtDialogRunner.cpp:
9517 (FilePickerContextObject):
9518 (FilePickerContextObject::FilePickerContextObject):
9519 (FilePickerContextObject::fileList):
9520 (FilePickerContextObject::reject):
9521 (FilePickerContextObject::accept):
9522 (QtDialogRunner::initForFilePicker):
9523 * UIProcess/qt/QtDialogRunner.h:
9525 (QtDialogRunner::filePaths):
9526 (QtDialogRunner::onFileSelected):
9528 2012-03-16 Dinu Jacob <dinu.jacob@nokia.com>
9530 [Qt][WK2] Build failure when using --no-touch-events
9531 https://bugs.webkit.org/show_bug.cgi?id=81241
9533 Reviewed by Simon Hausmann.
9535 Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
9536 failure when using --no-touch-events option
9538 * UIProcess/qt/QtPageClient.h:
9540 * UIProcess/qt/QtWebPageEventHandler.cpp:
9541 (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9542 * UIProcess/qt/QtWebPageEventHandler.h:
9543 (QtWebPageEventHandler):
9544 * WebProcess/WebPage/WebPage.cpp:
9545 (WebKit::WebPage::WebPage):
9546 * WebProcess/WebPage/WebPage.h:
9548 * WebProcess/WebPage/WebPage.messages.in:
9550 2012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
9552 Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
9553 https://bugs.webkit.org/show_bug.cgi?id=81346
9555 Reviewed by Simon Hausmann.
9557 This cleans up the code path and is one step on the way to avoid
9558 calling both methods in succession, for instance after ending pinch
9561 * UIProcess/API/qt/qquickwebview.cpp:
9562 (QQuickWebViewLegacyPrivate::updateViewportSize):
9563 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
9564 (QQuickWebViewPrivate::_q_commitPositionChange):
9565 * UIProcess/DrawingAreaProxy.h:
9566 (WebKit::DrawingAreaProxy::setVisibleContentsRect):
9567 * UIProcess/DrawingAreaProxyImpl.cpp:
9568 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
9569 * UIProcess/DrawingAreaProxyImpl.h:
9570 (DrawingAreaProxyImpl):
9571 * UIProcess/LayerTreeHostProxy.cpp:
9572 (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
9573 * UIProcess/LayerTreeHostProxy.h:
9574 (LayerTreeHostProxy):
9575 * UIProcess/WebLayerTreeRenderer.cpp:
9576 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
9577 * UIProcess/WebLayerTreeRenderer.h:
9578 (WebLayerTreeRenderer):
9579 * WebProcess/WebPage/LayerTreeHost.h:
9580 (WebKit::LayerTreeHost::setVisibleContentsRect):
9581 * WebProcess/WebPage/LayerTreeHost.messages.in:
9582 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
9583 (WebKit::LayerTreeHostQt::setVisibleContentsRect):
9584 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
9587 2012-03-16 YoungTaeck Song <youngtaeck.song@samsung.com>
9589 [EFL][WK2] Add ProcessLauncherEfl.cpp
9590 https://bugs.webkit.org/show_bug.cgi?id=75464
9592 Reviewed by Hajime Morita.
9594 Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
9596 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
9597 (WebKit::ProcessLauncher::launchProcess):
9598 (WebKit::ProcessLauncher::terminateProcess):
9599 (WebKit::ProcessLauncher::platformInvalidate):
9601 2012-03-15 Anders Carlsson <andersca@apple.com>
9603 Try to fix the Snow Leopard build.
9605 * UIProcess/API/mac/PDFViewController.mm:
9606 (WebKit::PDFViewController::pdfKitBundle):
9608 2012-03-07 Jon Lee <jonlee@apple.com>
9610 Move NotificationContents into Notification
9611 https://bugs.webkit.org/show_bug.cgi?id=80487
9612 <rdar://problem/10965519>
9614 Reviewed by Jian Li.
9616 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
9617 * WebProcess/Notifications/WebNotificationManager.cpp:
9618 (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
9620 2012-03-15 Brent Fulgham <bfulgham@webkit.org>
9622 Unreviewed build correction. WinCairo export definitions
9623 file was not updated when the main Apple file was changed.
9625 * win/WebKit2CFLite.def: Revise export declarations to match
9628 2012-03-15 Anders Carlsson <andersca@apple.com>
9630 REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
9631 https://bugs.webkit.org/show_bug.cgi?id=81162
9632 <rdar://problem/11050423>
9634 Reviewed by Beth Dakin and Jessie Berlin.
9636 Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
9638 * WebProcess/WebPage/WebPage.cpp:
9639 (WebKit::pageContainsAnyHorizontalScrollbars):
9641 2012-03-15 David Hyatt <hyatt@apple.com>
9643 https://bugs.webkit.org/show_bug.cgi?id=81258
9645 Add a preference for enabling the new multi-column layout code that will be based on regions.
9647 Reviewed by Beth Dakin.
9649 * Shared/WebPreferencesStore.h:
9651 * UIProcess/API/C/WKPreferences.cpp:
9652 (WKPreferencesSetRegionBasedColumnsEnabled):
9653 (WKPreferencesGetRegionBasedColumnsEnabled):
9654 * UIProcess/API/C/WKPreferencesPrivate.h:
9655 * WebProcess/WebPage/WebPage.cpp:
9656 (WebKit::WebPage::updatePreferences):
9658 2012-03-14 Anders Carlsson <andersca@apple.com>
9660 Can't swipe to go back/forward when the current page is a PDF document
9661 https://bugs.webkit.org/show_bug.cgi?id=81194
9662 <rdar://problem/6954125>
9664 Reviewed by Sam Weinig.
9666 Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
9667 -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
9668 WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
9669 and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
9671 * UIProcess/API/mac/PDFViewController.h:
9672 * UIProcess/API/mac/PDFViewController.mm:
9673 (-[WKPDFView forwardScrollWheelEvent:]):
9675 (WebKit::PDFViewController::forwardScrollWheelEvent):
9676 (WebKit::findEnclosingWKPDFView):
9677 (WebKit::PDFViewScrollView_scrollWheel):
9678 (WebKit::PDFViewController::pdfKitBundle):
9679 * UIProcess/WebPageProxy.cpp:
9680 (WebKit::WebPageProxy::didCommitLoadForFrame):
9682 2012-03-15 Brady Eidson <beidson@apple.com>
9684 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
9685 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
9687 Reviewed by Sam Weinig.
9689 Add the non-destructive "addTypes" to supplement the destructive "setTypes"
9691 * UIProcess/WebContext.h:
9692 * UIProcess/WebContext.messages.in:
9693 * UIProcess/mac/WebContextMac.mm:
9694 (WebKit::WebContext::addPasteboardTypes):
9696 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9697 (WebKit::WebPlatformStrategies::addTypes):
9698 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9700 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
9702 [GTK] Implement unicode submenu items
9703 https://bugs.webkit.org/show_bug.cgi?id=81117
9705 Reviewed by Martin Robinson.
9707 * WebProcess/WebCoreSupport/WebEditorClient.h:
9708 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
9709 (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
9710 shouldShowUnicodeMenu() returning always true. When ContextMenu
9711 API is implemented for GTK+ the UI process will decide whether to
9712 show the unicode menu or not.
9714 2012-03-15 Andras Becsi <andras.becsi@nokia.com>
9716 [Qt][WK2] Fix bounce-back behaviour for panning
9717 https://bugs.webkit.org/show_bug.cgi?id=81144
9719 Reviewed by Kenneth Rohde Christiansen.
9721 Move the content back to boundaries immediately
9722 in response to a tap gesture during the bounce-back
9723 animation after panning.
9725 * UIProcess/qt/QtPanGestureRecognizer.cpp:
9726 (WebKit::QtPanGestureRecognizer::recognize):
9727 * UIProcess/qt/QtViewportInteractionEngine.h:
9728 Make the ensureContentWithinViewportBoundary function public.
9729 (QtViewportInteractionEngine):
9731 2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
9733 [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty
9734 https://bugs.webkit.org/show_bug.cgi?id=75465
9736 Reviewed by Philippe Normand.
9738 * UIProcess/API/gtk/tests/WebViewTest.cpp:
9739 (WebViewTest::replaceContent): Return the main frame
9740 unreachableURL if it's not empty.
9741 * UIProcess/WebPageProxy.cpp:
9742 (WebKit::WebPageProxy::activeURL):
9744 2012-03-14 Anders Carlsson <andersca@apple.com>
9746 java/java-and-plugins.html test failing
9747 https://bugs.webkit.org/show_bug.cgi?id=81188
9748 <rdar://problem/11048657>
9750 Reviewed by Sam Weinig.
9752 When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
9753 current plug-in instance is the same as the plug-in instance the object came from and don't
9754 pass the unwrapped object ID if that is the case.
9756 * Shared/Plugins/NPRemoteObjectMap.cpp:
9757 (WebKit::remoteNPObjectID):
9758 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
9760 2012-03-14 Matt Falkenhagen <falken@chromium.org>
9762 Allow per-script font settings to be specified in layout tests
9763 https://bugs.webkit.org/show_bug.cgi?id=78184
9765 Reviewed by Hajime Morita.
9767 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
9768 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
9769 for Chromium so far.
9771 * win/WebKit2.def: Added symbols.
9772 * win/WebKit2CFLite.def: Added symbols.
9774 2012-03-14 Michael Saboff <msaboff@apple.com>
9776 REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
9777 https://bugs.webkit.org/show_bug.cgi?id=80993
9779 Reviewed by Mark Rowe.
9781 Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
9782 to fix builds given the wtf move.
9784 * Configurations/BaseTarget.xcconfig:
9786 2012-03-14 Andy Estes <aestes@apple.com>
9788 Stop shadowing the argument to drawRect: with a local variable.
9790 Reviewed by Sam Weinig.
9792 * UIProcess/API/mac/WKView.mm:
9793 (-[WKView drawRect:]):
9795 2012-03-13 Jon Lee <jonlee@apple.com>
9797 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
9798 https://bugs.webkit.org/show_bug.cgi?id=80922
9799 <rdar://problem/11035082>
9801 Reviewed by Jian Li.
9803 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
9804 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
9805 new API. Therefore, APIs that are common between the two will have:
9806 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9808 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
9809 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
9811 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9812 * Shared/WebProcessCreationParameters.cpp:
9813 (WebKit::WebProcessCreationParameters::encode):
9814 (WebKit::WebProcessCreationParameters::decode):
9815 * Shared/WebProcessCreationParameters.h:
9816 (WebProcessCreationParameters):
9817 * UIProcess/WebContext.cpp:
9818 (WebKit::WebContext::ensureWebProcess):
9819 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
9821 (WebKit::NotificationPermissionRequestManager::startRequest):
9822 (WebKit::NotificationPermissionRequestManager::cancelRequest):
9823 (WebKit::NotificationPermissionRequestManager::permissionLevel):
9824 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
9825 * WebProcess/Notifications/WebNotificationManager.cpp:
9827 (WebKit::WebNotificationManager::initialize):
9828 (WebKit::WebNotificationManager::didUpdateNotificationDecision):
9829 (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
9830 (WebKit::WebNotificationManager::policyForOrigin):
9831 (WebKit::WebNotificationManager::show):
9832 (WebKit::WebNotificationManager::cancel):
9833 (WebKit::WebNotificationManager::clearNotifications):
9834 (WebKit::WebNotificationManager::didDestroyNotification):
9835 (WebKit::WebNotificationManager::didShowNotification):
9836 (WebKit::WebNotificationManager::didClickNotification):
9837 (WebKit::WebNotificationManager::didCloseNotifications):
9838 * WebProcess/Notifications/WebNotificationManager.h:
9839 (WebNotificationManager):
9840 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
9841 * WebProcess/WebCoreSupport/WebNotificationClient.h:
9842 * WebProcess/WebPage/WebPage.cpp:
9843 (WebKit::WebPage::WebPage):
9844 (WebKit::WebPage::updatePreferences):
9845 * WebProcess/WebProcess.cpp:
9846 (WebKit::WebProcess::WebProcess):
9847 (WebKit::WebProcess::didReceiveMessage):
9848 * WebProcess/WebProcess.h:
9850 * WebProcess/mac/WebProcessMac.mm:
9851 (WebKit::WebProcess::platformInitializeWebProcess):
9853 2012-03-14 Dinu Jacob <dinu.jacob@nokia.com>
9855 [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
9856 https://bugs.webkit.org/show_bug.cgi?id=80627
9858 Reviewed by Kenneth Rohde Christiansen.
9860 No impact to QML API.
9862 * UIProcess/qt/QtDialogRunner.cpp:
9863 (BaseAuthenticationContextObject):
9864 (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
9865 (HttpAuthenticationDialogContextObject):
9866 (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
9867 (HttpAuthenticationDialogContextObject::realm):
9868 (ProxyAuthenticationDialogContextObject):
9869 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
9870 (QtDialogRunner::initForAuthentication):
9872 2012-03-14 Anders Carlsson <andersca@apple.com>
9874 With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
9875 https://bugs.webkit.org/show_bug.cgi?id=79247
9876 <rdar://problem/10910808>
9878 Reviewed by Sam Weinig.
9880 Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
9881 This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
9883 * UIProcess/API/mac/WKView.mm:
9884 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9885 (-[WKView wantsUpdateLayer]):
9886 (-[WKView updateLayer]):
9888 2012-03-14 Alexey Proskuryakov <ap@apple.com>
9890 WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
9891 https://bugs.webkit.org/show_bug.cgi?id=81150
9892 <rdar://problem/11002254>
9894 Reviewed by Anders Carlsson.
9896 * WebProcess/WebPage/WebPage.cpp:
9897 (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
9898 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
9899 It's not great, but for now we need to handle this case. Hopefully, some day we'll make
9900 both WebKit2 processes better aware of what's going on with loading in WebCore.
9902 2012-03-14 Anders Carlsson <andersca@apple.com>
9904 Fix UI process crash when a plug-in process crashes with a modal dialog showing
9905 https://bugs.webkit.org/show_bug.cgi?id=81139
9906 <rdar://problem/9641197>
9908 Reviewed by Dan Bernstein.
9910 When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
9911 which is bad if we're currently running a nested run loop.
9913 Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
9915 * UIProcess/Plugins/PluginProcessManager.cpp:
9916 (WebKit::PluginProcessManager::pluginProcessWithPath):
9917 (WebKit::PluginProcessManager::getOrCreatePluginProcess):
9918 * UIProcess/Plugins/PluginProcessManager.h:
9919 (PluginProcessManager):
9920 * UIProcess/Plugins/PluginProcessProxy.cpp:
9921 (WebKit::PluginProcessProxy::create):
9922 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
9923 * UIProcess/Plugins/PluginProcessProxy.h:
9924 (PluginProcessProxy):
9925 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
9926 (WebKit::PluginProcessProxy::setModalWindowIsShowing):
9927 (WebKit::PluginProcessProxy::beginModal):
9929 2012-03-14 Carlos Garcia Campos <cgarcia@igalia.com>
9931 [GTK] Handle printing errors in WebKit2
9932 https://bugs.webkit.org/show_bug.cgi?id=77197
9934 Reviewed by Gustavo Noronha Silva.
9936 * UIProcess/API/gtk/WebKitError.cpp:
9937 (webkit_print_error_quark): Add new error domain for print
9939 * UIProcess/API/gtk/WebKitError.h: Ad print errors.
9940 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
9941 (webkit_print_operation_class_init): Add
9942 WebKitPrintOperation::failed signal.
9943 (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
9944 when the print operation failed with the given error.
9945 (webkitPrintOperationPrintPagesForFrame): Use
9946 PrintFinishedCallback instead of a VoidCallback.
9947 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
9948 * UIProcess/API/gtk/tests/TestPrinting.cpp:
9949 (testPrintOperationPrint):
9950 (testPrintOperationErrors): Test different print errors are
9953 * UIProcess/WebPageProxy.cpp:
9954 (WebKit::WebPageProxy::close): Invalidate print finished callbacks
9956 (WebKit::WebPageProxy::printFinishedCallback): Callback called
9957 when the print operation has finished in the web process.
9958 (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
9960 (WebKit::WebPageProxy::drawPagesForPrinting): Use a
9961 PrintFinishedCallback instead of a VoidCallback.
9962 * UIProcess/WebPageProxy.h:
9963 (WebKit): Delcare PrintFinishedCallback as a generic callback.
9965 * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
9966 instead of VoidCallback as callback argument of
9967 DrawPagesForPrinting message.
9968 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
9969 (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
9970 when there are no pages to print.
9971 (PrintPagesData): Add isValid parameter to mark the data struct as
9973 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
9974 printPagesDone() instead of printDone().
9975 (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
9976 (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
9977 that the print operation has finsihed.
9978 (WebKit::WebPrintOperationGtk::print): Finish the print if the
9979 PrintPagesData struct is not valid.
9980 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
9982 2012-03-13 Jer Noble <jer.noble@apple.com>
9984 Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
9985 https://bugs.webkit.org/show_bug.cgi?id=81056
9987 Reviewed by Jessie Berlin.
9989 Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
9990 * WebProcess/FullScreen/WebFullScreenManager.cpp:
9991 (WebKit::WebFullScreenManager::willEnterFullScreen):
9992 (WebKit::WebFullScreenManager::willExitFullScreen):
9994 And call the client function if it exists; otherwise, continue to message the page:
9995 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
9996 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
9997 (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
9998 (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
9999 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
10001 Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
10002 * Shared/APIClientTraits.cpp:
10003 * Shared/APIClientTraits.h:
10005 2012-03-14 Andrey Kosyakov <caseq@chromium.org>
10007 Web Inspector: add didCancelFrame timeline event
10008 https://bugs.webkit.org/show_bug.cgi?id=80994
10010 Reviewed by Pavel Feldman.
10013 * win/WebKit2CFLite.def:
10015 2012-03-13 Anders Carlsson <andersca@apple.com>
10017 Find bouncy doesn’t hide when a subframe is scrolled
10018 https://bugs.webkit.org/show_bug.cgi?id=81060
10019 <rdar://problem/9365329>
10021 Reviewed by Andreas Kling.
10023 Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
10024 the find indicator there if the find selection bounds have changed since the last call to drawRect.
10026 * WebProcess/WebPage/FindController.cpp:
10027 (WebKit::FindController::updateFindIndicator):
10028 (WebKit::FindController::drawRect):
10029 * WebProcess/WebPage/FindController.h:
10031 * WebProcess/WebPage/WebPage.cpp:
10032 (WebKit::WebPage::pageDidScroll):
10034 2012-03-13 Jeff Miller <jeffm@apple.com>
10036 Support loading a WKPage from web archive data
10037 https://bugs.webkit.org/show_bug.cgi?id=81044
10039 This code was written by Jessie Berlin.
10041 Reviewed by Brady Eidson.
10043 * UIProcess/API/C/WKPage.cpp:
10044 (WKPageLoadWebArchiveData): Added.
10046 * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
10048 * UIProcess/WebPageProxy.cpp:
10049 (WebKit::WebPageProxy::loadWebArchiveData): Added.
10051 * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
10053 * WebProcess/WebPage/WebPage.cpp:
10054 (WebKit::WebPage::loadWebArchiveData): Added.
10056 * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
10058 * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
10060 2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
10062 Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
10063 https://bugs.webkit.org/show_bug.cgi?id=78853
10065 Reviewed by Adam Barth.
10067 * Configurations/FeatureDefines.xcconfig:
10068 * WebProcess/Geolocation/WebGeolocationManager.cpp:
10069 (WebKit::WebGeolocationManager::registerWebPage):
10070 (WebKit::WebGeolocationManager::unregisterWebPage):
10071 (WebKit::WebGeolocationManager::didChangePosition):
10072 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
10073 * WebProcess/InjectedBundle/InjectedBundle.cpp:
10074 (WebKit::InjectedBundle::setGeoLocationPermission):
10075 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10077 * WebProcess/WebCoreSupport/WebChromeClient.h:
10079 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
10080 * WebProcess/WebCoreSupport/WebGeolocationClient.h:
10081 * WebProcess/WebPage/WebPage.cpp:
10082 (WebKit::WebPage::WebPage):
10083 * mac/WebKit2.order:
10085 2012-03-13 Max Vujovic <mvujovic@adobe.com>
10087 Add a method to window.internals to enable testing of inspector highlight rects
10088 https://bugs.webkit.org/show_bug.cgi?id=80338
10090 Reviewed by Pavel Feldman.
10092 * win/WebKit2.def: Export symbols for win.
10093 * win/WebKit2CFLite.def: Same as above.
10095 2012-03-13 Allan Sandfeld Jensen <allan.jensen@nokia.com>
10097 [Qt] Set correct device width and height.
10098 https://bugs.webkit.org/show_bug.cgi?id=80980
10100 Reviewed by Tor Arne Vestbø.
10102 * UIProcess/API/qt/qquickwebview.cpp:
10103 (QQuickWebViewFlickablePrivate::computeViewportConstraints):
10105 2012-03-12 Sam Weinig <sam@webkit.org>
10107 Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
10108 a function called layerHostingMode.
10110 Reviewed by Anders Carlsson.
10112 * UIProcess/API/mac/PageClientImpl.h:
10113 * UIProcess/API/mac/PageClientImpl.mm:
10114 (WebKit::PageClientImpl::viewLayerHostingMode):
10115 Update name and add OVERRIDE to catch this in the future.
10117 2012-03-12 Enrica Casucci <enrica@apple.com>
10119 WebKit2: remove NSPasteboard access for promised data from the WebProcess
10120 https://bugs.webkit.org/show_bug.cgi?id=80073
10122 Reviewed by Alexey Proskuryakov.
10124 This patch removes the last remaining access to NSPasteboard from the WebProcess.
10125 The code in WebDragClient::declareAndWriteDragImage now packages all the data
10126 required for the drag and the promised drag types and sends one request to the UI
10127 process that will place the data in the NSPasteboard when appropriate.
10129 * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
10130 * UIProcess/API/mac/PageClientImpl.mm:
10131 (WebKit::PageClientImpl::setPromisedData):
10132 * UIProcess/API/mac/WKView.mm:
10133 (matchesExtensionOrEquivalent): Added.
10134 (fileExists): Added.
10135 (pathWithUniqueFilenameForPath): Added.
10136 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
10137 (-[WKView pasteboardChangedOwner:]):
10138 (-[WKView pasteboard:provideDataForType:]):
10139 (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
10140 * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
10141 * UIProcess/PageClient.h:
10142 * UIProcess/WebPageProxy.h: Added method for the new message.
10143 * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
10144 * UIProcess/mac/WebPageProxyMac.mm:
10145 (WebKit::WebPageProxy::setPromisedData):
10146 * WebProcess/WebCoreSupport/WebDragClient.cpp:
10147 * WebProcess/WebCoreSupport/WebDragClient.h:
10148 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
10149 (WebKit::WebDragClient::declareAndWriteDragImage):
10150 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10151 (InitWebCoreSystemInterface): Added SetMetadataURL.
10153 2012-03-12 Andras Becsi <andras.becsi@nokia.com>
10155 [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
10156 https://bugs.webkit.org/show_bug.cgi?id=80832
10158 Reviewed by Tor Arne Vestbø.
10160 Since the ScrollDecorator QML component requires a Flickable in its API
10161 we need to expose the Flickable in QML for now and we also need to add
10162 a notifier because we instantiate the internal Flickable only when the
10163 WebView component completes construction.
10165 * UIProcess/API/qt/qquickwebview.cpp:
10166 (QQuickWebViewFlickablePrivate::onComponentComplete):
10167 (QQuickWebViewExperimental::flickable):
10168 * UIProcess/API/qt/qquickwebview_p.h:
10170 2012-03-11 Timothy Hatcher <timothy@apple.com>
10172 Update how the Web Inspector resources are loaded.
10174 https://bugs.webkit.org/show_bug.cgi?id=80814
10175 rdar://problem/10359959
10177 Reviewed by John Sullivan.
10179 * Shared/WebPreferencesStore.h:
10180 (WebKit): Added InspectorUsesWebKitUserInterface.
10181 * Shared/WebProcessCreationParameters.cpp:
10182 (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
10183 (WebKit::WebProcessCreationParameters::decode): Ditto.
10184 * Shared/WebProcessCreationParameters.h: Ditto.
10185 (WebProcessCreationParameters): Ditto.
10186 * UIProcess/API/C/WKContext.cpp:
10187 * UIProcess/API/C/WKContextPrivate.h:
10188 * UIProcess/API/C/WKPreferences.cpp:
10189 (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
10190 (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
10191 * UIProcess/API/C/WKPreferencesPrivate.h:
10192 * UIProcess/WebContext.cpp:
10193 (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
10194 * UIProcess/WebContext.h:
10195 (WebContext): Ditto.
10196 * UIProcess/mac/WebInspectorProxyMac.mm:
10197 (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
10198 (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
10199 to determine if texture should be used.
10200 (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
10201 (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
10202 * WebProcess/WebPage/WebInspector.h:
10203 * WebProcess/WebPage/mac/WebInspectorMac.mm:
10204 (WebKit::inspectorReallyUsesWebKitUserInterface):
10205 (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
10206 (WebKit::WebInspector::localizedStringsURL):
10207 * WebProcess/WebPage/mac/WebPageMac.mm:
10208 (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
10209 * WebProcess/mac/WebProcessMac.mm:
10210 (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
10212 2012-03-11 Andy Estes <aestes@apple.com>
10214 Remove unnecessary call to NSSizeToCGSize().
10215 https://bugs.webkit.org/show_bug.cgi?id=80817
10217 Reviewed by Dan Bernstein.
10219 There is no need to call NSSizeToCGSize() to convert an IntSize to a
10220 CGSize. IntSize defines a conversion function to CGSize that will do
10221 this for us implicitly.
10223 * UIProcess/mac/BackingStoreMac.mm:
10224 (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
10226 2012-03-11 Dan Bernstein <mitz@apple.com>
10228 WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
10229 <http://webkit.org/b/80791>
10231 Reviewed by Anders Carlsson.
10236 * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
10238 * Shared/API/c/WKRenderLayer.cpp: Added.
10239 (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
10240 (WKRenderLayerCopyRendererName): Added this getter wrapper.
10241 (WKRenderLayerCopyElementTagName): Ditto.
10242 (WKRenderLayerCopyElementID): Ditto.
10243 (WKRenderLayerGetElementClassNames): Ditto.
10244 (WKRenderLayerGetAbsoluteBounds): Ditto.
10245 (WKRenderLayerIsClipping): Ditto.
10246 (WKRenderLayerIsClipped): Ditto.
10247 (WKRenderLayerIsReflection): Ditto.
10248 (WKRenderLayerGetCompositingLayerType): Ditto.
10249 (WKRenderLayerGetNegativeZOrderList): Ditto.
10250 (WKRenderLayerGetNormalFlowList): Ditto.
10251 (WKRenderLayerGetPositiveZOrderList): Ditto.
10253 * Shared/API/c/WKRenderLayer.h: Added.
10255 * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
10257 * Shared/UserMessageCoders.h:
10258 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
10259 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
10261 * Shared/WebRenderLayer.cpp: Added.
10262 (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
10263 frame’s root layer.
10264 (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
10265 (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
10266 renderer name, element tag, ID and class names, metrics, child lists, and compositing
10267 layer properties of the given RenderLayer.
10269 * Shared/WebRenderLayer.h: Added.
10270 (WebKit::WebRenderLayer::create):
10271 (WebKit::WebRenderLayer::negativeZOrderList):
10272 (WebKit::WebRenderLayer::normalFlowList):
10273 (WebKit::WebRenderLayer::positiveZOrderList):
10274 (WebKit::WebRenderLayer::renderObjectName):
10275 (WebKit::WebRenderLayer::elementTagName):
10276 (WebKit::WebRenderLayer::elementID):
10277 (WebKit::WebRenderLayer::elementClassNames):
10278 (WebKit::WebRenderLayer::isReflection):
10279 (WebKit::WebRenderLayer::isClipping):
10280 (WebKit::WebRenderLayer::isClipped):
10281 (WebKit::WebRenderLayer::compositingLayerType):
10282 (WebKit::WebRenderLayer::absoluteBoundingBox):
10283 (WebKit::WebRenderLayer::WebRenderLayer):
10287 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
10289 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
10291 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10292 (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
10294 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10296 * win/WebKit2.vcproj:
10298 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
10300 <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
10302 The WebInspectorFrontendClient reference should be cleared when the
10303 WebInspectorClient::closeInspectorFrontend is called. This adds a
10304 destroyInspectorPage to mirror createInspectorPage and clear the weak
10305 pointers that are no longer valid.
10307 Reviewed by Pavel Feldman.
10309 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10310 (WebKit::WebInspectorClient::closeInspectorFrontend):
10311 (WebKit::WebInspectorClient::didResizeMainFrame):
10312 * WebProcess/WebPage/WebInspector.cpp:
10313 (WebKit::WebInspector::destroyInspectorPage):
10314 * WebProcess/WebPage/WebInspector.h:
10316 2012-03-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
10318 [Qt] [WK2] Support threaded renderer in WK2
10319 https://bugs.webkit.org/show_bug.cgi?id=76661
10321 Reviewed by Noam Rosenthal.
10323 Implement Qt5 threaded rendering support for Qt WebKit2.
10324 Parts of LayerTreeHostProxy which contain layer tree and layer painting objects
10325 are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is
10326 thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
10327 All layer tree and graphics objects are created, accessed and deallocated from Qt
10328 Scenegraph's paint thread only.
10329 Layer tree updates from render queue are fetched in updatePaintNode call stack when
10330 main thread is locked.
10331 Messages from paint thread to web process are passed through MainThreadGuardedInvoker
10332 call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde
10336 * UIProcess/API/qt/qquickwebpage.cpp:
10337 (PageProxyNode::PageProxyNode):
10338 (PageProxyNode::render):
10339 (PageProxyNode::~PageProxyNode):
10340 (PageProxyNode::layerTreeRenderer):
10342 (PageProxyNode::setScale):
10343 (QQuickWebPage::updatePaintNode):
10344 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
10345 * UIProcess/LayerTreeHostProxy.cpp: Added.
10347 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
10348 (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
10349 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
10350 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
10351 (WebKit::LayerTreeHostProxy::updateViewport):
10352 (WebKit::LayerTreeHostProxy::dispatchUpdate):
10353 (WebKit::LayerTreeHostProxy::createTileForLayer):
10354 (WebKit::LayerTreeHostProxy::updateTileForLayer):
10355 (WebKit::LayerTreeHostProxy::removeTileForLayer):
10356 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
10357 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
10358 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
10359 (WebKit::LayerTreeHostProxy::didRenderFrame):
10360 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
10361 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
10362 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
10363 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
10364 (WebKit::LayerTreeHostProxy::renderNextFrame):
10365 (WebKit::LayerTreeHostProxy::purgeBackingStores):
10366 * UIProcess/LayerTreeHostProxy.h:
10368 (LayerTreeHostProxy):
10369 (WebKit::LayerTreeHostProxy::layerTreeRenderer):
10370 * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
10372 (MainThreadGuardedInvoker):
10373 (WebKit::MainThreadGuardedInvoker::call):
10374 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
10375 (WebKit::MainThreadGuardedInvoker::invoke):
10376 (WebKit::WebLayerTreeRenderer::callOnMainTread):
10377 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
10378 (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
10379 (WebKit::WebLayerTreeRenderer::createLayer):
10380 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
10381 (WebKit::WebLayerTreeRenderer::syncAnimations):
10382 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
10383 (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
10384 (WebKit::WebLayerTreeRenderer::updateViewport):
10385 (WebKit::WebLayerTreeRenderer::syncLayerParameters):
10386 (WebKit::WebLayerTreeRenderer::deleteLayer):
10387 (WebKit::WebLayerTreeRenderer::ensureLayer):
10388 (WebKit::WebLayerTreeRenderer::setRootLayerID):
10389 (WebKit::WebLayerTreeRenderer::getBackingStore):
10390 (WebKit::WebLayerTreeRenderer::createTile):
10391 (WebKit::WebLayerTreeRenderer::removeTile):
10392 (WebKit::WebLayerTreeRenderer::updateTile):
10393 (WebKit::WebLayerTreeRenderer::createImage):
10394 (WebKit::WebLayerTreeRenderer::destroyImage):
10395 (WebKit::WebLayerTreeRenderer::assignImageToLayer):
10396 (WebKit::WebLayerTreeRenderer::swapBuffers):
10397 (WebKit::WebLayerTreeRenderer::flushLayerChanges):
10398 (WebKit::WebLayerTreeRenderer::renderNextFrame):
10399 (WebKit::WebLayerTreeRenderer::ensureRootLayer):
10400 (WebKit::WebLayerTreeRenderer::syncRemoteContent):
10401 (WebKit::WebLayerTreeRenderer::purgeGLResources):
10402 (WebKit::WebLayerTreeRenderer::purgeBackingStores):
10403 (WebKit::WebLayerTreeRenderer::detach):
10404 (WebKit::WebLayerTreeRenderer::appendUpdate):
10405 * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
10407 (WebLayerTreeRenderer):
10408 (WebKit::WebLayerTreeRenderer::layerByID):
10409 (WebKit::WebLayerTreeRenderer::rootLayer):
10410 (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
10411 (WebKit::WebLayerTreeRenderer::notifySyncRequired):
10412 (WebKit::WebLayerTreeRenderer::showDebugBorders):
10413 (WebKit::WebLayerTreeRenderer::showRepaintCounter):
10414 (WebKit::WebLayerTreeRenderer::paintContents):
10416 2012-03-09 Jon Lee <jonlee@apple.com>
10418 Rename NotificationPresenter to NotificationClient
10419 https://bugs.webkit.org/show_bug.cgi?id=80488
10420 <rdar://problem/10965558>
10422 Reviewed by Kentaro Hara.
10424 Refactor to use renamed WebCore::NotificationClient.
10425 * UIProcess/Notifications/WebNotificationManagerProxy.h:
10426 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
10427 (WebKit::NotificationPermissionRequestManager::startRequest):
10428 (WebKit::NotificationPermissionRequestManager::permissionLevel):
10429 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
10430 (NotificationPermissionRequestManager):
10431 * WebProcess/Notifications/WebNotificationManager.cpp:
10432 (WebKit::WebNotificationManager::policyForOrigin):
10433 * WebProcess/Notifications/WebNotificationManager.h:
10434 (WebNotificationManager):
10435 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
10436 (WebKit::WebNotificationClient::checkPermission):
10437 * WebProcess/WebCoreSupport/WebNotificationClient.h:
10438 (WebNotificationClient):
10440 2012-03-09 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
10442 [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
10443 https://bugs.webkit.org/show_bug.cgi?id=80714
10445 Reviewed by Noam Rosenthal.
10447 Replace item based clip-rect calculation with clipping-nodes based calculation.
10448 This is required for threaded rendering, since we don't have access to the QSGItems
10449 from the render thread.
10451 * UIProcess/API/qt/qquickwebpage.cpp:
10452 (QQuickWebPage::QQuickWebPage):
10453 (QQuickWebPagePrivate::paintToCurrentGLContext):
10454 (PageProxyNode::render):
10455 (PageProxyNode::clipRect):
10457 * UIProcess/API/qt/qquickwebpage_p_p.h:
10458 (QQuickWebPagePrivate):
10459 * UIProcess/API/qt/qquickwebview.cpp:
10460 (QQuickWebView::QQuickWebView):
10462 2012-03-09 Enrica Casucci <enrica@apple.com>
10464 Move WebNSURLExtras code down to WebCore.
10465 https://bugs.webkit.org/show_bug.cgi?id=80611
10467 Reviewed by Alexey Proskuryakov.
10469 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10470 (InitWebCoreSystemInterface):
10472 2012-03-09 Jeff Miller <jeffm@apple.com>
10474 Add WKPageEndPrinting() to balance WKPageBeginPrinting()
10475 https://bugs.webkit.org/show_bug.cgi?id=80739
10477 Reviewed by Dan Bernstein.
10479 * UIProcess/API/C/WKPage.cpp:
10480 (WKPageEndPrinting): Added.
10482 * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
10484 2012-03-09 Emil A Eklund <eae@chromium.org>
10486 Add roundedPoint to HitTestResult and change platform code to use it
10487 https://bugs.webkit.org/show_bug.cgi?id=80715
10489 Reviewed by James Robinson.
10491 Change ports to use roundedPoint to avoid exposing subpixel types to
10494 * WebProcess/WebPage/WebContextMenu.cpp:
10495 (WebKit::WebContextMenu::show):
10497 2012-03-09 Alexey Proskuryakov <ap@apple.com>
10499 [Mac] Pass sandbox profiles through preprocessor
10500 https://bugs.webkit.org/show_bug.cgi?id=80651
10502 Reviewed by Mark Rowe.
10504 * DerivedSources.make: Preprocess sandbox profiles.
10506 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
10507 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
10508 * WebProcess/com.apple.WebProcess.sb: Removed.
10509 * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
10510 Renamed to avoid make finding the wrong original in default paths.
10512 * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
10513 Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
10515 2012-03-09 Jon Lee <jonlee@apple.com>
10517 Add support for ENABLE(LEGACY_NOTIFICATIONS)
10518 https://bugs.webkit.org/show_bug.cgi?id=80497
10520 Reviewed by Adam Barth.
10522 Prep for b80472: Update API for Web Notifications
10523 * Configurations/FeatureDefines.xcconfig:
10525 2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
10527 Bash scripts should support LF endings only
10528 https://bugs.webkit.org/show_bug.cgi?id=79509
10530 Reviewed by David Kilzer.
10532 * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
10534 2012-03-08 Enrica Casucci <enrica@apple.com>
10536 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
10537 https://bugs.webkit.org/show_bug.cgi?id=80203
10538 <rdar://problem/10976643>
10540 Reviewed by Alexey Proskuryakov.
10542 This patch reverts a small part fo r109022, leaving access to
10543 NSPasteboard in the WebProcess when retrieving pathnames for
10544 files being dragged. This avoid the sandbox violation until we
10545 implement a mechanism to provide a sandbox extension to the WebProcess.
10547 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10548 (WebKit::WebPlatformStrategies::getPathnamesForType):
10550 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
10552 Unreviewed, rolling out r110191, r110202, and r110279.
10553 http://trac.webkit.org/changeset/110191
10554 http://trac.webkit.org/changeset/110202
10555 http://trac.webkit.org/changeset/110279
10556 https://bugs.webkit.org/show_bug.cgi?id=80694
10558 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
10562 * win/WebKit2CFLite.def:
10564 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
10566 [Qt] Use Qt's module system for install rules and depending on QtWebKit
10568 Instead of rolling our own install rules we now use the same approach as
10569 every other Qt module, by loading qt_module.prf and qt_module_config.prf.
10571 This ensures that we follow the same semantics as the rest of Qt on
10572 what sort of config options are enabled by default (create_cmake eg.).
10573 It also allows us to use QT += webkit instead of the workaround we had
10574 with CONFIG += qtwebkit.
10576 We do however force Qt to always treat our build as a non-developer build,
10577 so the libraries will end up in the WebKit lib directory instead of the
10578 qtbase directory (as with a normal developer-build). This allows us to
10579 keep the webkit-build self-contained. If Qt is a developer build we still
10580 copy the module file manually to Qt, so that you don't have to install
10581 WebKit to make it available.
10583 For non-developer builds of Qt, it is still possible to use the built
10584 WebKit libraries without having to install them, by having the variable
10585 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
10586 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
10588 https://bugs.webkit.org/show_bug.cgi?id=80590
10590 Reviewed by Simon Hausmann.
10592 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
10593 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10594 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
10595 * UIProcess/API/qt/tests/qmltests/WebView.pro:
10596 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
10597 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
10598 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10599 * UIProcess/API/qt/tests/tests.pri:
10600 * UIProcess/API/qt/tests/util.cpp:
10603 2012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com>
10605 [Qt][WK2] Allow transparent WebViews
10606 https://bugs.webkit.org/show_bug.cgi?id=80608
10608 Reviewed by Tor Arne Vestbø.
10610 Added support for transparentBackground in QQuickWebViewExperimental.
10611 This uses the existing drawsTransparentBackground property in WebKit2.
10612 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
10613 otherwise the change doesn't take effect.
10615 A new API test was added.
10617 * UIProcess/API/qt/qquickwebview.cpp:
10618 (QQuickWebViewPrivate::setTransparentBackground):
10619 (QQuickWebViewPrivate::transparentBackground):
10620 (QQuickWebViewExperimental::transparentBackground):
10621 (QQuickWebViewExperimental::setTransparentBackground):
10622 * UIProcess/API/qt/qquickwebview_p.h:
10623 * UIProcess/API/qt/qquickwebview_p_p.h:
10624 (QQuickWebViewPrivate):
10625 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10626 (tst_QQuickWebView):
10627 (tst_QQuickWebView::transparentWebViews):
10628 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
10629 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
10630 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
10632 2012-03-08 Gustavo Noronha Silva <gns@gnome.org>
10634 GTK+ build fix. Only try to get the backing from the layer in when
10635 ACCELERATED_COMPOSITING is enabled.
10637 Rubber-stamped by Ryosuke Niwa.
10639 * WebProcess/FullScreen/WebFullScreenManager.cpp:
10640 (WebKit::screenRectOfContents):
10642 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
10644 Mac build fix for micro data API.
10646 * Configurations/FeatureDefines.xcconfig:
10648 2012-03-08 Jer Noble <jer.noble@apple.com>
10650 Unreviewed Snow Leopard build fix.
10652 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
10654 * UIProcess/mac/WKFullScreenWindowController.mm:
10655 (-[NSWindow convertRectToScreen:]):
10657 2012-03-08 Jer Noble <jer.noble@apple.com>
10659 Further unreviewed build fix.
10661 Add in the WebCore namespace, so that IntRect is pulled in.
10663 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10664 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10665 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10667 2012-03-08 Jer Noble <jer.noble@apple.com>
10669 Unreviewed build fix.
10671 Add stub implementations of beganEnterFullScreen and beganExitFullScreen
10672 to platform-specific WebFullScreenManagerProxy implementations.
10674 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10675 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10676 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10677 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10678 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10679 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10680 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10681 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10682 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10684 2012-03-08 Jer Noble <jer.noble@apple.com>
10686 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
10687 https://bugs.webkit.org/show_bug.cgi?id=78928
10689 Reviewed by Anders Carlsson.
10691 Boilerplate changes to WebKit2 IPC messages and supporting functions.
10692 * UIProcess/WebFullScreenManagerProxy.cpp:
10693 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
10694 * UIProcess/WebFullScreenManagerProxy.h:
10695 * UIProcess/WebFullScreenManagerProxy.messages.in:
10696 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10697 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
10698 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
10699 * WebProcess/FullScreen/WebFullScreenManager.cpp:
10700 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents.
10701 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
10702 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
10704 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
10705 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
10706 BeganExitFullScreen XPC message.
10707 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
10708 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
10709 * WebProcess/FullScreen/WebFullScreenManager.h:
10710 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10712 * UIProcess/mac/WKFullScreenWindowController.h:
10713 * UIProcess/mac/WKFullScreenWindowController.mm:
10714 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
10715 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
10716 of _requestExitWithAnimation.
10717 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
10718 both the full screen window and the background window.
10719 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
10720 page to use in the placeholder.
10721 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
10722 beganEnterFullScreenAnimation.
10723 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap
10724 placeholder views here, as they were already swapped in beganEnter...:.
10725 (-[WKFullScreenWindowController exitFullScreen]):
10726 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
10727 beganExitFullScreenAnimation.
10728 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
10729 (-[WKFullScreenWindowController close]):
10730 (-[WKFullScreenWindowController animationDidEnd:]): Added.
10731 (createBackgroundFullscreenWindow): Added.
10732 (windowFrameFromApparentFrames): Added.
10733 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
10734 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
10736 2012-03-08 Jer Noble <jer.noble@apple.com>
10738 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
10739 https://bugs.webkit.org/show_bug.cgi?id=78926
10741 Reviewed by John Sullivan.
10743 The following functions (and also their Proxy versions) were removed completely:
10744 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
10745 WebFullScreenManager::exitAcceleratedCompositingMode()
10746 WebFullScreenManager::beganEnterFullScreenAnimation()
10747 WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
10748 WebFullScreenManager::beganExitFullScreenAnimation()
10749 WebFullScreenManager::finishedExitFullScreenAnimation(bool)
10750 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
10752 * UIProcess/WebFullScreenManagerProxy.cpp:
10753 * UIProcess/WebFullScreenManagerProxy.h:
10754 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
10755 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
10756 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
10757 (WebFullScreenManagerProxy):
10758 * UIProcess/WebFullScreenManagerProxy.messages.in:
10759 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10760 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10761 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10762 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10763 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
10764 * WebKit2.xcodeproj/project.pbxproj:
10765 * WebProcess/FullScreen/WebFullScreenManager.cpp:
10766 (WebKit::WebFullScreenManager::create):
10767 (WebKit::WebFullScreenManager::~WebFullScreenManager):
10768 * WebProcess/FullScreen/WebFullScreenManager.h:
10769 (WebFullScreenManager):
10770 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10771 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10772 (WebKit::WebChromeClient::exitFullScreenForElement):
10773 * WebProcess/WebCoreSupport/WebChromeClient.h:
10776 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
10777 platform-specific implementations remained after the above functions were removed:
10780 * win/WebKit2.vcproj:
10781 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
10782 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
10783 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
10784 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
10785 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
10786 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
10787 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
10788 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
10790 2012-03-08 Matt Lilek <mrl@apple.com>
10792 Don't enable VIDEO_TRACK on all OS X platforms
10793 https://bugs.webkit.org/show_bug.cgi?id=80635
10795 Reviewed by Eric Carlson.
10797 * Configurations/FeatureDefines.xcconfig:
10799 2012-03-08 Max Vujovic <mvujovic@adobe.com>
10801 Add a method to window.internals to enable testing of inspector highlight rects
10802 https://bugs.webkit.org/show_bug.cgi?id=80338
10804 Reviewed by Pavel Feldman.
10806 * win/WebKit2.def: Export symbols for win.
10807 * win/WebKit2CFLite.def: Same as above.
10809 2012-03-08 Dinu Jacob <dinu.jacob@nokia.com>
10811 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
10812 https://bugs.webkit.org/show_bug.cgi?id=80557
10814 Reviewed by Simon Hausmann.
10816 Move common code related to running QtDialogRunner into a separate function
10818 * UIProcess/API/qt/qquickwebview.cpp:
10819 (QQuickWebViewPrivate::runJavaScriptAlert):
10820 (QQuickWebViewPrivate::runJavaScriptConfirm):
10821 (QQuickWebViewPrivate::runJavaScriptPrompt):
10822 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10823 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10824 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10825 (QQuickWebViewPrivate::execDialogRunner):
10826 * UIProcess/API/qt/qquickwebview_p_p.h:
10827 (QQuickWebViewPrivate):
10829 2012-03-07 Dinu Jacob <dinu.jacob@nokia.com>
10831 [Qt] Authentication dialog does not work
10832 https://bugs.webkit.org/show_bug.cgi?id=79738
10834 Reviewed by Simon Hausmann.
10836 QQuickWebView should accept touch events only if there is
10839 * UIProcess/API/qt/qquickwebview.cpp:
10840 (QQuickWebViewPrivate::QQuickWebViewPrivate):
10841 (QQuickWebViewPrivate::runJavaScriptAlert):
10842 (QQuickWebViewPrivate::runJavaScriptConfirm):
10843 (QQuickWebViewPrivate::runJavaScriptPrompt):
10844 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10845 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10846 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10847 (QQuickWebView::touchEvent):
10848 * UIProcess/API/qt/qquickwebview_p_p.h:
10849 (QQuickWebViewPrivate):
10851 2012-03-07 Dan Bernstein <mitz@apple.com>
10853 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
10854 https://bugs.webkit.org/show_bug.cgi?id=80230
10856 Reviewed by Beth Dakin.
10861 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
10863 * Shared/API/c/WKRenderObject.cpp: Added.
10864 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
10865 (WKRenderObjectCopyName): Added this getter wrapper.
10866 (WKRenderObjectGetAbsolutePosition): Ditto.
10867 (WKRenderObjectGetFrameRect): Ditto.
10868 (WKRenderObjectGetChildren): Ditto.
10870 * Shared/API/c/WKRenderObject.h: Added.
10872 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
10873 * Shared/UserMessageCoders.h:
10874 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
10875 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
10876 * Shared/WebRenderObject.cpp: Added.
10877 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
10878 frame content renderer.
10879 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
10880 name, metrics and children of the given RenderObject, following the rules used in WebKit1
10881 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
10882 renderer as a child.
10884 * Shared/WebRenderObject.h: Added.
10885 (WebKit::WebRenderObject::create):
10886 (WebKit::WebRenderObject::children):
10887 (WebKit::WebRenderObject::name):
10888 (WebKit::WebRenderObject::absolutePosition):
10889 (WebKit::WebRenderObject::frameRect):
10890 (WebKit::WebRenderObject::WebRenderObject):
10894 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
10896 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
10898 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10899 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
10901 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10903 * win/WebKit2.vcproj:
10905 2012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
10907 Pinch zoom acts weirdly on nytimes.com while loading
10908 https://webkit.org/b/80508
10910 Reviewed by Simon Hausmann.
10912 Make sure to suspend the page while doing pinch zooming.
10913 If the page is suspended (which happens while pinch zooming)
10914 then do not send touch events to the page, even if it has
10917 * UIProcess/WebPageProxy.cpp:
10918 (WebKit::WebPageProxy::handleTouchEvent):
10919 * UIProcess/qt/QtViewportInteractionEngine.cpp:
10920 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
10922 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
10924 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
10925 https://bugs.webkit.org/show_bug.cgi?id=80164
10927 Reviewed by Simon Hausmann.
10929 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
10930 value that give some room for us to put Experimental values in the middle. This
10931 way the Experimental values are in a valid range for the original enumeration. To
10932 avoid confusion, the Experimental enumeration was renamed.
10934 * UIProcess/API/qt/qquickwebview_p.h:
10935 * UIProcess/API/qt/qwebnavigationrequest.cpp:
10936 (QWebNavigationRequestPrivate):
10937 (QWebNavigationRequest::setAction):
10938 (QWebNavigationRequest::action):
10939 * UIProcess/API/qt/qwebnavigationrequest_p.h:
10940 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10942 2012-03-07 Andras Becsi <andras.becsi@nokia.com>
10944 [WK2] Make it possible to build without geolocation support
10945 https://bugs.webkit.org/show_bug.cgi?id=80426
10947 Reviewed by Simon Hausmann.
10949 Add missing guards.
10951 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
10952 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
10953 * UIProcess/WebPageProxy.cpp:
10954 (WebKit::WebPageProxy::close):
10955 (WebKit::WebPageProxy::processDidCrash):
10956 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
10957 * WebProcess/WebPage/WebPage.cpp:
10958 (WebKit::WebPage::WebPage):
10960 * WebProcess/WebPage/WebPage.h:
10962 * WebProcess/WebPage/WebPage.messages.in:
10964 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
10966 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
10967 https://bugs.webkit.org/show_bug.cgi?id=80469
10969 Reviewed by Antonio Gomes.
10971 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
10972 property on the library being created.
10974 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
10976 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
10977 https://bugs.webkit.org/show_bug.cgi?id=80313
10979 Reviewed by Kenneth Rohde Christiansen.
10981 Fix the math to get the visible rectangle and add a method to get it.
10983 * UIProcess/API/qt/qquickwebview.cpp:
10984 (QQuickWebViewPrivate::visibleContentsRect):
10985 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
10986 (QQuickWebViewPrivate::_q_commitPositionChange):
10987 * UIProcess/API/qt/qquickwebview_p_p.h:
10988 (QQuickWebViewPrivate):
10990 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
10992 Web Inspector: Hide dock button when not allowed to dock
10993 https://bugs.webkit.org/show_bug.cgi?id=78575
10995 Reviewed by Pavel Feldman.
10997 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10998 (WebKit::WebInspectorClient::didResizeMainFrame):
10999 * WebProcess/WebCoreSupport/WebInspectorClient.h:
11000 * WebProcess/WebPage/WebInspector.cpp:
11001 (WebKit::WebInspector::updateDockingAvailability):
11002 * WebProcess/WebPage/WebInspector.h:
11004 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
11006 [Qt] Interaction Engine suspends content during pageload.
11007 https://bugs.webkit.org/show_bug.cgi?id=80294
11009 Only suspend content when viewport updates are deferred
11010 for a non-instantanious interaction.
11012 Reviewed by Kenneth Rohde Christiansen.
11014 * UIProcess/qt/QtViewportInteractionEngine.cpp:
11015 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
11016 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
11017 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
11018 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
11019 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
11020 * UIProcess/qt/QtViewportInteractionEngine.h:
11021 (QtViewportInteractionEngine):
11023 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
11025 [Qt] Make QQuickWebView's url property work with a flickable webview
11027 Reviewed by Tor Arne Vestbø.
11029 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
11030 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
11031 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
11032 but forgot to call the base implementation.
11034 * UIProcess/API/qt/qquickwebview.cpp:
11035 (QQuickWebViewFlickablePrivate::onComponentComplete):
11037 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
11039 [GTK] Fix several documentation issues in WebKit2 GTK+ API
11040 https://bugs.webkit.org/show_bug.cgi?id=80281
11042 Reviewed by Martin Robinson.
11044 * UIProcess/API/gtk/WebKitFindController.cpp:
11045 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
11046 (webkit_navigation_policy_decision_class_init):
11047 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
11048 * UIProcess/API/gtk/WebKitWebView.h:
11050 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
11052 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
11053 https://bugs.webkit.org/show_bug.cgi?id=80271
11055 Reviewed by Martin Robinson.
11057 Add a new signal WebKitWebView::script-dialog that passes a
11058 WebKitScriptDialog boxed type that can be used to build the dialog
11059 and set the responses. It simplifies the API and makes it bindings
11063 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
11064 (webkitScriptDialogCopy): Copy method for boxed type.
11065 (webkitScriptDialogFree): Free method for boxed type.
11066 (webkit_script_dialog_get_dialog_type): Return the type of dialog:
11067 alert, confirm or prompt.
11068 (webkit_script_dialog_get_message): Return the message of the dialog.
11069 (webkit_script_dialog_confirm_set_confirmed): Set whether user
11070 confirmed the dialog, for confirm dialogs.
11071 (webkit_script_dialog_prompt_get_default_text): Get the default
11072 text of prompt dialogs.
11073 (webkit_script_dialog_prompt_set_text): Set the text entered by
11074 the user, for prompt dialogs.
11075 * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
11076 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
11077 * UIProcess/API/gtk/WebKitWebView.cpp:
11078 (webkitWebViewScriptDialog): Default implementation of
11079 WebKitWebView::script-dialog signal.
11080 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
11081 remove alert, confirm and propmpt.
11082 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
11083 emit WebKitWebView::script-dialog signal.
11084 (webkitWebViewRunJavaScriptConfirm): Ditto.
11085 (webkitWebViewRunJavaScriptPrompt): Ditto.
11086 * UIProcess/API/gtk/WebKitWebView.h:
11087 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11089 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
11090 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11091 (testWebViewJavaScriptDialogs): Update javascript dialog test to
11093 * UIProcess/API/gtk/webkit2marshal.list:
11094 * UIProcess/API/gtk/webkit2.h:
11096 2012-03-05 Gavin Barraclough <barraclough@apple.com>
11098 putByIndex should throw in strict mode
11099 https://bugs.webkit.org/show_bug.cgi?id=80335
11101 Reviewed by Filip Pizlo.
11103 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
11105 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
11106 (WebKit::NPJSObject::setProperty):
11108 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
11110 Unreviewed rollout of r109858 for restructuring.
11112 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
11114 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
11116 Reviewed by Timothy Hatcher.
11118 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
11119 (WebKit::WebInspectorClient::updateDockingAvailability):
11120 * WebProcess/WebCoreSupport/WebInspectorClient.h:
11121 * WebProcess/WebPage/WebInspector.cpp:
11122 (WebKit::WebInspector::updateDockingAvailability):
11123 * WebProcess/WebPage/WebInspector.h:
11125 2012-03-05 Anders Carlsson <andersca@apple.com>
11127 pinch-to-zoom and double-tap flicker when using the new scrolling model
11128 https://bugs.webkit.org/show_bug.cgi?id=80368
11129 <rdar://problem/10866221>
11131 Reviewed by Sam Weinig.
11133 Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
11134 This is currently needed for the tiled drawing area when there might be outstanding scroll updates
11135 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
11136 before sending a message back.
11138 * WebProcess/WebPage/DrawingArea.h:
11139 (WebKit::DrawingArea::forceRepaintAsync):
11140 Add new member function.
11142 * WebProcess/WebPage/WebPage.cpp:
11143 (WebKit::WebPage::forceRepaint):
11144 Try forceRepaintAsync first.
11146 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11147 (WebKit::forceRepaintAndSendMessage):
11148 Force the repaint and send the message.
11150 (WebKit::dispatchBackToMainThread):
11151 Dispatch a call to forceRepaintAndSendMessage to the main thread.
11153 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
11154 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
11155 main thread, ensuring that all previously dispatched functions have been executed.
11157 2012-03-05 Enrica Casucci <enrica@apple.com>
11159 Can't type on some websites (plug-ins steal key events).
11160 <rdar://problem/10892291>
11162 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
11163 in order to return the correct input context. Failure to do so results in the inputContext
11164 method to return the plugin input context instead of the context of the browser view.
11166 Reviewed by Sam Weinig.
11168 * UIProcess/API/mac/WKView.mm:
11169 (-[WKView _setPluginComplexTextInputState:]):
11170 (-[WKView _handlePluginComplexTextInputKeyDown:]):
11172 2012-03-05 Anders Carlsson <andersca@apple.com>
11174 Be more aggressive about repainting page overlays
11175 https://bugs.webkit.org/show_bug.cgi?id=80336
11176 <rdar://problem/10965943>
11178 Reviewed by Simon Fraser.
11180 Whenever we're flushing layers and we have a page overlay, check if the main frame
11181 has scrolled or if the main frame root content layer needs to be repainted and force the
11182 overlay layer to be repainted if either of those conditions are true.
11184 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11185 (TiledCoreAnimationDrawingArea):
11186 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11187 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
11188 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
11191 2012-03-05 Sam Weinig <sam@webkit.org>
11193 Add support for hosting layers in the window server in WebKit2
11194 <rdar://problem/10400246>
11195 https://bugs.webkit.org/show_bug.cgi?id=80310
11197 Reviewed by Anders Carlsson.
11199 This currently only works if you are using TiledCoreAnimation drawing model.
11201 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
11202 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
11203 (WebKit::LayerHostingContext::createForPort):
11204 (WebKit::LayerHostingContext::LayerHostingContext):
11205 (WebKit::LayerHostingContext::createForWindowServer):
11206 (WebKit::LayerHostingContext::~LayerHostingContext):
11207 (WebKit::LayerHostingContext::setRootLayer):
11208 (WebKit::LayerHostingContext::rootLayer):
11209 (WebKit::LayerHostingContext::contextID):
11210 (WebKit::LayerHostingContext::invalidate):
11211 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
11212 as the remote context.
11214 * PluginProcess/PluginControllerProxy.cpp:
11215 * PluginProcess/PluginControllerProxy.h:
11216 * PluginProcess/mac/PluginControllerProxyMac.mm:
11217 Update for new names.
11219 * Shared/LayerTreeContext.h:
11220 Add LayerHostingMode enum.
11222 * UIProcess/PageClient.h:
11223 * UIProcess/API/mac/PageClientImpl.h:
11224 * UIProcess/API/mac/PageClientImpl.mm:
11225 (WebKit::PageClientImpl::layerHostingMode):
11226 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
11227 Add PageClient access points to get the current layer hosting mode,
11228 and a hook to tell the underlying view that the layer hosting context
11231 * UIProcess/API/mac/WKViewInternal.h:
11232 * UIProcess/API/mac/WKView.mm:
11233 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
11234 Implement responding to a new layer hosting context as a simple
11235 exit and re-entrance of compositing.
11237 * UIProcess/DrawingAreaProxy.h:
11238 (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
11239 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
11240 * UIProcess/DrawingAreaProxy.messages.in:
11241 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
11242 (TiledCoreAnimationDrawingAreaProxy):
11243 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
11244 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
11245 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
11246 Pipe layer hosting changes around.
11248 * UIProcess/WebPageProxy.h:
11249 (WebKit::WebPageProxy::layerHostingMode):
11250 * UIProcess/WebPageProxy.cpp:
11251 (WebKit::WebPageProxy::WebPageProxy):
11252 (WebKit::WebPageProxy::viewStateDidChange):
11253 Cache the current layer hosting mode so we don't overzealously
11254 tell the WebProcess to reset its context. Re-check layer hosting
11255 mode each time we are added/removed from a window.
11257 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
11258 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
11259 Update for new names.
11261 * WebProcess/WebPage/DrawingArea.h:
11262 (WebKit::DrawingArea::setDeviceScaleFactor):
11263 (WebKit::DrawingArea::setLayerHostingMode):
11264 * WebProcess/WebPage/DrawingArea.messages.in:
11265 Pipe layer hosting changes around.
11267 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
11268 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
11269 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
11270 (WebKit::LayerTreeHostCAMac::platformInitialize):
11271 (WebKit::LayerTreeHostCAMac::invalidate):
11272 Update for new names.
11274 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11275 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11276 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
11277 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
11278 Respond to a change in the layer hosting mode by invalidating our old context,
11279 making a new one of the right type, and informing the UIProcess of our new context.
11281 * WebKit2.xcodeproj/project.pbxproj:
11284 2012-03-05 Anders Carlsson <andersca@apple.com>
11286 Always update the scroll layer position on the main thread when we have an overlay
11287 https://bugs.webkit.org/show_bug.cgi?id=80324
11289 Reviewed by Sam Weinig.
11291 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
11292 so we'll be able to synchronize painting between the tile cache and the page overlays.
11294 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11295 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
11296 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
11298 2012-03-05 Timothy Hatcher <timothy@apple.com>
11300 Change how the Web Inspector Develop menu actions work.
11302 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
11304 https://webkit.org/b/80308
11306 Reviewed by John Sullivan.
11308 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
11309 * UIProcess/mac/WebInspectorProxyMac.mm:
11310 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
11311 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
11313 2012-03-02 Jon Lee <jonlee@apple.com>
11315 Add support for notification replaceId in Mac WebKit and WK2
11316 https://bugs.webkit.org/show_bug.cgi?id=80206
11317 <rdar://problem/10965574>
11319 Reviewed by Sam Weinig.
11321 * UIProcess/API/C/WKNotification.cpp: Add WK API.
11322 (WKNotificationCopyReplaceID):
11323 * UIProcess/API/C/WKNotification.h:
11324 * UIProcess/Notifications/WebNotification.cpp:
11325 (WebKit::WebNotification::WebNotification):
11326 * UIProcess/Notifications/WebNotification.h: Add replaceID member.
11327 (WebKit::WebNotification::create):
11328 (WebKit::WebNotification::replaceID):
11330 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
11331 (WebKit::WebNotificationManagerProxy::show):
11332 * UIProcess/Notifications/WebNotificationManagerProxy.h:
11333 (WebNotificationManagerProxy):
11334 * UIProcess/WebPageProxy.cpp:
11335 (WebKit::WebPageProxy::showNotification):
11336 * UIProcess/WebPageProxy.h:
11338 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
11339 * WebProcess/Notifications/WebNotificationManager.cpp:
11340 (WebKit::WebNotificationManager::show):
11342 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
11344 Unreviewed, rolling out r109748.
11345 http://trac.webkit.org/changeset/109748
11346 https://bugs.webkit.org/show_bug.cgi?id=80296
11348 Made some tests crash, will fix and recommit (Requested by
11352 * UIProcess/API/qt/qquickwebpage.cpp:
11353 (QQuickWebPagePrivate::paintToCurrentGLContext):
11354 (PageProxyNode::PageProxyNode):
11356 (PageProxyNode::changedStates):
11357 (PageProxyNode::render):
11358 (PageProxyNode::~PageProxyNode):
11359 (QQuickWebPage::updatePaintNode):
11360 (QQuickWebPagePrivate::updateSize):
11361 (QQuickWebPagePrivate::resetPaintNode):
11362 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11363 * UIProcess/API/qt/qquickwebpage_p_p.h:
11364 (QQuickWebPagePrivate):
11365 * UIProcess/DrawingAreaProxy.h:
11367 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
11368 (DrawingAreaProxy):
11369 * UIProcess/DrawingAreaProxyImpl.cpp:
11370 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11371 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11372 * UIProcess/LayerTreeHostProxy.h:
11373 (LayerTreeHostProxy):
11374 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11375 (WebKit::LayerTreeHostProxy::syncAnimations):
11376 (WebKit::LayerTreeHostProxy::updateViewport):
11377 (WebKit::LayerTreeHostProxy::syncLayerParameters):
11378 (WebKit::LayerTreeHostProxy::flushLayerChanges):
11379 (WebKit::LayerTreeHostProxy::ensureRootLayer):
11380 (WebKit::LayerTreeHostProxy::syncRemoteContent):
11381 (WebKit::LayerTreeHostProxy::dispatchUpdate):
11383 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11384 (WebKit::LayerTreeHostProxy::purgeGLResources):
11385 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
11386 * UIProcess/qt/QtWebPageSGNode.h: Removed.
11388 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
11390 [GTK] zlib link error with --enable-webkit2
11391 https://bugs.webkit.org/show_bug.cgi?id=79877
11393 Reviewed by Martin Robinson.
11395 zlib should be linked properly.
11397 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
11398 linking it with WebKitWebProcess.
11400 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
11402 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
11403 https://bugs.webkit.org/show_bug.cgi?id=77208
11405 Reviewed by Anders Carlsson.
11407 A HitTestResultData is now passed to ShowContextMenu WebPageProxy
11408 message instead of the ContextMenuState. ContextMenu client has
11409 been updated to pass the HitTestResult to the
11410 getContextMenuFromProposedMenu callback.
11412 * GNUmakefile.am: Remove ContextMenuState.h.
11413 * Shared/APIClientTraits.h:
11414 * Shared/ContextMenuState.h: Removed.
11415 * Shared/WebHitTestResult.h:
11416 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
11417 a WebCore::HitTestResult.
11418 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
11419 getContextMenuFromProposedMenu callback and deprecate the old
11421 * UIProcess/WebPageContextMenuClient.cpp:
11422 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
11423 Pass a HitTestResult to getContextMenuFromProposedMenu or use the
11424 deprecated one if client version is an old one.
11425 * UIProcess/WebPageContextMenuClient.h:
11426 * UIProcess/WebPageProxy.cpp:
11427 (WebKit::WebPageProxy::showContextMenu):
11428 (WebKit::WebPageProxy::internalShowContextMenu): Save the
11429 WebHitTestResult::Data to use it for handling context menu actions.
11430 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
11431 WebHitTestResult::Data.
11432 * UIProcess/WebPageProxy.h:
11433 * UIProcess/WebPageProxy.messages.in:
11434 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
11435 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11436 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
11437 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
11438 * WebProcess/WebPage/WebContextMenu.cpp:
11439 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
11440 instead of a ContextMenuState and pass it to ShowContextMenu message.
11441 * win/WebKit2.vcproj: ContextMenuState.h.
11443 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
11445 [Qt] [WK2] Support threaded renderer in WK2
11446 https://bugs.webkit.org/show_bug.cgi?id=76661
11448 Made the appropriate fixes in the UI process code to make rendering thread-safe.
11449 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
11450 to LayerTreeHostProxy.
11452 - Each function in LayerTreeHostProxy can be either called from the main thread (handling
11453 messages from the web process), or from the renderer thread (handling the GL context).
11454 The render-queue is locked with a mutex, and messages back to the web process are sent
11455 via callOnMainThread.
11457 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
11458 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
11459 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
11460 deleted only after its GL resources are freed, otherwise those resources may leak.
11462 Based on a patch by Viatcheslav Ostapenko.
11464 Reviewed by Kenneth Rohde Christiansen.
11466 * Target.pri: Added new files.
11467 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
11468 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
11469 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
11470 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
11471 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11472 * UIProcess/API/qt/qquickwebpage_p_p.h:
11473 (QQuickWebPagePrivate):
11474 * UIProcess/DrawingAreaProxy.h:
11476 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
11477 (DrawingAreaProxy):
11478 * UIProcess/DrawingAreaProxyImpl.cpp:
11479 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11480 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11481 * UIProcess/LayerTreeHostProxy.h:
11483 (WebKit::LayerTreeHostProxy::create):
11484 (LayerTreeHostProxy):
11485 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11486 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
11488 (MainThreadGuardedInvoker):
11489 A class that allows invoking functions in the main thread, while guarding a ref-
11492 (WebKit::MainThreadGuardedInvoker::call):
11493 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
11494 (WebKit::MainThreadGuardedInvoker::invoke):
11495 (WebKit::LayerTreeHostProxy::syncAnimations):
11496 (WebKit::LayerTreeHostProxy::updateViewport):
11497 (WebKit::LayerTreeHostProxy::detachDrawingArea):
11498 (WebKit::LayerTreeHostProxy::syncLayerParameters):
11499 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
11500 (WebKit::LayerTreeHostProxy::flushLayerChanges):
11501 (WebKit::LayerTreeHostProxy::ensureRootLayer):
11502 (WebKit::LayerTreeHostProxy::syncRemoteContent):
11503 (WebKit::LayerTreeHostProxy::dispatchUpdate):
11504 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11505 (WebKit::LayerTreeHostProxy::purgeGLResources):
11506 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
11507 * UIProcess/qt/QtWebPageSGNode.h: Added.
11509 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
11511 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
11512 https://bugs.webkit.org/show_bug.cgi?id=71507
11514 Reviewed by Antonio Gomes.
11516 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
11518 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
11520 [Qt] Fix static_libs_as_shared build
11521 https://bugs.webkit.org/show_bug.cgi?id=80214
11523 Reviewed by Tor Arne Vestbø.
11525 Replace (static) link time dependency to WK1 with entrypoint
11526 in the separate WebProcess for activating the QStyle theme if
11530 * UIProcess/Launcher/ProcessLauncher.h:
11531 * WebProcess/qt/WebProcessMainQt.cpp:
11532 (WebKit::WebProcessMainQt):
11537 2012-03-03 Hans Wennborg <hans@chromium.org>
11539 Implement Speech JavaScript API
11540 https://bugs.webkit.org/show_bug.cgi?id=80019
11542 Reviewed by Adam Barth.
11544 Add ENABLE_SCRIPTED_SPEECH.
11546 * Configurations/FeatureDefines.xcconfig:
11548 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
11550 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
11551 https://bugs.webkit.org/show_bug.cgi?id=79543
11553 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
11554 Also, remove flags from changedStates() that we don't actually touch.
11555 This is covered by existing API tests.
11557 Reviewed by Kenneth Rohde Christiansen.
11559 * UIProcess/API/qt/qquickwebpage.cpp:
11560 (QQuickWebPagePrivate::paintToCurrentGLContext):
11561 (PageProxyNode::changedStates):
11562 (PageProxyNode::render):
11563 * UIProcess/API/qt/qquickwebpage_p_p.h:
11564 (QQuickWebPagePrivate):
11566 2012-03-03 Anders Carlsson <andersca@apple.com>
11568 Fix build with newer versions of clang.
11570 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11571 (WebKit::NPN_GetValue):
11572 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
11574 2012-03-02 Andy Estes <aestes@apple.com>
11576 Move nsStringFromWebCoreString out of PageClientImpl
11577 https://bugs.webkit.org/show_bug.cgi?id=80202
11579 Reviewed by Sam Weinig.
11581 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
11582 and it makes us include PageClientImpl.h in places where we shouldn't.
11583 Move this function into StringUtilities.{h, mm}.
11585 * Platform/mac/StringUtilities.h: Added.
11586 * Platform/mac/StringUtilities.mm: Added.
11587 (WebKit::nsStringFromWebCoreString):
11588 * UIProcess/API/mac/PageClientImpl.h:
11589 * UIProcess/API/mac/PageClientImpl.mm:
11590 * UIProcess/API/mac/WKView.mm:
11591 * UIProcess/mac/WebContextMenuProxyMac.mm:
11592 * UIProcess/mac/WebPageProxyMac.mm:
11593 * UIProcess/mac/WebPopupMenuProxyMac.mm:
11594 * UIProcess/mac/WebPreferencesMac.mm:
11595 * WebKit2.xcodeproj/project.pbxproj:
11597 2012-03-02 Andy Estes <aestes@apple.com>
11599 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
11600 https://bugs.webkit.org/show_bug.cgi?id=80197
11602 Reviewed by Alexey Proskuryakov.
11604 It doesn't belong there, and it makes Xcode consider the project to be
11605 invalid, triggering assertions in some builds of Xcode.
11607 * WebKit2.xcodeproj/project.pbxproj:
11609 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
11611 [Qt] Fix spelling mistake in header guard
11613 Reviewed by Noam Rosenthal.
11615 * UIProcess/API/qt/qwebviewportinfo_p.h:
11617 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
11619 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
11620 https://bugs.webkit.org/show_bug.cgi?id=80150
11622 Reviewed by Philippe Normand.
11624 * UIProcess/API/gtk/WebKitWebView.cpp:
11625 (webkit_web_view_set_zoom_level): Use
11626 webkit_web_view_get_zoom_level() instead of
11627 WKPageGetPageZoomFactor() to get the current effective zoom level
11628 depending on zoom-text-only setting.
11630 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
11632 Fix build on AppleWebKit after 109548.
11634 * mac/WebKit2.order:
11636 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
11638 [Qt] Fix tests run with WTR not using QStyle theme
11639 https://bugs.webkit.org/show_bug.cgi?id=80147
11641 Reviewed by Csaba Osztrogonác.
11643 Use an environment variable (set by WTR) to select the QStyle theme.
11644 This is a temporary kludge until we rebase the layout tests to use the
11645 QStyle independent "mobile" theme. This also temporarily breaks the
11646 force_static_libs_as_shared build.
11649 * WebProcess/qt/WebProcessMainQt.cpp:
11650 (WebKit::WebProcessMainQt):
11652 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
11654 [Qt] Compile WebCore without QtWidgets
11655 https://bugs.webkit.org/show_bug.cgi?id=80141
11657 Reviewed by Tor Arne Vestbø.
11659 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
11660 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
11663 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
11665 Suspend/Resume API for pausing timers and animations.
11666 https://bugs.webkit.org/show_bug.cgi?id=76063
11668 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
11670 Adds suspend and resume API for WebKit2 and uses it in Qt to
11671 suspend animations and DOM timers during panning and zoom.
11673 Reviewed by Kenneth Rohde Christiansen.
11675 * UIProcess/API/qt/qquickwebview.cpp:
11676 (QQuickWebViewFlickablePrivate::_q_suspend):
11677 (QQuickWebViewFlickablePrivate::_q_resume):
11678 * UIProcess/WebPageProxy.cpp:
11679 (WebKit::WebPageProxy::WebPageProxy):
11680 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
11681 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
11682 (WebKit::WebPageProxy::processDidCrash):
11683 * UIProcess/WebPageProxy.h:
11684 * WebProcess/WebPage/WebPage.cpp:
11685 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
11686 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
11687 * WebProcess/WebPage/WebPage.h:
11688 * WebProcess/WebPage/WebPage.messages.in:
11690 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
11692 Unreviewed. Fix WebKit2 GTK+ build.
11694 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
11696 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
11698 [Qt][WK2] Make the interaction with the Flickable work on the N9
11699 https://bugs.webkit.org/show_bug.cgi?id=80029
11701 Reviewed by Simon Hausmann.
11703 Because the WebView item accepts all touch events it receives and sends
11704 them to the web process before propagating them to the gesture recognizers,
11705 which is correct behaviour, we can not rely on the touch->mouse conversion
11706 of Qt5 when controlling Flickable. Hence we need to convert the received
11707 touch events to mouse events in the QtFlickProvider.
11709 * UIProcess/qt/QtFlickProvider.cpp:
11710 (QtFlickProvider::handleTouchFlickEvent):
11711 Do the touch to mouse event conversion for the Flickable.
11712 * UIProcess/qt/QtPanGestureRecognizer.cpp:
11713 (WebKit::QtPanGestureRecognizer::recognize):
11714 A touch begin event should cancel the previous pan gesture
11715 and stop the ongoing flick animation.
11717 2012-03-01 Anders Carlsson <andersca@apple.com>
11719 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
11720 https://bugs.webkit.org/show_bug.cgi?id=80044
11721 <rdar://problem/10919940>
11723 Reviewed by Brady Eidson.
11725 Remove the code that would add and remove wheel event handlers since that's not what we want to track.
11726 Instead, dynamically add and remove the view as its scrollbars come and go.
11728 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
11729 (WebKit::BuiltInPDFView::updateScrollbars):
11730 (WebKit::BuiltInPDFView::initialize):
11731 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
11734 2012-03-01 Kangil Han <kangil.han@samsung.com>
11736 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
11737 https://bugs.webkit.org/show_bug.cgi?id=78570
11739 Reviewed by Hajime Morita.
11741 This patch will remove all PlainTextController usages
11742 in existing DRT tests by adding internal API to WebCore/testing/Internals
11745 * win/WebKit2CFLite.def:
11747 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
11749 Unreviewed, rolling out r109255.
11750 http://trac.webkit.org/changeset/109255
11751 https://bugs.webkit.org/show_bug.cgi?id=79932
11753 Breaks rounded rects with dashed strokes in SVG
11755 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11756 (InitWebCoreSystemInterface):
11758 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
11760 [WK2] [GTK] [libsoup] SoupSession should use system CA
11761 https://bugs.webkit.org/show_bug.cgi?id=79657
11763 Reviewed by Martin Robinson.
11765 SoupSession sould use system CA list to validate SSL
11766 certificates. Do not use strict certificate validation though as
11767 we want clients to decide whether or not accept/decline invalid
11768 certificates (API to be added later).
11770 No new tests required as current behaviour does not change at all
11771 as we continue to accept invalid certificates by default.
11773 * WebProcess/gtk/WebProcessMainGtk.cpp:
11774 (WebKit::WebProcessMainGtk):
11776 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
11778 Unreviewed. Fix WebKit2 GTK+ build.
11780 * UIProcess/API/gtk/WebKitDefines.h:
11781 * UIProcess/API/gtk/WebKitWebView.h:
11783 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
11785 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
11786 https://bugs.webkit.org/show_bug.cgi?id=78047
11788 Reviewed by Kenneth Rohde Christiansen.
11790 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
11791 QtWebPageEventHandler::handle*Event.
11793 * UIProcess/API/qt/qquickwebview.cpp:
11794 (QQuickWebView::keyPressEvent):
11795 (QQuickWebView::keyReleaseEvent):
11796 (QQuickWebView::inputMethodEvent):
11797 (QQuickWebView::focusInEvent):
11798 (QQuickWebView::focusOutEvent):
11799 (QQuickWebView::touchEvent):
11800 (QQuickWebView::mousePressEvent):
11801 (QQuickWebView::mouseMoveEvent):
11802 (QQuickWebView::mouseReleaseEvent):
11803 (QQuickWebView::mouseDoubleClickEvent):
11804 (QQuickWebView::wheelEvent):
11805 (QQuickWebView::hoverEnterEvent):
11806 (QQuickWebView::hoverMoveEvent):
11807 (QQuickWebView::hoverLeaveEvent):
11808 (QQuickWebView::dragMoveEvent):
11809 (QQuickWebView::dragEnterEvent):
11810 (QQuickWebView::dragLeaveEvent):
11811 (QQuickWebView::dropEvent):
11812 (QQuickWebView::event):
11813 * UIProcess/qt/QtWebPageEventHandler.cpp:
11814 (QtWebPageEventHandler::handleMouseMoveEvent):
11815 (QtWebPageEventHandler::handleMousePressEvent):
11816 (QtWebPageEventHandler::handleMouseReleaseEvent):
11817 (QtWebPageEventHandler::handleWheelEvent):
11818 (QtWebPageEventHandler::handleHoverLeaveEvent):
11819 (QtWebPageEventHandler::handleHoverMoveEvent):
11820 (QtWebPageEventHandler::handleDragEnterEvent):
11821 (QtWebPageEventHandler::handleDragLeaveEvent):
11822 (QtWebPageEventHandler::handleDragMoveEvent):
11823 (QtWebPageEventHandler::handleDropEvent):
11824 (QtWebPageEventHandler::handleKeyPressEvent):
11825 (QtWebPageEventHandler::handleKeyReleaseEvent):
11826 (QtWebPageEventHandler::handleFocusInEvent):
11827 (QtWebPageEventHandler::handleFocusOutEvent):
11828 (QtWebPageEventHandler::handleInputMethodEvent):
11829 (QtWebPageEventHandler::handleTouchEvent):
11830 * UIProcess/qt/QtWebPageEventHandler.h:
11831 (QtWebPageEventHandler):
11833 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
11835 [Qt][WK2] Unreviewed buildfix after r109277.
11837 * WebProcess/qt/QtBuiltinBundlePage.cpp:
11838 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
11840 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
11842 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
11843 https://bugs.webkit.org/show_bug.cgi?id=79501
11845 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
11847 Reviewed by Kenneth Rohde Christiansen.
11849 * Shared/WebLayerTreeInfo.cpp:
11850 * Shared/WebLayerTreeInfo.h:
11851 * UIProcess/DrawingAreaProxy.cpp:
11853 * UIProcess/DrawingAreaProxy.h:
11854 (DrawingAreaProxy):
11855 * UIProcess/DrawingAreaProxyImpl.cpp:
11856 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11857 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11859 * UIProcess/DrawingAreaProxyImpl.h:
11860 (DrawingAreaProxyImpl):
11861 * UIProcess/LayerTreeHostProxy.h:
11862 (LayerTreeHostProxy):
11863 * UIProcess/WebPageProxy.cpp:
11864 (WebKit::WebPageProxy::didReceiveMessage):
11865 * UIProcess/qt/LayerBackingStore.cpp:
11866 * UIProcess/qt/LayerBackingStore.h:
11867 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11868 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
11869 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
11870 * WebProcess/WebPage/DrawingArea.h:
11872 * WebProcess/WebPage/DrawingAreaImpl.cpp:
11874 * WebProcess/WebPage/DrawingAreaImpl.h:
11876 * WebProcess/WebPage/LayerTreeHost.cpp:
11877 (WebKit::LayerTreeHost::create):
11878 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
11879 (WebKit::LayerTreeHostQt::purgeBackingStores):
11880 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
11883 2012-02-28 Brian Weinstein <bweinstein@apple.com>
11885 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
11886 https://bugs.webkit.org/show_bug.cgi?id=79849
11888 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
11889 just tell the UI process).
11891 Reviewed by Beth Dakin.
11893 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
11894 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
11895 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
11897 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
11898 (InjectedBundlePageLoaderClient):
11899 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11900 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
11903 2012-02-29 Tim Horton <timothy_horton@apple.com>
11905 Make use of CG rounded-rect primitives
11906 https://bugs.webkit.org/show_bug.cgi?id=79932
11907 <rdar://problem/9274953>
11909 Reviewed by Simon Fraser.
11911 Add wkCGPathAddRoundedRect.
11913 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11914 (InitWebCoreSystemInterface):
11916 2012-02-29 Andy Estes <aestes@apple.com>
11918 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11919 https://bugs.webkit.org/show_bug.cgi?id=79936
11921 Reviewed by Brady Eidson.
11923 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11924 platforms. Non-Windows platforms that use CFNetwork-based downloads
11925 should omit this call.
11927 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
11928 (WebKit::Download::start):
11930 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
11932 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
11933 https://bugs.webkit.org/show_bug.cgi?id=79847
11935 Reviewed by Alexey Proskuryakov.
11937 * Target.pri: Fix typo, so we can add ".h" file instead.
11939 2012-02-29 Sam Weinig <sam@webkit.org>
11941 When invoking Lookup while zoomed in, the highlighted word renders out of line
11942 <rdar://problem/10812527>
11944 Reviewed by Simon Fraser.
11946 * WebProcess/WebPage/mac/WebPageMac.mm:
11947 (WebKit::WebPage::performDictionaryLookupForRange):
11948 Make sure to scale the ascent when determining the origin for the overlay.
11950 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
11952 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
11953 https://bugs.webkit.org/show_bug.cgi?id=75252
11955 Reviewed by Gustavo Noronha Silva.
11957 * UIProcess/API/gtk/WebKitWebView.cpp:
11958 (zoomTextOnlyChanged): Update text/page zoom factor when
11959 zoom-text-only setting changes.
11960 (webkitWebViewSetSettings): Helper function to set the settings
11961 object for the web view, initializing the settings for the page
11962 and connecting to notify::zoom-text-only signal.
11963 (webkitWebViewConstructed): Use webkitWebViewSetSettings().
11964 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
11965 disconnect from the notify::zoom-text-only signal of the previous
11967 (webkit_web_view_set_zoom_level): Set text/page zoom factor
11968 depending on WebKitSettings:zoom-text-only property.
11969 (webkit_web_view_get_zoom_level): Get text/page zoom factor
11970 depending on WebKitSettings:zoom-text-only property.
11971 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11972 (testWebViewZoomLevel):
11974 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
11976 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
11977 https://bugs.webkit.org/show_bug.cgi?id=75249
11979 Reviewed by Gustavo Noronha Silva.
11981 To set whether zoom level of web view should affect only the text
11982 or all page contents. It's disabled by default.
11984 * UIProcess/API/gtk/WebKitSettings.cpp:
11985 (webKitSettingsSetProperty):
11986 (webKitSettingsGetProperty):
11987 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
11989 (webkit_settings_set_zoom_text_only): Set
11990 WebKitSettings:zoom-text-only.
11991 (webkit_settings_get_zoom_text_only): Get
11992 WebKitSettings:zoom-text-only.
11993 * UIProcess/API/gtk/WebKitSettings.h:
11994 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11996 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
11997 (testWebKitSettings):
11999 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
12001 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
12002 https://bugs.webkit.org/show_bug.cgi?id=76522
12004 Reviewed by Darin Adler.
12006 DidFindString message should be issued always even if neither
12007 FindOptionsShowOverlay or FindOptionsShowHighlight are
12008 provided. The difference is that if any of those flags are present
12009 the find operation will look for all the appearances of the text
12010 in the web view, otherwise it will just look and report the next
12013 This patch removes the temporary workaround added in r109222 to
12014 the WebKitFindController unit tests.
12016 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
12017 * WebProcess/WebPage/FindController.cpp:
12018 (WebKit::FindController::findString):
12020 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
12022 [GTK] [WK2] Add Find API
12023 https://bugs.webkit.org/show_bug.cgi?id=76070
12025 Reviewed by Martin Robinson.
12027 This patch adds a new public find API for the Gtk+ WK2 port. It
12028 defines a new object called WebKitFindController owned by each
12029 WebKitWebView. Clients will use this new object to search strings
12030 in the WebKitWebView.
12032 Changes include also documentation and unit tests for the new
12036 * UIProcess/API/gtk/WebKitDefines.h:
12037 * UIProcess/API/gtk/WebKitFindController.cpp: Added.
12038 (didFindString): implementation of the WKPage Find interface.
12039 (didFailToFindString): Ditto.
12040 (didCountStringMatches): Ditto.
12041 (webkit_find_controller_init):
12042 (getWKPageFromWebKitWebView):
12043 (webkitFindControllerConstructed):
12044 (webkitFindControllerGetProperty):
12045 (webkitFindControllerSetProperty):
12046 (webkitFindControllerFinalize):
12047 (webkit_find_controller_class_init):
12048 (webkit_find_controller_get_search_text):
12049 (webkit_find_controller_get_options):
12050 (webkit_find_controller_get_max_match_count):
12051 (webkit_find_controller_get_web_view):
12052 (webKitFindControllerPerform):
12053 (webKitFindControllerSetSearchData):
12054 (webkit_find_controller_search): asynchronously looks for the
12055 search string in the WebKitWebView.
12056 (webkit_find_controller_search_finish): unhighlights text matches.
12057 (webkit_find_controller_search_next):
12058 (webkit_find_controller_search_previous):
12059 (webkit_find_controller_count_matches): asynchronously counts the
12060 number of matches of the search string in the WebKitWebView.
12061 * UIProcess/API/gtk/WebKitFindController.h: Added.
12062 * UIProcess/API/gtk/WebKitPrivate.h:
12063 * UIProcess/API/gtk/WebKitWebView.cpp:
12064 (webkit_web_view_get_find_controller): returns the
12065 WebKitFindController instance owned by the WebKitWebView.
12066 * UIProcess/API/gtk/WebKitWebView.h:
12067 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
12068 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
12069 * UIProcess/API/gtk/docs/webkit2gtk.types:
12070 * UIProcess/API/gtk/tests/GNUmakefile.am:
12071 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
12072 (testFindControllerTextFound):
12073 (testFindControllerTextNotFound):
12074 (testFindControllerMatchCount):
12075 (testFindControllerMaxMatchCount):
12076 (testFindControllerNext):
12077 (testFindControllerPrevious):
12078 (testFindControllerCountedMatches):
12079 (testFindControllerOptions):
12080 (testFindControllerInstance):
12081 (testFindControllerGetters):
12082 (testFindControllerHide):
12085 * UIProcess/API/gtk/webkit2.h:
12087 2012-02-28 Simon Fraser <simon.fraser@apple.com>
12089 Update WebKitSystemInterface.
12091 Reviewed by Sam Weinig.
12093 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12094 (InitWebCoreSystemInterface):
12096 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
12098 All mouse events after a right click are ignored when they came from WebkitTestRunner
12099 https://bugs.webkit.org/show_bug.cgi?id=77350
12101 Reviewed by Chang Shu.
12103 Never ignore mouse events when using sync events, even if the context menu is being
12104 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
12106 * WebProcess/WebPage/WebPage.cpp:
12107 (WebKit::WebPage::mouseEventSyncForTesting):
12109 2012-02-28 Alexey Proskuryakov <ap@apple.com>
12113 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
12116 2012-02-28 Alexey Proskuryakov <ap@apple.com>
12120 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
12121 Check for build platform properly.
12123 2012-02-28 Enrica Casucci <enrica@apple.com>
12125 More Pasteboard code cleanup.
12126 https://bugs.webkit.org/show_bug.cgi?id=79816
12128 Removing the last references to NSPasteboard.
12130 Reviewed by Alexey Proskuryakov.
12132 * WebProcess/WebCoreSupport/WebEditorClient.h:
12133 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
12134 (WebKit::WebEditorClient::setInsertionPasteboard):
12136 2012-02-28 Alexey Proskuryakov <ap@apple.com>
12138 [Mac] Add an experimental SPI for plug-ins to enter sandbox
12139 https://bugs.webkit.org/show_bug.cgi?id=79709
12141 Reviewed by Anders Carlsson.
12143 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
12145 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
12147 * WebKit2.xcodeproj/project.pbxproj: Added new files.
12149 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
12150 a function to access sandboxing functions when available.
12152 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
12153 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
12155 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
12157 [Qt] Allow read/write to the WebView.url property
12158 https://bugs.webkit.org/show_bug.cgi?id=77554
12160 Reviewed by Tor Arne Vestbø.
12162 Change QML API WebView.url to read/write to reflect either the url requested by the user.
12163 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
12164 Fixed c++ and qml tests to reflect the new API.
12167 * UIProcess/API/qt/qquickwebview.cpp:
12168 (QQuickWebViewPrivate::QQuickWebViewPrivate):
12169 (QQuickWebViewPrivate::onComponentComplete):
12170 (QQuickWebView::setUrl):
12171 * UIProcess/API/qt/qquickwebview_p_p.h:
12172 (QQuickWebViewPrivate):
12173 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12174 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12175 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12176 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12177 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12178 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
12179 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
12180 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12181 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
12182 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12183 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12184 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12185 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12186 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12187 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12188 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
12189 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12190 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12191 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12192 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12193 (tst_QQuickWebView::loadEmptyPageViewHidden):
12194 (tst_QQuickWebView::loadNonexistentFileUrl):
12196 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
12198 [Qt] Signal and property cleanup in QQuickWebView
12199 https://bugs.webkit.org/show_bug.cgi?id=78820
12201 Reviewed by Noam Rosenthal.
12203 - Remove parameters from property change notify signals:
12204 titleChanged, urlChanged, iconChanged, loadProgressChanged
12205 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12206 - Rename navigationStateChanged to navigationHistoryChanged
12208 * UIProcess/API/qt/qquickwebview.cpp:
12209 (QQuickWebViewPrivate::QQuickWebViewPrivate):
12210 (QQuickWebViewPrivate::initialize):
12211 (QQuickWebViewPrivate::_q_onUrlChanged):
12212 (QQuickWebViewPrivate::setIcon):
12213 * UIProcess/API/qt/qquickwebview_p.h:
12214 * UIProcess/API/qt/qquickwebview_p_p.h:
12215 (QQuickWebViewPrivate):
12216 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12217 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12218 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12219 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12220 (tst_QQuickWebView::loadProgress):
12221 * UIProcess/qt/QtWebPageLoadClient.cpp:
12222 (QtWebPageLoadClient::didCommitLoadForFrame):
12223 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12224 (QtWebPageLoadClient::didReceiveTitleForFrame):
12225 (QtWebPageLoadClient::setLoadProgress):
12226 * UIProcess/qt/QtWebPageLoadClient.h:
12227 (QtWebPageLoadClient):
12229 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
12231 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
12232 https://bugs.webkit.org/show_bug.cgi?id=79496
12234 Reviewed by Martin Robinson.
12236 Updated places where raw pointers to GMainLoop and GMainContext
12237 were being used, replacing them with GRefPtr-based code.
12239 * Platform/WorkQueue.h:
12241 * Platform/gtk/WorkQueueGtk.cpp:
12242 (WorkQueue::platformInitialize):
12243 (WorkQueue::platformInvalidate):
12244 (WorkQueue::workQueueThreadBody):
12245 (WorkQueue::registerEventSourceHandler):
12246 (WorkQueue::dispatchOnSource):
12247 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
12248 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
12249 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
12250 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
12251 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
12252 (WebPopupMenuProxyGtk):
12254 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
12256 [Qt] Initialize QtWebContext as much as we can in its constructor.
12257 https://bugs.webkit.org/show_bug.cgi?id=79809
12259 Reviewed by Tor Arne Vestbø.
12261 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
12262 since it doesn't call the initialize method on it after creating it.
12263 Remove the initialize method, move the download manager and icon database initialization
12264 in the constructor and call initializeContextInjectedBundleClient directly in
12265 defaultContext to prevent overriding WKTR's injected bundle client.
12267 * UIProcess/qt/QtWebContext.cpp:
12268 (WebKit::QtWebContext::QtWebContext):
12269 (WebKit::QtWebContext::defaultContext):
12270 * UIProcess/qt/QtWebContext.h:
12273 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
12275 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
12276 https://bugs.webkit.org/show_bug.cgi?id=79775
12278 Reviewed by Martin Robinson.
12280 Use an enum instead of a boolean to track the status of a
12281 replace_content() load operation. We need to know when the load of
12282 the replace content actually starts to not ignore valid load
12283 events of a previous ongoing load operation.
12285 * UIProcess/API/gtk/WebKitWebView.cpp:
12286 (webkitWebViewLoadChanged): Transit to new replace content state
12287 when replacing content depending on the load event.
12288 (webkitWebViewLoadFailed): Ignore load failed events when
12290 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
12292 (webkit_web_view_replace_content): Set replace content status to
12293 WillReplaceContent.
12294 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
12295 (replaceContentLoadCallback):
12296 (testWebViewReplaceContent):
12297 * UIProcess/API/gtk/tests/WebViewTest.cpp:
12299 (WebViewTest::waitUntilTitleChanged): Convenient method to wait
12300 until title changes. Use with replaceConent() since load events
12301 are not emitted when replacing content.
12302 * UIProcess/API/gtk/tests/WebViewTest.h:
12304 2012-02-27 Anders Carlsson <andersca@apple.com>
12306 Add basic page overlay support to TiledCoreAnimationDrawingArea
12307 https://bugs.webkit.org/show_bug.cgi?id=79716
12308 <rdar://problem/10923079>
12310 Reviewed by Sam Weinig.
12312 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12313 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
12315 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12316 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
12317 Create the page overlay layer.
12319 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
12320 Destroy the page overlay layer.
12322 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
12323 Mark the page overlay layer as needing display.
12325 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
12326 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
12327 Add empty GraphisLayerClient member function implementations.
12329 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
12330 Ask the page overlay to paint itself.
12332 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
12333 Flush the page overlay layer.
12335 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
12336 Resize the page overlay layer.
12338 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
12339 If we have a page overlay layer, add it as a sublayer of the root layer.
12341 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
12342 Create the page overlay layer and add it as a sublayer of the root layer.
12344 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
12345 Remove the page overlay layer and destroy it.
12347 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
12349 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
12350 https://bugs.webkit.org/show_bug.cgi?id=79804
12352 Reviewed by Martin Robinson.
12354 That comes from the first patch that followed the approach of the
12355 first LoaderClient implementation. With current implementation
12356 download signals, except decide-destination, don't need to be
12357 true_handled, and they won't have a default handler
12358 implementation. Also the download object is not supposed to be
12359 inheritable, since instances are created privately by the
12360 WebContext, so it's not possible to override the virtual methods
12361 in derived classes.
12363 * UIProcess/API/gtk/WebKitDownload.cpp:
12364 (webkit_download_class_init):
12365 (webkitDownloadNotifyProgress):
12366 (webkitDownloadFailed):
12367 (webkitDownloadFinished):
12368 * UIProcess/API/gtk/WebKitDownload.h:
12369 (_WebKitDownloadClass):
12370 * UIProcess/API/gtk/webkit2marshal.list:
12372 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
12374 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
12375 https://bugs.webkit.org/show_bug.cgi?id=79800
12377 Reviewed by Csaba Osztrogonác.
12379 We have two different enums called NavigationRequestAction. If we use one of them
12380 to store the variables, compilers can rightfully warn about comparison with
12381 values from other enums.
12383 We might revisit the strategy of exposing different enumerations in experimental,
12384 but for now, fallback to using int for the 'action' property in
12385 QWebNavigationRequest.
12387 * UIProcess/API/qt/qwebnavigationrequest.cpp:
12388 (QWebNavigationRequestPrivate):
12389 (QWebNavigationRequest::setAction):
12390 (QWebNavigationRequest::action):
12391 * UIProcess/API/qt/qwebnavigationrequest_p.h:
12392 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12394 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
12396 [Qt] API changes to QWebNavigationRequest
12397 https://bugs.webkit.org/show_bug.cgi?id=78821
12399 Reviewed by Kenneth Rohde Christiansen.
12401 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
12402 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
12403 use the enum type for 'action'.
12405 * UIProcess/API/qt/qwebnavigationrequest.cpp:
12406 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
12407 (QWebNavigationRequestPrivate):
12408 (QWebNavigationRequest::QWebNavigationRequest):
12409 (QWebNavigationRequest::setAction):
12410 (QWebNavigationRequest::mouseButton):
12411 (QWebNavigationRequest::keyboardModifiers):
12412 (QWebNavigationRequest::action):
12413 * UIProcess/API/qt/qwebnavigationrequest_p.h:
12414 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12415 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12416 * UIProcess/qt/QtWebPagePolicyClient.cpp:
12417 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
12418 * UIProcess/qt/QtWebPagePolicyClient.h:
12419 (QtWebPagePolicyClient):
12421 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
12423 Element should be able to have multiple shadow roots.
12424 https://bugs.webkit.org/show_bug.cgi?id=77931
12426 Reviewed by Hajime Morita.
12429 * win/WebKit2CFLite.def:
12431 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
12433 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
12434 https://bugs.webkit.org/show_bug.cgi?id=79521
12436 Reviewed by Kenneth Rohde Christiansen.
12438 movingChanged() signal is emitted many times, so the use of movementStarted() and
12439 movementEnded() is a better choice.
12441 * UIProcess/qt/QtFlickProvider.cpp:
12442 (QtFlickProvider::QtFlickProvider):
12443 * UIProcess/qt/QtFlickProvider.h:
12445 * UIProcess/qt/QtViewportInteractionEngine.cpp:
12446 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
12447 * UIProcess/qt/QtViewportInteractionEngine.h:
12448 (QtViewportInteractionEngine):
12450 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
12452 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
12453 https://bugs.webkit.org/show_bug.cgi?id=78313
12455 Reviewed by Hajime Morita.
12458 * win/WebKit2CFLite.def:
12460 2012-02-27 Brady Eidson <beidson@apple.com>
12462 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
12463 <a ping> doesn't work in WebKit2
12465 Reviewed by Alexey Proskuryakov.
12467 * WebProcess/WebPage/WebPage.cpp:
12468 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
12470 2012-02-27 Enrica Casucci <enrica@apple.com>
12472 WebKit2: implement platform strategy to access Pasteboard in the UI process.
12473 https://bugs.webkit.org/show_bug.cgi?id=79253
12474 <rdar://problem/9971876>
12476 Reviewed by Alexey Proskuryakov.
12478 * UIProcess/WebContext.h:
12479 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
12481 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
12483 (WebKit::WebContext::getPasteboardTypes):
12484 (WebKit::WebContext::getPasteboardPathnamesForType):
12485 (WebKit::WebContext::getPasteboardStringForType):
12486 (WebKit::WebContext::getPasteboardBufferForType):
12487 (WebKit::WebContext::pasteboardCopy):
12488 (WebKit::WebContext::getPasteboardChangeCount):
12489 (WebKit::WebContext::getPasteboardUniqueName):
12490 (WebKit::WebContext::getPasteboardColor):
12491 (WebKit::WebContext::setPasteboardTypes):
12492 (WebKit::WebContext::setPasteboardPathnamesForType):
12493 (WebKit::WebContext::setPasteboardStringForType):
12494 (WebKit::WebContext::setPasteboardBufferForType):
12495 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
12496 with the UI process.
12497 (WebKit::WebPlatformStrategies::getTypes):
12498 (WebKit::WebPlatformStrategies::bufferForType):
12499 (WebKit::WebPlatformStrategies::getPathnamesForType):
12500 (WebKit::WebPlatformStrategies::stringForType):
12501 (WebKit::WebPlatformStrategies::copy):
12502 (WebKit::WebPlatformStrategies::changeCount):
12503 (WebKit::WebPlatformStrategies::uniqueName):
12504 (WebKit::WebPlatformStrategies::color):
12505 (WebKit::WebPlatformStrategies::setTypes):
12506 (WebKit::WebPlatformStrategies::setBufferForType):
12507 (WebKit::WebPlatformStrategies::setPathnamesForType):
12508 (WebKit::WebPlatformStrategies::setStringForType):
12510 2012-02-27 Dan Bernstein <mitz@apple.com>
12512 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
12513 https://bugs.webkit.org/show_bug.cgi?id=79607
12515 Reviewed by Adele Peterson.
12517 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
12519 This was caused by not mapping the mouse event coordinates from window coordinates to
12520 document coordinates.
12522 * WebProcess/WebPage/mac/WebPageMac.mm:
12523 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
12524 coordinates when performing the hit test.
12525 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
12526 frame coordinates when perfomring the hit test.
12527 (WebKit::WebPage::acceptsFirstMouse): Ditto.
12529 2012-02-27 Timothy Hatcher <timothy@apple.com>
12531 Add WKInspector API to know when the Web Inspector is the frontmost window.
12533 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
12535 https://webkit.org/b/79649
12537 Reviewed by John Sullivan.
12539 * UIProcess/API/C/WKInspector.cpp:
12540 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
12541 * UIProcess/API/C/WKInspector.h:
12542 * UIProcess/WebInspectorProxy.cpp:
12543 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
12544 * UIProcess/WebInspectorProxy.h:
12545 * UIProcess/efl/WebInspectorEfl.cpp:
12546 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12547 * UIProcess/gtk/WebInspectorGtk.cpp:
12548 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12549 * UIProcess/mac/WebInspectorProxyMac.mm:
12550 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
12551 the Web Inspector window is front.
12552 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
12553 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
12554 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
12555 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
12556 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
12557 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
12558 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
12559 * UIProcess/qt/WebInspectorProxyQt.cpp:
12560 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12561 * UIProcess/win/WebInspectorProxyWin.cpp:
12562 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12564 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
12566 [EFL][WK2] Add InjectedBundleEfl.cpp
12567 https://bugs.webkit.org/show_bug.cgi?id=75463
12569 Reviewed by Andreas Kling.
12571 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
12573 * WebProcess/InjectedBundle/InjectedBundle.h:
12574 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
12575 (WebKit::InjectedBundle::load):
12576 (WebKit::InjectedBundle::activateMacFontAscentHack):
12578 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
12580 Rename ShadowRootList to ShadowTree.
12581 https://bugs.webkit.org/show_bug.cgi?id=79342
12583 Reviewed by Hajime Morita.
12586 * win/WebKit2CFLite.def:
12588 2012-02-26 Hajime Morrita <morrita@chromium.org>
12590 Move ChromeClient::showContextMenu() to ContextMenuClient
12591 https://bugs.webkit.org/show_bug.cgi?id=79427
12593 Reviewed by Adam Barth.
12595 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12596 * WebProcess/WebCoreSupport/WebChromeClient.h:
12598 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
12600 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
12601 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
12602 (WebContextMenuClient):
12603 * WebProcess/WebPage/WebPage.cpp:
12604 (WebKit::handleContextMenuEvent):
12605 (WebKit::handleMouseEvent):
12606 (WebKit::WebPage::mouseEvent):
12607 (WebKit::WebPage::mouseEventSyncForTesting):
12609 2012-02-26 Huang Dongsung <luxtella@company100.net>
12611 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
12613 https://bugs.webkit.org/show_bug.cgi?id=79478
12615 This makes a lot of the broilerplate code for message-passing unnecessary, and
12616 results in a much more succinct implementation.
12618 Reviewed by Noam Rosenthal.
12620 * UIProcess/LayerTreeHostProxy.h:
12622 (LayerTreeHostProxy):
12623 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
12625 (WebKit::LayerTreeHostProxy::updateTile):
12626 (WebKit::LayerTreeHostProxy::createImage):
12627 (WebKit::LayerTreeHostProxy::syncRemoteContent):
12628 (WebKit::LayerTreeHostProxy::dispatchUpdate):
12629 (WebKit::LayerTreeHostProxy::createTileForLayer):
12630 (WebKit::LayerTreeHostProxy::updateTileForLayer):
12631 (WebKit::LayerTreeHostProxy::removeTileForLayer):
12632 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
12633 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
12634 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
12635 (WebKit::LayerTreeHostProxy::didRenderFrame):
12636 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
12637 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
12639 2012-02-26 Filip Pizlo <fpizlo@apple.com>
12643 * Platform/mac/RemoteLayerClient.mm:
12644 (WebKit::RemoteLayerClient::RemoteLayerClient):
12646 2012-02-26 Sam Weinig <sam@webkit.org>
12648 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
12649 https://bugs.webkit.org/show_bug.cgi?id=79612
12651 Reviewed by Anders Carlsson.
12653 * Platform/mac/RemoteLayerClient.h:
12654 * Platform/mac/RemoteLayerClient.mm:
12655 (WebKit::RemoteLayerClient::create):
12656 (WebKit::RemoteLayerClient::RemoteLayerClient):
12657 (WebKit::RemoteLayerClient::~RemoteLayerClient):
12658 (WebKit::RemoteLayerClient::clientID):
12659 (WebKit::RemoteLayerClient::invalidate):
12660 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
12661 where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
12664 * PluginProcess/PluginControllerProxy.cpp:
12665 * PluginProcess/PluginControllerProxy.h:
12666 * PluginProcess/mac/PluginControllerProxyMac.mm:
12667 (WebKit::PluginControllerProxy::platformInitialize):
12668 (WebKit::PluginControllerProxy::platformDestroy):
12669 (WebKit::PluginControllerProxy::remoteLayerClientID):
12670 (WebKit::PluginControllerProxy::platformGeometryDidChange):
12671 * WebKit2.xcodeproj/project.pbxproj:
12672 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
12673 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
12674 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
12675 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
12676 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
12677 (LayerTreeHostCAMac):
12678 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
12679 (WebKit::LayerTreeHostCAMac::platformInitialize):
12680 (WebKit::LayerTreeHostCAMac::invalidate):
12681 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12682 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12683 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
12684 Switch to using RemoteLayerClient.
12686 * UIProcess/mac/WebContextMac.mm:
12687 (WebKit::WebContext::platformInitializeWebProcess):
12688 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
12689 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
12690 Use CARemoteLayerServer directly if available.
12692 2012-02-25 Anders Carlsson <andersca@apple.com>
12694 Address review feedback from Andreas Kling.
12696 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12697 (WebKit::NetscapePlugin::platformHandleMouseEvent):
12699 2012-02-25 Anders Carlsson <andersca@apple.com>
12701 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
12702 https://bugs.webkit.org/show_bug.cgi?id=79589
12703 <rdar://problem/9719592>
12705 Reviewed by Sam Weinig.
12707 In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
12708 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
12709 the containing WKView is on.
12711 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
12712 system that the plug-in expects.
12714 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12715 (WebKit::NetscapePlugin::platformHandleMouseEvent):
12717 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
12719 Unreviewed, rolling out r108900.
12720 http://trac.webkit.org/changeset/108900
12721 https://bugs.webkit.org/show_bug.cgi?id=79587
12723 broke some API tests, will investigate and re-commit
12724 (Requested by noamr on #webkit).
12726 * UIProcess/API/qt/qquickwebpage.cpp:
12727 (computeEffectiveOpacity):
12728 (QQuickWebPagePrivate::paintToCurrentGLContext):
12729 (PageProxyNode::changedStates):
12730 (PageProxyNode::render):
12731 * UIProcess/API/qt/qquickwebpage_p_p.h:
12732 (QQuickWebPagePrivate):
12734 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
12736 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
12737 https://bugs.webkit.org/show_bug.cgi?id=79543
12739 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
12740 Also, remove flags from changedStates() that we don't actually touch.
12742 Reviewed by Kenneth Rohde Christiansen.
12744 * UIProcess/API/qt/qquickwebpage.cpp:
12745 (QQuickWebPagePrivate::paintToCurrentGLContext):
12746 (PageProxyNode::changedStates):
12747 (PageProxyNode::render):
12748 * UIProcess/API/qt/qquickwebpage_p_p.h:
12749 (QQuickWebPagePrivate):
12751 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
12753 Unreviewed, rolling out r108816.
12754 http://trac.webkit.org/changeset/108816
12755 https://bugs.webkit.org/show_bug.cgi?id=79562
12757 It made many tests crash and timeout on Qt-WK2 (Requested by
12758 ossy__ on #webkit).
12760 * UIProcess/API/qt/qquickwebview.cpp:
12761 (QQuickWebViewPrivate::QQuickWebViewPrivate):
12762 (QQuickWebViewPrivate::initialize):
12763 (QQuickWebViewPrivate::setIcon):
12764 * UIProcess/API/qt/qquickwebview_p.h:
12765 * UIProcess/API/qt/qquickwebview_p_p.h:
12766 (QQuickWebViewPrivate):
12767 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12768 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12769 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12770 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12771 (tst_QQuickWebView::loadProgress):
12772 * UIProcess/qt/QtWebPageLoadClient.cpp:
12773 (QtWebPageLoadClient::didCommitLoadForFrame):
12774 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12775 (QtWebPageLoadClient::didReceiveTitleForFrame):
12776 (QtWebPageLoadClient::setLoadProgress):
12777 * UIProcess/qt/QtWebPageLoadClient.h:
12778 (QtWebPageLoadClient):
12780 2012-02-24 Andy Estes <aestes@apple.com>
12782 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
12783 https://bugs.webkit.org/show_bug.cgi?id=79515
12785 Reviewed by Alexey Proskuryakov.
12787 Some versions of Safari contain call sites to two functions in WebKit2
12788 that were removed in r108730. Restore these two functions so that these
12789 versions of Safari can be used with WebKit nightly builds.
12791 * UIProcess/API/C/WKPreferences.cpp:
12792 (WKPreferencesSetSuppressIncrementalRendering):
12793 (WKPreferencesGetSuppressIncrementalRendering):
12794 * UIProcess/API/C/WKPreferences.h:
12796 2012-02-24 Jessie Berlin <jberlin@apple.com>
12798 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
12799 about the permission level.
12800 https://bugs.webkit.org/show_bug.cgi?id=79494
12802 Reviewed by Jon Honeycutt.
12804 Invoke the callback in the case where the permission level is known and no message is sent
12807 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
12808 (WebKit::NotificationPermissionRequestManager::startRequest):
12810 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
12812 [Qt] Signal and property cleanup in QQuickWebView
12813 https://bugs.webkit.org/show_bug.cgi?id=78820
12815 Reviewed by Simon Hausmann.
12817 - Remove parameters from property change notify signals:
12818 titleChanged, urlChanged, iconChanged, loadProgressChanged
12819 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12820 - Rename navigationStateChanged to navigationHistoryChanged
12822 * UIProcess/API/qt/qquickwebview.cpp:
12823 (QQuickWebViewPrivate::QQuickWebViewPrivate):
12824 (QQuickWebViewPrivate::initialize):
12825 (QQuickWebViewPrivate::_q_onUrlChanged):
12826 (QQuickWebViewPrivate::setIcon):
12827 * UIProcess/API/qt/qquickwebview_p.h:
12828 * UIProcess/API/qt/qquickwebview_p_p.h:
12829 (QQuickWebViewPrivate):
12830 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12831 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12832 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12833 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12834 (tst_QQuickWebView::loadProgress):
12835 * UIProcess/qt/QtWebPageLoadClient.cpp:
12836 (QtWebPageLoadClient::didCommitLoadForFrame):
12837 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12838 (QtWebPageLoadClient::didReceiveTitleForFrame):
12839 (QtWebPageLoadClient::setLoadProgress):
12840 * UIProcess/qt/QtWebPageLoadClient.h:
12841 (QtWebPageLoadClient):
12843 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
12845 [Qt] API: Unify the loading properties and signals.
12846 https://bugs.webkit.org/show_bug.cgi?id=79486
12848 Reviewed by Simon Hausmann.
12850 - Remove the canReload signal, instead assume that calling reload in those cases
12851 won't have any effect.
12852 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
12853 The signal carries an argument with a status and error codes giving the intended context.
12854 - Use loadingChanged as the notification signal for the property "loading" instead of
12855 navigationStateChanged.
12857 Also update all API tests to use the new loading signals and add some utility functions
12858 to track the loading since the new API aims to be more adapted to declarative logic
12859 and the auto tests are using an imperative logic.
12862 * UIProcess/API/qt/qquickwebview.cpp:
12863 (QQuickWebViewPrivate::QQuickWebViewPrivate):
12864 (QQuickWebViewPrivate::loadDidSucceed):
12865 (QQuickWebViewPrivate::didChangeLoadingState):
12866 (QQuickWebViewPrivate::processDidCrash):
12867 (QQuickWebViewPrivate::didRelaunchProcess):
12868 * UIProcess/API/qt/qquickwebview_p.h:
12869 * UIProcess/API/qt/qquickwebview_p_p.h:
12870 (QQuickWebViewPrivate):
12871 * UIProcess/API/qt/qwebloadrequest.cpp: Added.
12872 (QWebLoadRequestPrivate):
12873 (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
12874 (QWebLoadRequest::QWebLoadRequest):
12875 (QWebLoadRequest::~QWebLoadRequest):
12876 (QWebLoadRequest::url):
12877 (QWebLoadRequest::status):
12878 (QWebLoadRequest::errorString):
12879 (QWebLoadRequest::errorDomain):
12880 (QWebLoadRequest::errorCode):
12881 * UIProcess/API/qt/qwebloadrequest_p.h: Added.
12882 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12883 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12884 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12885 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12886 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12887 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12888 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12889 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12890 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12891 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
12892 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12893 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12894 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12895 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12896 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12897 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12898 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12899 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
12900 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12901 (tst_QQuickWebView::navigationStatusAtStartup):
12902 (LoadStartedCatcher::LoadStartedCatcher):
12903 (LoadStartedCatcher::onLoadingChanged):
12904 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
12905 (tst_QQuickWebView::loadEmptyPageViewHidden):
12906 (tst_QQuickWebView::loadNonexistentFileUrl):
12907 (tst_QQuickWebView::backAndForward):
12908 (tst_QQuickWebView::reload):
12909 (tst_QQuickWebView::stop):
12910 (tst_QQuickWebView::loadProgress):
12911 (tst_QQuickWebView::showWebView):
12912 (tst_QQuickWebView::multipleWebViewWindows):
12913 (tst_QQuickWebView::multipleWebViews):
12914 (tst_QQuickWebView::scrollRequest):
12915 * UIProcess/API/qt/tests/util.cpp:
12917 (LoadSpy::LoadSpy):
12918 (LoadSpy::onLoadingChanged):
12919 (waitForLoadSucceeded):
12920 (waitForLoadFailed):
12921 * UIProcess/API/qt/tests/util.h:
12922 * UIProcess/qt/QtWebError.h:
12923 * UIProcess/qt/QtWebPageLoadClient.cpp:
12924 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
12925 (QtWebPageLoadClient::dispatchLoadFailed):
12926 * UIProcess/qt/QtWebPageLoadClient.h:
12927 (QtWebPageLoadClient):
12929 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
12931 Unreviewed, rolling out r108798.
12932 http://trac.webkit.org/changeset/108798
12933 https://bugs.webkit.org/show_bug.cgi?id=78047
12935 Broke too many Qt WK2 tests.
12937 * UIProcess/API/qt/qquickwebview.cpp:
12938 (QQuickWebView::keyPressEvent):
12939 (QQuickWebView::keyReleaseEvent):
12940 (QQuickWebView::inputMethodEvent):
12941 (QQuickWebView::focusInEvent):
12942 (QQuickWebView::focusOutEvent):
12943 (QQuickWebView::touchEvent):
12944 (QQuickWebView::mousePressEvent):
12945 (QQuickWebView::mouseMoveEvent):
12946 (QQuickWebView::mouseReleaseEvent):
12947 (QQuickWebView::mouseDoubleClickEvent):
12948 (QQuickWebView::wheelEvent):
12949 (QQuickWebView::hoverEnterEvent):
12950 (QQuickWebView::hoverMoveEvent):
12951 (QQuickWebView::hoverLeaveEvent):
12952 (QQuickWebView::dragMoveEvent):
12953 (QQuickWebView::dragEnterEvent):
12954 (QQuickWebView::dragLeaveEvent):
12955 (QQuickWebView::dropEvent):
12956 (QQuickWebView::event):
12957 * UIProcess/qt/QtWebPageEventHandler.cpp:
12958 (QtWebPageEventHandler::handleEvent):
12959 (QtWebPageEventHandler::handleMouseMoveEvent):
12960 (QtWebPageEventHandler::handleMousePressEvent):
12961 (QtWebPageEventHandler::handleMouseReleaseEvent):
12962 (QtWebPageEventHandler::handleWheelEvent):
12963 (QtWebPageEventHandler::handleHoverLeaveEvent):
12964 (QtWebPageEventHandler::handleHoverMoveEvent):
12965 (QtWebPageEventHandler::handleDragEnterEvent):
12966 (QtWebPageEventHandler::handleDragLeaveEvent):
12967 (QtWebPageEventHandler::handleDragMoveEvent):
12968 (QtWebPageEventHandler::handleDropEvent):
12969 (QtWebPageEventHandler::handleKeyPressEvent):
12970 (QtWebPageEventHandler::handleKeyReleaseEvent):
12971 (QtWebPageEventHandler::handleFocusInEvent):
12972 (QtWebPageEventHandler::handleFocusOutEvent):
12973 (QtWebPageEventHandler::inputMethodEvent):
12974 (QtWebPageEventHandler::touchEvent):
12975 * UIProcess/qt/QtWebPageEventHandler.h:
12976 (QtWebPageEventHandler):
12978 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
12980 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
12981 https://bugs.webkit.org/show_bug.cgi?id=78047
12983 Reviewed by Kenneth Rohde Christiansen.
12985 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
12986 QtWebPageEventHandler::handle*Event.
12988 * UIProcess/API/qt/qquickwebview.cpp:
12989 (QQuickWebView::keyPressEvent):
12990 (QQuickWebView::keyReleaseEvent):
12991 (QQuickWebView::inputMethodEvent):
12992 (QQuickWebView::focusInEvent):
12993 (QQuickWebView::focusOutEvent):
12994 (QQuickWebView::touchEvent):
12995 (QQuickWebView::mousePressEvent):
12996 (QQuickWebView::mouseMoveEvent):
12997 (QQuickWebView::mouseReleaseEvent):
12998 (QQuickWebView::mouseDoubleClickEvent):
12999 (QQuickWebView::wheelEvent):
13000 (QQuickWebView::hoverEnterEvent):
13001 (QQuickWebView::hoverMoveEvent):
13002 (QQuickWebView::hoverLeaveEvent):
13003 (QQuickWebView::dragMoveEvent):
13004 (QQuickWebView::dragEnterEvent):
13005 (QQuickWebView::dragLeaveEvent):
13006 (QQuickWebView::dropEvent):
13007 (QQuickWebView::event):
13008 * UIProcess/qt/QtWebPageEventHandler.cpp:
13009 (QtWebPageEventHandler::handleMouseMoveEvent):
13010 (QtWebPageEventHandler::handleMousePressEvent):
13011 (QtWebPageEventHandler::handleMouseReleaseEvent):
13012 (QtWebPageEventHandler::handleWheelEvent):
13013 (QtWebPageEventHandler::handleHoverLeaveEvent):
13014 (QtWebPageEventHandler::handleHoverMoveEvent):
13015 (QtWebPageEventHandler::handleDragEnterEvent):
13016 (QtWebPageEventHandler::handleDragLeaveEvent):
13017 (QtWebPageEventHandler::handleDragMoveEvent):
13018 (QtWebPageEventHandler::handleDropEvent):
13019 (QtWebPageEventHandler::handleKeyPressEvent):
13020 (QtWebPageEventHandler::handleKeyReleaseEvent):
13021 (QtWebPageEventHandler::handleFocusInEvent):
13022 (QtWebPageEventHandler::handleFocusOutEvent):
13023 (QtWebPageEventHandler::handleInputMethodEvent):
13024 (QtWebPageEventHandler::handleTouchEvent):
13025 * UIProcess/qt/QtWebPageEventHandler.h:
13026 (QtWebPageEventHandler):
13028 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
13030 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
13031 https://bugs.webkit.org/show_bug.cgi?id=79022
13033 Reviewed by Csaba Osztrogonác.
13036 * UIProcess/API/qt/qquickwebpage.cpp:
13037 (PageProxyNode::PageProxyNode):
13038 (PageProxyNode::changedStates):
13039 (PageProxyNode::render):
13042 2012-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
13044 [GTK] Encode/decode Null ResourceResponse objects in WebKit2
13045 https://bugs.webkit.org/show_bug.cgi?id=79471
13047 Reviewed by Philippe Normand.
13049 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13050 (CoreIPC::::encode): Check whether ResourceResponse is Null before
13052 (CoreIPC::::decode): Check whether response is Null and create a
13053 Null ResourceResponse object in such case.
13055 2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
13057 SpellCheckRequest needs to know the context where the spellcheck happened.
13058 https://bugs.webkit.org/show_bug.cgi?id=79320
13060 Reviewed by Hajime Morita.
13062 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13063 (WebKit::WebEditorClient::requestCheckingOfString):
13064 * WebProcess/WebCoreSupport/WebEditorClient.h:
13066 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
13068 [Qt] Tiling: Improve the method names dealing with moving and scaling.
13070 Rubberstamped by Simon Hausmann.
13072 * UIProcess/API/qt/qquickwebview.cpp:
13073 (QQuickWebViewLegacyPrivate::updateViewportSize):
13074 (QQuickWebViewFlickablePrivate::onComponentComplete):
13075 (QQuickWebViewFlickablePrivate::updateViewportSize):
13076 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
13077 (QQuickWebViewPrivate::_q_commitPositionChange):
13078 (QQuickWebViewFlickablePrivate::_q_resume):
13079 * UIProcess/API/qt/qquickwebview_p.h:
13080 * UIProcess/API/qt/qquickwebview_p_p.h:
13081 (QQuickWebViewPrivate):
13082 (QQuickWebViewPrivate::_q_commitScaleChange):
13083 (QQuickWebViewFlickablePrivate):
13084 * UIProcess/DrawingAreaProxy.h:
13085 (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
13086 (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
13087 * UIProcess/DrawingAreaProxyImpl.cpp:
13088 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
13089 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
13090 * UIProcess/DrawingAreaProxyImpl.h:
13091 (DrawingAreaProxyImpl):
13092 * UIProcess/LayerTreeHostProxy.h:
13093 (LayerTreeHostProxy):
13094 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13095 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
13096 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
13097 * UIProcess/qt/QtViewportInteractionEngine.cpp:
13098 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
13099 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13100 (WebKit::QtViewportInteractionEngine::wheelEvent):
13101 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
13102 * UIProcess/qt/QtViewportInteractionEngine.h:
13103 (QtViewportInteractionEngine):
13104 * WebProcess/WebPage/LayerTreeHost.h:
13105 (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
13106 (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
13107 (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
13108 * WebProcess/WebPage/LayerTreeHost.messages.in:
13109 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13110 (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
13111 (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
13112 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13115 2012-02-24 Sergio Villar Senin <svillar@igalia.com>
13117 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
13118 https://bugs.webkit.org/show_bug.cgi?id=79466
13120 Reviewed by Philippe Normand.
13122 Explicitly cast the observer before deleting it instead of just
13123 deleting a generic pointer. We must to that in order to get the
13124 destructor of the object properly called.
13126 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13127 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13129 2012-02-23 Andy Estes <aestes@apple.com>
13131 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
13132 https://bugs.webkit.org/show_bug.cgi?id=79433
13134 Reviewed by Dan Bernstein.
13136 * Shared/WebPreferencesStore.h:
13138 * UIProcess/API/C/WKPreferences.cpp:
13139 (WKPreferencesSetSuppressesIncrementalRendering):
13140 (WKPreferencesGetSuppressesIncrementalRendering):
13141 * UIProcess/API/C/WKPreferences.h:
13142 * UIProcess/WebInspectorProxy.cpp:
13143 (WebKit::createInspectorPageGroup):
13144 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13145 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
13146 * WebProcess/WebPage/WebPage.cpp:
13147 (WebKit::WebPage::updatePreferences):
13149 2012-02-23 Mario Sanchez Prada <msanchez@igalia.com>
13151 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
13152 https://bugs.webkit.org/show_bug.cgi?id=79352
13154 Reviewed by Philippe Normand.
13156 Emit the signal 'resizable' instead of 'resizable-visible'.
13158 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
13159 (webkitWindowPropertiesSetResizable): Use right signal name.
13161 2012-02-23 Anders Carlsson <andersca@apple.com>
13163 Flush layer changes after layout when resizing web page
13164 https://bugs.webkit.org/show_bug.cgi?id=79399
13165 <rdar://problem/10920157>
13167 Reviewed by Andreas Kling.
13169 Flush layer changes after layout, otherwise the scrollbars won't be updated
13170 until sometime later which looks bad.
13172 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13173 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
13175 2012-02-23 Daniel Bates <dbates@webkit.org>
13177 Add missing "Reviewed by" line to change log entry for changeset r108631
13178 (https://bugs.webkit.org/show_bug.cgi?id=79252)
13180 The patch landed in changeset r108631 was reviewed by Martin Robinson.
13184 2012-02-23 Patrick Gansterer <paroga@webkit.org>
13186 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
13187 https://bugs.webkit.org/show_bug.cgi?id=79371
13189 Reviewed by Daniel Bates.
13193 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
13195 [Qt] Add support for touch cancellation
13196 https://bugs.webkit.org/show_bug.cgi?id=79348
13198 Reviewed by Kenneth Rohde Christiansen.
13200 Convert and forward incoming touch cancellation events
13201 to the web process.
13203 * Shared/qt/WebEventFactoryQt.cpp:
13204 (WebKit::webEventTypeForEvent):
13205 (WebKit::WebEventFactory::createWebTouchEvent):
13206 * UIProcess/API/qt/qquickwebview.cpp:
13207 (QQuickWebView::event):
13208 * UIProcess/qt/QtWebPageEventHandler.cpp:
13209 (QtWebPageEventHandler::handleEvent):
13211 2012-02-23 Brent Fulgham <bfulgham@webkit.org>
13213 [WinCairo] Build fix after r108428.
13215 * win/WebKit2CFLite.def: Add missing export declaration.
13217 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
13219 Unreviewed test fix after r108614: Adjust public API after changes.
13221 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
13223 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
13225 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
13226 https://bugs.webkit.org/show_bug.cgi?id=79335
13228 Reviewed by Kenneth Rohde Christiansen.
13230 In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
13231 will be removed. There's no need for us to use it, we can implement passing the hints
13232 to the input method right away in our re-implementation of inputMethodQuery, which works
13233 with old and newer Qt 5 builds.
13235 * UIProcess/API/qt/qquickwebview.cpp:
13236 (QQuickWebView::inputMethodQuery):
13237 * UIProcess/qt/QtWebPageEventHandler.cpp:
13238 (QtWebPageEventHandler::updateTextInputState):
13240 2012-02-23 Sergio Villar Senin <svillar@igalia.com>
13242 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
13243 https://bugs.webkit.org/show_bug.cgi?id=79252
13245 Reviewed by Martin Robinson.
13247 Do not execute clipboard callbacks after the Frame associated with
13250 This change is already covered by the TestWebViewEditor unit tests
13251 (among others), they hang (because WebProcess dies) without this
13252 patch in Debug builds.
13254 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13255 (EditorClientFrameDestructionObserver):
13256 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
13257 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
13258 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13260 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
13262 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
13264 [Qt] Page doesn't get repainted while panning is in progress
13265 https://bugs.webkit.org/show_bug.cgi?id=78602
13267 Reviewed by Simon Hausmann.
13269 The tiling code needed the current visibleContentsRect in order to be
13270 able to create tiles, so we now make sure it gets it. We also needed
13271 to make sure to set the trajectory vector while panning and while the
13272 flicking engine was animating kinetic scrolling.
13274 * UIProcess/API/qt/qquickwebview.cpp:
13275 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
13276 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
13277 * UIProcess/DrawingAreaProxy.h:
13278 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
13279 * UIProcess/DrawingAreaProxyImpl.cpp:
13280 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
13281 * UIProcess/DrawingAreaProxyImpl.h:
13282 (DrawingAreaProxyImpl):
13283 * UIProcess/LayerTreeHostProxy.h:
13284 (LayerTreeHostProxy):
13285 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13286 (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
13287 * UIProcess/qt/QtViewportInteractionEngine.cpp:
13288 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
13289 (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
13291 (WebKit::QtViewportInteractionEngine::panMoveStarted):
13292 (WebKit::QtViewportInteractionEngine::panMoveEnded):
13293 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13294 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
13295 * UIProcess/qt/QtViewportInteractionEngine.h:
13296 (QtViewportInteractionEngine):
13297 * WebProcess/WebPage/LayerTreeHost.h:
13298 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
13299 * WebProcess/WebPage/LayerTreeHost.messages.in:
13300 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13301 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
13302 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
13303 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13306 2012-02-23 Patrick Gansterer <paroga@webkit.org>
13308 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
13309 https://bugs.webkit.org/show_bug.cgi?id=76122
13311 Reviewed by Eric Seidel.
13313 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
13315 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
13317 [WK2] Trivial build fix after r108615.
13319 * WebProcess/WebPage/WebPage.cpp:
13320 (WebKit::WebPage::WebPage):
13322 2012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com>
13324 [Qt][WK2] navigationType is missing in new API
13325 https://bugs.webkit.org/show_bug.cgi?id=78867
13327 Reviewed by Simon Hausmann.
13329 In QtWebPagePolicyClient::decidePolicyForNavigationAction()
13330 navigationType argument is dropped by mistake. Adding it back
13331 and make it available through NavigationRequest.
13333 * UIProcess/API/qt/qquickwebview_p.h:
13334 * UIProcess/API/qt/qwebnavigationrequest.cpp:
13335 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
13336 (QWebNavigationRequestPrivate):
13337 (QWebNavigationRequest::QWebNavigationRequest):
13338 (QWebNavigationRequest::navigationType):
13339 * UIProcess/API/qt/qwebnavigationrequest_p.h:
13340 * UIProcess/qt/QtWebPagePolicyClient.cpp:
13341 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
13342 (toQuickWebViewNavigationType):
13343 * UIProcess/qt/QtWebPagePolicyClient.h:
13344 (QtWebPagePolicyClient):
13346 2012-02-22 Anders Carlsson <andersca@apple.com>
13348 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
13349 https://bugs.webkit.org/show_bug.cgi?id=79297
13350 <rdar://problem/10748510>
13352 Reviewed by Beth Dakin.
13354 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
13355 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
13356 Send a message to the web process.
13358 * WebProcess/WebPage/DrawingArea.h:
13359 (WebKit::DrawingArea::setDeviceScaleFactor):
13362 * WebProcess/WebPage/DrawingArea.messages.in:
13363 Add SetDeviceScaleFactor message.
13365 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13366 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
13367 Call WebPage::setDeviceScaleFactor.
13369 2012-02-22 Brady Eidson <beidson@apple.com>
13371 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
13372 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
13374 Reviewed by Anders Carlsson.
13376 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
13378 In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
13379 notification but don't actually want to make a policy decision.
13381 Making it an asynchronous notification instead of a synchronous policy call will remove the
13382 possibility of a hang here.
13384 If clients later decide it is important to have a policy here we should implement a form of
13385 shouldGoToBackForwardListItem in the bundle loader client.
13387 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
13388 * UIProcess/API/C/WKPage.h:
13390 * UIProcess/WebPageProxy.cpp:
13391 (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
13392 sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
13393 (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
13394 (WebKit::WebPageProxy::willGoToBackForwardListItem):
13395 * UIProcess/WebPageProxy.h:
13396 * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
13398 Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form
13399 of the callback should be used:
13400 * WebProcess/WebPage/WebPage.cpp:
13401 (WebKit::WebPage::WebPage):
13402 * WebProcess/WebPage/WebPage.h:
13403 (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
13404 (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
13405 * WebProcess/WebPage/WebPage.messages.in:
13407 * UIProcess/WebLoaderClient.cpp:
13408 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
13410 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
13411 * UIProcess/WebLoaderClient.h:
13414 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13415 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
13416 or the asynchronous "will" message depending on which the WebProcess was last told that the
13417 UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
13418 hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
13419 It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
13420 of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
13422 2012-02-16 Jon Lee <jonlee@apple.com>
13424 [WK2] Clearing notifications does not clean up internal state
13425 https://bugs.webkit.org/show_bug.cgi?id=78861
13426 <rdar://problem/10881167>
13428 Reviewed by Anders Carlsson.
13430 * WebProcess/Notifications/WebNotificationManager.cpp:
13431 (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
13432 entries from the other maps.
13433 (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
13434 also be removed from the context map.
13435 (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
13436 a provided notification from the context map.
13437 (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
13438 remove it. If the map is empty, get rid of the entry.
13439 * WebProcess/Notifications/WebNotificationManager.h:
13440 (WebNotificationManager):
13442 2012-02-22 Jon Lee <jonlee@apple.com>
13444 Code cleanup in WebNotificationManager (79285)
13445 https://bugs.webkit.org/show_bug.cgi?id=79285
13446 <rdar://problem/10914522>
13448 Reviewed by Anders Carlsson.
13450 * WebProcess/Notifications/WebNotificationManager.cpp:
13451 (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
13452 similar to what is found in WebNotificationClient.mm in WebKit 1.
13454 2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
13456 Remove the remaining uses of CSSStyleDeclaration in Editor
13457 https://bugs.webkit.org/show_bug.cgi?id=78939
13459 Reviewed by Enrica Casucci.
13461 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13462 (WebKit::WebEditorClient::shouldApplyStyle):
13463 * WebProcess/WebCoreSupport/WebEditorClient.h:
13466 2012-02-22 Martin Robinson <mrobinson@igalia.com>
13468 [GTK] Clean build is broken when using make -j
13469 https://bugs.webkit.org/show_bug.cgi?id=76388
13471 * GNUmakefile.am: Add some WebKit2 sources to global sources lists
13472 so that we can refer to them in separate GNUmakefiles.
13474 2012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com>
13476 [GTK][WK2] Add WebGL WebSetting.
13477 https://bugs.webkit.org/show_bug.cgi?id=79217
13479 Reviewed by Martin Robinson.
13481 Add a WebSetting to enable/disable Webgl.
13483 * UIProcess/API/gtk/WebKitSettings.cpp:
13484 (webKitSettingsSetProperty):
13485 (webKitSettingsGetProperty):
13486 (webkit_settings_class_init):
13487 (webkit_settings_set_enable_webaudio):
13488 (webkit_settings_get_enable_webgl):
13489 (webkit_settings_set_enable_webgl):
13490 * UIProcess/API/gtk/WebKitSettings.h:
13491 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
13492 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
13493 (testWebKitSettings):
13495 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
13497 [Qt] Disregard previous backing store as soon as possible
13498 https://bugs.webkit.org/show_bug.cgi?id=79232
13500 Reviewed by Simon Hausmann and No'am Rosenthal.
13502 Between creating the new backing store and painting the content,
13503 we do not want to drop the previous one as that might result in
13504 briefly seeing flickering as the old tiles may be dropped before
13505 something replaces them.
13507 But we do need to drop it at some point and we need to make sure
13508 to not spike the memory usage before of this.
13510 What we now do, is to store the previous backing store as before,
13511 but drop all tiles which are not visible and then drop it as soon
13512 as the visible rect (which might change due if followed by a quick
13513 panning) has been fully covered by tiles.
13515 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13516 (WebCore::WebGraphicsLayer::setContentsScale):
13517 (WebCore::WebGraphicsLayer::updateContentBuffers):
13519 2012-02-22 Michael Brüning <michael.bruning@nokia.com>
13521 [Qt][WK2] Implement proxy authentication handling.
13522 https://bugs.webkit.org/show_bug.cgi?id=78792
13524 Reviewed by Simon Hausmann.
13526 This patch corrects two bugs with the previous implementation:
13527 1. The signal proxyAuthenticationRequired was not connected to a
13529 2. The slot onProxyAuthenticationRequired had the wrong parameters.
13531 * WebProcess/qt/QtNetworkAccessManager.cpp:
13532 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
13533 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13534 * WebProcess/qt/QtNetworkAccessManager.h: Added include.
13535 (QtNetworkAccessManager):
13537 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
13539 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
13540 the more descriptive coverWithTilesIfNeeded
13541 https://bugs.webkit.org/show_bug.cgi?id=79230
13543 Reviewed by Simon Hausmann.
13545 Replace use by coverWithTilesIfNeeded().
13547 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13548 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
13549 (WebCore::WebGraphicsLayer::adjustVisibleRect):
13550 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
13552 2012-02-22 Zalan Bujtas <zbujtas@gmail.com>
13554 [Qt][WK2] Add frame flattening setting to QWebPreferences.
13555 https://bugs.webkit.org/show_bug.cgi?id=79099
13557 Reviewed by Simon Hausmann.
13559 Frame flattening is enabled by default for Qt WebKit2.
13561 * UIProcess/API/qt/qquickwebview.cpp:
13562 (QQuickWebViewPrivate::initialize):
13563 * UIProcess/API/qt/qwebpreferences.cpp:
13564 (QWebPreferencesPrivate::testAttribute):
13565 (QWebPreferencesPrivate::setAttribute):
13566 (QWebPreferences::setNavigatorQtObjectEnabled):
13567 (QWebPreferences::frameFlatteningEnabled):
13568 (QWebPreferences::setFrameFlatteningEnabled):
13569 * UIProcess/API/qt/qwebpreferences_p.h:
13571 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
13573 Remove the remaining uses of CSSStyleDeclaration in Editor
13574 https://bugs.webkit.org/show_bug.cgi?id=78939
13576 Reviewed by Enrica Casucci.
13578 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13579 (WebKit::WebEditorClient::shouldApplyStyle):
13580 * WebProcess/WebCoreSupport/WebEditorClient.h:
13583 2012-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
13585 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
13586 https://bugs.webkit.org/show_bug.cgi?id=79120
13588 Reviewed by Martin Robinson.
13590 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13591 (CoreIPC::::encode): Encode a boolean to indicate whether it's a
13593 (CoreIPC::::decode): Check whether the error is Null and do not
13594 continue decoding in such case.
13596 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
13598 [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
13599 https://bugs.webkit.org/show_bug.cgi?id=78962
13601 Only avoid painting old-scale tiles in semi-transparent situtations if the old
13602 tiles intersect with existing tiles.
13604 Reviewed by Kenneth Rohde Christiansen.
13606 * UIProcess/qt/LayerBackingStore.cpp:
13607 (WebKit::LayerBackingStore::paintToTextureMapper):
13609 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
13611 [Qt] Previous web page appears outside content rect
13612 https://bugs.webkit.org/show_bug.cgi?id=78816
13614 Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
13616 Reviewed by Kenneth Rohde Christiansen.
13618 * UIProcess/qt/LayerBackingStore.cpp:
13619 (WebKit::LayerBackingStore::paintToTextureMapper):
13621 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
13623 [Qt][WK2] Accelerated animations don't work on Mac
13624 https://bugs.webkit.org/show_bug.cgi?id=78963
13626 Problem came from using a non-RunLoop timer.
13627 Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
13628 Use a continuous timer that we only stop when animations stop.
13630 Reviewed by Kenneth Rohde Christiansen.
13632 * UIProcess/LayerTreeHostProxy.h:
13633 (LayerTreeHostProxy):
13634 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13635 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
13636 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
13638 (WebKit::LayerTreeHostProxy::syncAnimations):
13640 2012-02-21 Sam Weinig <sam@webkit.org>
13642 Attempt to fix the Snow Leopard build.
13644 * Configurations/Base.xcconfig:
13646 2012-02-21 Sam Weinig <sam@webkit.org>
13648 Use libc++ when building with Clang on Mac
13649 https://bugs.webkit.org/show_bug.cgi?id=78981
13651 Reviewed by Dan Bernstein.
13653 * Configurations/Base.xcconfig:
13655 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
13657 [Qt][WK2] Get rid of the dependency to QtWidgets
13658 https://bugs.webkit.org/show_bug.cgi?id=76276
13660 Reviewed by Simon Hausmann.
13663 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
13665 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
13666 * UIProcess/API/qt/tests/tests.pri:
13667 * UIProcess/API/qt/tests/util.h:
13669 2012-02-20 Martin Robinson <mrobinson@igalia.com>
13671 [UNIX] Plugin information fields are not interpreted as UTF-8
13672 https://bugs.webkit.org/show_bug.cgi?id=78635
13674 Reviewed by Gustavo Noronha Silva.
13676 Interpret plugin metadata as UTF8 aways. This matches the behavior
13677 of Chromium and the Totem plugin.
13679 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
13680 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
13682 2012-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
13684 [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
13685 https://bugs.webkit.org/show_bug.cgi?id=79036
13687 Reviewed by Martin Robinson.
13689 This looks like a bug in gobject. Initializing the WebProcess
13690 before creating the soup session seems to fix the problem. It's
13691 actually a workaround, but initializing the WebProcess as sson as
13692 possible it's a good idea in any case.
13694 * WebProcess/gtk/WebProcessMainGtk.cpp:
13695 (WebKit::WebProcessMainGtk):
13697 2012-02-20 Michael Brüning <michael.bruning@nokia.com>
13699 [Qt][WK2] Implement proxy authentication handling.
13700 https://bugs.webkit.org/show_bug.cgi?id=78792
13702 Reviewed by Simon Hausmann.
13704 This patch implements the proxy authentication handling
13705 for the Qt port in a similar matter to the http authentication
13708 Since there is a need to pass the proxy port, which is of type uint16_t,
13709 from the WebProcess to the UIProcess, an encoder and a decoder for
13710 this type was added because it did not exist.
13712 The message that was added to the WebPageProxy is called synchronously
13713 as this is needed by the implementation of the network access manager
13714 and has also been implemented this way already for the http
13717 * Platform/CoreIPC/ArgumentDecoder.cpp:
13718 (CoreIPC::ArgumentDecoder::decodeUInt16):
13720 * Platform/CoreIPC/ArgumentDecoder.h:
13722 (CoreIPC::ArgumentDecoder::decode):
13724 * Platform/CoreIPC/ArgumentEncoder.cpp:
13725 (CoreIPC::ArgumentEncoder::encodeUInt16):
13727 * Platform/CoreIPC/ArgumentEncoder.h:
13729 (CoreIPC::ArgumentEncoder::encode):
13731 * UIProcess/API/qt/qquickwebview.cpp:
13732 (QQuickWebViewPrivate::QQuickWebViewPrivate):
13733 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
13734 (QQuickWebViewExperimental::proxyAuthenticationDialog):
13735 (QQuickWebViewExperimental::setProxyAuthenticationDialog):
13736 * UIProcess/API/qt/qquickwebview_p.h:
13737 * UIProcess/API/qt/qquickwebview_p_p.h:
13738 (QQuickWebViewPrivate):
13739 * UIProcess/PageClient.h:
13741 * UIProcess/WebPageProxy.cpp:
13742 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
13744 * UIProcess/WebPageProxy.h:
13746 * UIProcess/WebPageProxy.messages.in:
13747 * UIProcess/qt/QtDialogRunner.cpp:
13748 (ProxyAuthenticationDialogContextObject):
13749 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
13750 (ProxyAuthenticationDialogContextObject::hostname):
13751 (ProxyAuthenticationDialogContextObject::port):
13752 (ProxyAuthenticationDialogContextObject::prefilledUsername):
13753 (ProxyAuthenticationDialogContextObject::accept):
13754 (ProxyAuthenticationDialogContextObject::reject):
13755 (QtDialogRunner::initForProxyAuthentication):
13756 * UIProcess/qt/QtDialogRunner.h:
13758 * UIProcess/qt/QtPageClient.cpp:
13759 (QtPageClient::handleProxyAuthenticationRequiredRequest):
13760 * UIProcess/qt/QtPageClient.h:
13762 * WebProcess/WebPage/DecoderAdapter.cpp:
13763 (WebKit::DecoderAdapter::decodeUInt16):
13765 * WebProcess/WebPage/DecoderAdapter.h:
13767 * WebProcess/WebPage/EncoderAdapter.cpp:
13768 (WebKit::EncoderAdapter::encodeUInt16):
13770 * WebProcess/WebPage/EncoderAdapter.h:
13772 * WebProcess/qt/QtNetworkAccessManager.cpp:
13773 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13775 * WebProcess/qt/QtNetworkAccessManager.h:
13776 (QtNetworkAccessManager):
13778 2012-02-20 Patrick Gansterer <paroga@webkit.org>
13780 [CMake] Update and sort list of source files.
13784 2012-02-20 Martin Robinson <mrobinson@igalia.com>
13786 Fix WebKit2GTK+ for 'make distcheck'.
13788 Instead of conditionally including WebKit2 GNUmakefiles, always
13789 include them and conditionally activate the final targets.
13792 * UIProcess/API/gtk/tests/GNUmakefile.am:
13794 2012-02-20 Martin Robinson <mrobinson@igalia.com>
13796 [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
13797 https://bugs.webkit.org/show_bug.cgi?id=79011
13799 Fix the build when gtk-unix-printing-3.0 is not present.
13801 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13802 (webkitPrintOperationRunDialog):
13803 (webkitPrintOperationRunDialogForFrame):
13804 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13805 (WebKit::WebPrintOperationGtk::create):
13807 2012-02-18 Dan Bernstein <mitz@apple.com>
13809 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
13810 https://bugs.webkit.org/show_bug.cgi?id=78976
13812 Reviewed by Anders Carlsson.
13814 Rather than move pixels in the backing store in response to scrolling, we can maintain a
13815 mapping, for the most recently scrolled rect, from backing store coordinates to view
13816 client coordinates.
13818 * UIProcess/BackingStore.h:
13819 * UIProcess/mac/BackingStoreMac.mm:
13820 (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
13821 performed on a rect, divides the rect into parts such that for each part the mapping from
13822 backing store coordinates to client coordinates is a (uniform) translation, and performs
13823 the block on that part, passing it the translation that applies to the part.
13824 (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
13825 back to where it should be under the identity map, and resets the scrolled rect and offset.
13826 (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
13827 (WebKit::BackingStore::incorporateUpdate): Ditto.
13828 (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
13831 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
13833 [Qt][WK2] Allow opaque tiles
13834 https://bugs.webkit.org/show_bug.cgi?id=78809
13836 Apply the SupportsAlpha flag only when the buffers actually have alpha.
13838 Reviewed by Kenneth Rohde Christiansen.
13840 * Shared/ShareableBitmap.h:
13842 * Shared/qt/ShareableBitmapQt.cpp:
13843 * UIProcess/qt/LayerBackingStore.cpp:
13844 (WebKit::LayerBackingStoreTile::swapBuffers):
13846 2012-02-17 Adam Roben <aroben@apple.com>
13848 Clang build fix after r108119
13850 * WebProcess/WebProcess.cpp:
13851 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
13853 2012-02-17 Kalev Lember <kalevlember@gmail.com>
13855 Remove unused parameters from WTF threading API
13856 https://bugs.webkit.org/show_bug.cgi?id=78389
13858 Reviewed by Adam Roben.
13860 waitForThreadCompletion() had an out param 'void **result' to get the
13861 'void *' returned by ThreadFunction. However, the implementation in
13862 ThreadingWin.cpp ignored the out param, not filling it in. This had
13863 led to a situation where none of the client code made use of the param
13864 and just ignored it.
13866 To clean this up, the patch changes the signature of ThreadFunction to
13867 return void instead of void* and drops the the unused 'void **result'
13868 parameter from waitForThreadCompletion. Also, all client code is
13869 updated for the API change.
13871 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
13872 though the change only affects internal API, Safari is using it
13873 directly and we'll need to keep the old versions around for ABI
13874 compatibility. For this, the patch adds compatibility wrappers with
13877 * Platform/WorkQueue.h:
13879 * Platform/gtk/WorkQueueGtk.cpp:
13880 (WorkQueue::startWorkQueueThread):
13881 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
13882 (WebKit::webThreadBody):
13883 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
13884 (WebKit::webThreadBody):
13885 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
13886 (WebKit::webThreadBody):
13887 * WebProcess/WebProcess.cpp:
13888 (WebKit::randomCrashThread):
13890 * win/WebKit2CFLite.def:
13892 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
13894 CSS regions enabled by default
13895 https://bugs.webkit.org/show_bug.cgi?id=78525
13897 Reviewed by David Hyatt.
13899 Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
13900 CSSRegions are still enabled by default.
13901 In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
13903 * Shared/WebPreferencesStore.h:
13905 * UIProcess/API/C/WKPreferences.cpp:
13906 (WKPreferencesSetCSSRegionsEnabled):
13907 (WKPreferencesGetCSSRegionsEnabled):
13908 * UIProcess/API/C/WKPreferencesPrivate.h:
13909 * WebProcess/InjectedBundle/InjectedBundle.cpp:
13910 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
13911 * WebProcess/WebPage/WebPage.cpp:
13912 (WebKit::WebPage::updatePreferences):
13914 2012-02-17 Enrica Casucci <enrica@apple.com>
13916 Refactor DragData class to use PlatformStrategies in the Mac implementation.
13917 https://bugs.webkit.org/show_bug.cgi?id=78768
13919 Reviewed by Darin Adler.
13921 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
13922 (WebKit::WebPlatformStrategies::color):
13923 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
13925 2012-02-17 Martin Robinson <mrobinson@igalia.com>
13927 Fix some warnings encountered during the GTK+ build
13928 https://bugs.webkit.org/show_bug.cgi?id=78911
13930 Reviewed by Xan Lopez.
13932 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
13933 (attachLoaderClientToView): Initialize a new member of the loader client struct.
13935 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
13937 [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
13938 https://bugs.webkit.org/show_bug.cgi?id=78823
13940 Reviewed by Gustavo Noronha Silva.
13942 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13943 (webkitPrintOperationRunDialogUnix): Enable scale option in print
13945 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13946 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13948 (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
13949 moved the needs rotate check here as an early return.
13950 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
13951 page according to the manual scale factor.
13952 (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
13953 prepareContextToDraw.
13954 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13956 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
13958 [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
13959 https://bugs.webkit.org/show_bug.cgi?id=78805
13961 Reviewed by Gustavo Noronha Silva.
13963 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13964 (webkitPrintOperationRunDialogUnix): Enable multiple copies and
13965 collate options in print dialog.
13966 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13967 (WebKit::PrintPagesData::PrintPagesData): Initialize number of
13968 collated and uncolated copies done and total.
13969 (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
13970 returns the number of collated copies left to do.
13971 (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
13972 that returns the number of uncollated copies left to do.
13973 (WebKit::PrintPagesData::copiesLeft): Helper function
13974 that returns the number of collated or uncollated copies left to
13976 (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
13977 print if there are uncollated copies left, and do not increment
13978 sheet number if there are collated copies left.
13979 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13980 m_manualCopies to 1 and m_manualCollateCopies to false.
13981 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13983 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
13985 [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
13986 https://bugs.webkit.org/show_bug.cgi?id=78799
13988 Reviewed by Gustavo Noronha Silva.
13990 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13991 (webkitPrintOperationRunDialogUnix): Enable printing in reverse
13992 order option in print dialog.
13993 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13994 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
13995 and lastPagePosition depending on whether printing is in reverse
13997 (WebKit::PrintPagesData::incrementPageSequence): Use a negative
13998 increment step when printing in reverse order. Fix page
13999 incrementing when printing only odd/even pages broken in previous
14000 commit due to merge conflicts.
14001 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14002 reverse printing to false.
14003 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14005 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
14007 [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
14008 https://bugs.webkit.org/show_bug.cgi?id=78793
14010 Reviewed by Gustavo Noronha Silva.
14012 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14013 (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
14014 option in print dialog.
14015 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14016 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14017 (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
14018 initialize it depending on the page set.
14019 (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
14020 increment when printing only odd/even pages.
14021 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14022 m_manualPageSet to GTK_PAGE_SET_ALL.
14024 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
14026 [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
14027 https://bugs.webkit.org/show_bug.cgi?id=78715
14029 Reviewed by Gustavo Noronha Silva.
14031 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14032 (webkitPrintOperationRunDialogUnix): Enable multiple pages per
14033 sheet options in print dialog.
14034 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14035 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
14036 and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
14037 (WebKit::PrintPagesData::incrementPageSequence): Increment current
14038 sheet and page position.
14039 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
14040 (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
14041 Helper function to check whether current pages is the first one of
14043 (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
14044 Helper function to check whether current pages is the last one of
14046 (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
14047 Returns the number of rows and columns of pages per sheet.
14048 (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
14049 the row and column number of the current page in the current sheet.
14050 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
14051 scale and rotate accordingly to render every page in the right
14052 place of the sheet.
14053 (WebKit::WebPrintOperationGtk::renderPage): Call
14054 prepareContextToDraw() before drawing the page.
14055 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14056 (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
14057 (WebKit::WebPrintOperationGtk::pagePosition):
14058 (WebKit::WebPrintOperationGtk::setPagePosition):
14059 (WebKit::WebPrintOperationGtk::numberUp):
14060 (WebKit::WebPrintOperationGtk::numberUpLayout):
14062 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
14064 [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
14065 https://bugs.webkit.org/show_bug.cgi?id=78893
14067 Reviewed by Gustavo Noronha Silva.
14069 And it's not emitted anynmore when the print dialog has been
14070 cancelled. Since it's not possible to know whether the print
14071 dialog was cancelled or not, the enum WebKitPrintOperationResponse
14072 has been added, with Print and Cancel values, and it's used as
14073 return value of webkit_print_operation_run_dialog().
14075 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14076 (webkit_print_operation_class_init): Rename done as finished.
14077 (webkitPrintOperationRunDialogUnix): Return a
14078 WebKitPrintOperationResponse instead of bool.
14079 (webkitPrintOperationRunDialogWin32): Ditto.
14080 (drawPagesForPrintingCompleted): Emit finished instead of done.
14081 (webkitPrintOperationRunDialogForFrame): Do not emit finished if
14082 the dialog was cancelled and return a WebKitPrintOperationResponse.
14083 (webkit_print_operation_run_dialog): Return
14084 WebKitPrintOperationResponse.
14085 * UIProcess/API/gtk/WebKitPrintOperation.h: Add
14086 WebKitPrintOperationResponse enum.
14087 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
14088 * UIProcess/API/gtk/WebKitWebView.cpp:
14089 (webkitWebViewPrintFrame): Check whether the dialog has been
14090 cancelled or not and connect to finish when the print operation is
14091 in progress to release the print operation object when printing
14093 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
14094 WebKitPrintOperationResponse symbol.
14095 * UIProcess/API/gtk/tests/TestPrinting.cpp:
14096 (testPrintOperationPrintFinished): Use finished instead of done.
14097 (testPrintOperationPrint): Ditto.
14099 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
14101 [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
14102 https://bugs.webkit.org/show_bug.cgi?id=76536
14104 Reviewed by Gustavo Noronha Silva.
14106 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14107 (webkitPrintOperationPrintPagesForFrame): Helper function to call
14108 WebPageProxy::drawPagesForPrinting using the given
14109 GtkPrintSettings and GtkPageSetup.
14110 (webkitPrintOperationRunDialogForFrame): Use
14111 webkitPrintOperationPrintPagesForFrame().
14112 (webkit_print_operation_print): Print directly using current
14113 GtkPrintSettings and GtkPageSetup without showing the print
14115 * UIProcess/API/gtk/WebKitPrintOperation.h:
14116 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14117 * UIProcess/API/gtk/tests/GNUmakefile.am:
14118 * UIProcess/API/gtk/tests/TestPrinting.cpp:
14119 (testPrintOperationPrintLoadChanged):
14120 (testPrintOperationPrintDone):
14121 (testPrintOperationPrintPrinter):
14122 (testPrintOperationPrint):
14126 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
14128 [Qt][WK2] Allow partial updates
14129 https://bugs.webkit.org/show_bug.cgi?id=78824
14131 Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
14132 contains only the dirty rectangle of the current paint. This requires a lot less memory
14133 for small updates, for example when typing a text in an input field.
14134 This shows a significant reduction in overhead when testing on Mac with Instruments.
14136 Reviewed by Simon Hausmann.
14138 * UIProcess/qt/LayerBackingStore.cpp:
14139 (WebKit::LayerBackingStoreTile::swapBuffers):
14140 (WebKit::LayerBackingStoreTile::setBackBuffer):
14142 (WebKit::LayerBackingStore::updateTile):
14143 * UIProcess/qt/LayerBackingStore.h:
14144 (LayerBackingStoreTile):
14145 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14146 (WebKit::LayerTreeHostProxy::updateTileForLayer):
14147 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14148 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14150 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
14152 [GTK] Make sure print operation object is alive until printing finishes in WebKit2
14153 https://bugs.webkit.org/show_bug.cgi?id=78829
14155 Reviewed by Martin Robinson.
14157 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14158 (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
14159 reference so that it's released when the callback finishes.
14160 (webkitPrintOperationRunDialogForFrame): Pass a reference of
14161 WebKitPrintOperation to the printing callback.
14163 2012-02-15 Geoffrey Garen <ggaren@apple.com>
14165 Made Weak<T> single-owner, adding PassWeak<T>
14166 https://bugs.webkit.org/show_bug.cgi?id=78740
14168 Reviewed by Sam Weinig.
14170 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
14171 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
14172 PassWeak<T>, as required by our new hash map API.
14174 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
14176 [soup] Move important SoupSession feature initialization to WebCore
14177 https://bugs.webkit.org/show_bug.cgi?id=68602
14179 Reviewed by Martin Robinson.
14181 Moved content sniffer and decoder initialization from the
14182 WebProcess to WebCore because network stuff will not work as
14183 expected without them.
14185 No new tests required as we're just moving stuff from the
14186 WebProcess to WebCore.
14188 * WebProcess/gtk/WebProcessMainGtk.cpp:
14189 (WebKit::WebProcessMainGtk):
14191 2012-02-16 Philippe Normand <pnormand@igalia.com>
14193 Unreviewed, rolling out r107941.
14194 http://trac.webkit.org/changeset/107941
14195 https://bugs.webkit.org/show_bug.cgi?id=68602
14197 Broke 23 http tests on GTK
14199 * WebProcess/gtk/WebProcessMainGtk.cpp:
14200 (WebKit::WebProcessMainGtk):
14202 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
14204 [Texmap] Improve the way we deal with BGRA extension
14205 https://bugs.webkit.org/show_bug.cgi?id=78822
14207 Get rid of swizzling in the web process. Instead, we moved swizzling back to
14208 TextureMapperGL, as we're moving towards a setup where textures are uploaded
14209 in the web process.
14211 Reviewed by Kenneth Rohde Christiansen.
14213 * UIProcess/qt/LayerBackingStore.cpp:
14214 (WebKit::LayerBackingStoreTile::swapBuffers):
14215 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14216 (WebKit::LayerTreeHostProxy::createImage):
14217 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14218 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14219 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
14220 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
14222 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
14224 Unreviewed. Fix WebKit2 GTK+ build after r107947.
14226 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14227 (webkitPrintOperationRunDialogForFrame):
14229 2012-02-16 Alexander Færøy <ahf@0x90.dk>
14231 [Qt] Fix linking in debug builds on Mac OS X
14232 https://bugs.webkit.org/show_bug.cgi?id=78811
14234 Reviewed by Kenneth Rohde Christiansen.
14236 * UIProcess/API/qt/tests/bytearraytestdata.h:
14238 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
14240 [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
14241 https://bugs.webkit.org/show_bug.cgi?id=78712
14243 Reviewed by Martin Robinson.
14245 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14246 (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
14247 Simplify the code to select the printer.
14248 (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
14249 before rendering the page and cairo_restore() when page has been
14252 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
14254 [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
14255 https://bugs.webkit.org/show_bug.cgi?id=76448
14257 Reviewed by Martin Robinson.
14259 * GNUmakefile.am: Add new files to compilation.
14260 * UIProcess/API/gtk/WebKitDefines.h:
14261 * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
14262 (webViewDestroyed): Delete the print operation when the view
14263 widget associated is destroyed.
14264 (webkitPrintOperationConstructed): Connect to destroy signal of
14265 associated web view.
14266 (webkitPrintOperationGetProperty):
14267 (webkitPrintOperationSetProperty):
14268 (webkit_print_operation_init):
14269 (webkit_print_operation_class_init):
14270 (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
14271 show the printing dialog in UNIX platforms.
14272 (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
14273 (drawPagesForPrintingCompleted): Callback called when printing
14274 operation has finished in the web process.
14275 (webkitPrintOperationRunDialogForFrame): Run the printing dialog
14276 and start printing the given frame.
14277 (webkit_print_operation_new): Create a new print operation for the
14279 (webkit_print_operation_get_print_settings):
14280 (webkit_print_operation_set_print_settings):
14281 (webkit_print_operation_get_page_setup):
14282 (webkit_print_operation_set_page_setup):
14283 (webkit_print_operation_run_dialog): Run the print dialog to print
14284 the web view main frame.
14285 * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
14286 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
14287 * UIProcess/API/gtk/WebKitUIClient.cpp:
14288 (printFrame): Call webkitWebViewPrintFrame.
14289 (attachUIClientToView): Add implementation for
14290 printFrame callback.
14291 * UIProcess/API/gtk/WebKitWebView.cpp:
14292 (webkit_web_view_class_init): Add WebKitWebView::print-requested
14294 (webkitWebViewPrintFrame): Emit print-requested and show the print
14295 dialog to print the frame when not signal is not handled by user.
14296 * UIProcess/API/gtk/WebKitWebView.h:
14297 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14298 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14299 WebKitPrintOperation.
14300 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14301 * UIProcess/API/gtk/tests/GNUmakefile.am:
14302 * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
14303 (testPrintOperationPrintSettings):
14304 (webViewPrintRequestedCallback):
14305 (testWebViewPrintRequested):
14308 * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
14310 2012-02-16 Simon Hausmann <simon.hausmann@nokia.com>
14312 [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
14313 https://bugs.webkit.org/show_bug.cgi?id=78800
14315 Reviewed by Kenneth Rohde Christiansen.
14317 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
14318 location - no more cairo prefix needed.
14320 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
14322 [Qt][WK2] Allow opaque tiles
14323 https://bugs.webkit.org/show_bug.cgi?id=78809
14325 Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
14326 Use the flag for ShareableBitmaps created by TiledBackingStore.
14328 For now this will not have impact on performance/memory, because we allocate the same type
14329 of buffers for opaque and transparent tiles.
14331 Reviewed by Kenneth Rohde Christiansen.
14333 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14334 (WebCore::WebGraphicsLayer::setContentsOpaque):
14335 (WebCore::WebGraphicsLayer::setContentsScale):
14336 (WebCore::WebGraphicsLayer::createBackingStore):
14338 (WebCore::WebGraphicsLayer::updateContentBuffers):
14339 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
14340 (WebGraphicsLayer):
14341 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14342 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14344 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
14346 [soup] Move important SoupSession feature initialization to WebCore
14347 https://bugs.webkit.org/show_bug.cgi?id=68602
14349 Reviewed by Martin Robinson.
14351 Moved content sniffer and decoder initialization from the
14352 WebProcess to WebCore because network stuff will not work as
14353 expected without them.
14355 No new tests required as we're just moving stuff from the
14356 WebProcess to WebCore.
14358 * WebProcess/gtk/WebProcessMainGtk.cpp:
14359 (WebKit::WebProcessMainGtk):
14361 2012-02-16 Adenilson Cavalcanti <cavalcantii@gmail.com>
14363 [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
14364 https://bugs.webkit.org/show_bug.cgi?id=73215
14366 Reviewed by Kenneth Rohde Christiansen.
14368 Introducing a new class to expose security origin information
14369 (port/scheme/etc), useful for inspecting the origin of permission
14373 * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
14374 (QtWebSecurityOrigin::QtWebSecurityOrigin):
14375 (QtWebSecurityOrigin::~QtWebSecurityOrigin):
14376 (QtWebSecurityOrigin::host):
14377 (QtWebSecurityOrigin::scheme):
14378 (QtWebSecurityOrigin::path):
14379 (QtWebSecurityOrigin::port):
14380 (QtWebSecurityOrigin::setHost):
14381 (QtWebSecurityOrigin::setScheme):
14382 (QtWebSecurityOrigin::setPath):
14383 (QtWebSecurityOrigin::setPort):
14384 * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
14385 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
14386 * UIProcess/API/qt/qwebpermissionrequest.cpp:
14387 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
14388 (QWebPermissionRequest::securityOrigin):
14389 * UIProcess/API/qt/qwebpermissionrequest_p.h:
14390 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
14392 2012-02-16 Patrick Gansterer <paroga@webkit.org>
14394 [CMake] Add missing include directories.
14398 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
14400 [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
14401 https://bugs.webkit.org/show_bug.cgi?id=78719
14403 Reviewed by Martin Robinson.
14405 * UIProcess/API/gtk/WebKitWebView.cpp:
14407 2012-02-15 Anders Carlsson <andersca@apple.com>
14409 Add TiledCoreAnimationDrawingArea::forceRepaint
14410 https://bugs.webkit.org/show_bug.cgi?id=78749
14411 <rdar://problem/10866221>
14413 Reviewed by Sam Weinig.
14415 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14416 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14417 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
14418 Force a repaint and synchronize the layer tree to the UI process.
14420 2012-02-15 Enrica Casucci <enrica@apple.com>
14422 Refactor ClipboardMac class to use PlatformStrategies.
14423 https://bugs.webkit.org/show_bug.cgi?id=78554
14425 Reviewed by Anders Carlsson.
14427 * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
14428 the pasteboard by name.
14429 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
14430 (WebKit::WebPlatformStrategies::changeCount):
14431 (WebKit::WebPlatformStrategies::uniqueName):
14432 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
14433 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14434 (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
14435 the pasteboard by name.
14437 2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
14439 Notify ChromeClient when touch-event handlers are installed/removed.
14440 https://bugs.webkit.org/show_bug.cgi?id=77440
14442 Reviewed by Darin Fisher and Ryosuke Niwa.
14444 * UIProcess/WebPageProxy.h:
14445 (WebKit::WebPageProxy::numTouchEventHandlersChanged):
14446 * WebProcess/WebCoreSupport/WebChromeClient.h:
14448 2012-02-15 Patrick Gansterer <paroga@webkit.org>
14450 [CMake] Move RunLoop to WebCore/platform
14451 https://bugs.webkit.org/show_bug.cgi?id=78504
14453 Reviewed by Adam Roben.
14455 * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
14457 2012-02-14 Simon Hausmann <simon.hausmann@nokia.com>
14459 [Qt] Eliminate first set of QtWidgets dependencies from WebCore
14460 https://bugs.webkit.org/show_bug.cgi?id=78611
14462 Reviewed by Kenneth Rohde Christiansen.
14464 * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
14465 to fix compilation.
14467 2012-02-15 Roland Steiner <rolandsteiner@chromium.org>
14469 <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
14470 https://bugs.webkit.org/show_bug.cgi?id=77853
14472 numberOfScopedHTMLStyleChildren got moved from Element into Node.
14474 Reviewed by Dimitri Glazkov.
14477 * win/WebKit2CFLite.def:
14479 2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com>
14481 [Texmap] Divide TextureMapperNode.cpp to 3 files.
14482 https://bugs.webkit.org/show_bug.cgi?id=76660
14484 Rename TextureMapperNode to TextureMapperLayer.
14486 Reviewed by Kenneth Rohde Christiansen.
14488 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14489 (WebKit::LayerTreeHostProxy::createLayer):
14490 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
14491 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
14492 (WebKit::LayerTreeHostProxy::getBackingStore):
14493 (WebKit::LayerTreeHostProxy::ensureRootLayer):
14494 (WebKit::LayerTreeHostProxy::purgeGLResources):
14496 2012-02-14 Anders Carlsson <andersca@apple.com>
14498 Swipe gestures don't work if main frame has a horizontal scrollbar
14499 https://bugs.webkit.org/show_bug.cgi?id=78650
14500 <rdar://problem/10864993>
14502 Reviewed by Sam Weinig.
14504 * WebProcess/WebPage/EventDispatcher.cpp:
14505 (WebKit::EventDispatcher::wheelEvent):
14506 ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
14508 (WebKit::EventDispatcher::sendDidReceiveEvent):
14509 Rename this now that it takes a parameter indicating whether the event was handled or not.
14511 2012-02-14 Brian Weinstein <bweinstein@apple.com>
14513 Web Inspector: Add the ability to show the resources panel on launch
14514 https://bugs.webkit.org/show_bug.cgi?id=78641
14516 Add WebKit2 API for the ability to show the resources panel. This calls down
14517 from the WK API all the way to InspectorFrontendClientLocal::showResources.
14519 Reviewed by Timothy Hatcher.
14521 * UIProcess/API/C/WKInspector.cpp:
14522 (WKInspectorShowResources): Call WebInspectorProxy::showResources.
14523 * UIProcess/API/C/WKInspector.h:
14524 * UIProcess/WebInspectorProxy.cpp:
14525 (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
14526 * UIProcess/WebInspectorProxy.h:
14527 * WebProcess/WebPage/WebInspector.cpp:
14528 (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
14529 * WebProcess/WebPage/WebInspector.h:
14530 * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
14532 2012-02-14 Matt Lilek <mrl@apple.com>
14534 Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
14535 https://bugs.webkit.org/show_bug.cgi?id=78629
14537 Reviewed by David Kilzer.
14539 * Configurations/FeatureDefines.xcconfig:
14541 2012-02-13 Raphael Kubo da Costa <kubo@profusion.mobi>
14543 [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
14544 https://bugs.webkit.org/show_bug.cgi?id=78566
14546 Reviewed by Daniel Bates.
14548 * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
14550 2012-02-14 No'am Rosenthal <noam.rosenthal@nokia.com>
14552 [Qt][Texmap] Refactor backing-store code in TextureMapper
14553 https://bugs.webkit.org/show_bug.cgi?id=78305
14555 Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
14556 in TextureMapperBackingStore.
14557 We save the double-buffered tile in the backing-store, and then convert them to regular
14558 tiles in updateContents, based on the order of painting.
14559 Use TextureMapperCompositedImage for images instead of saving our own composited image
14562 Reviewed by Kenneth Rohde Christiansen.
14565 * UIProcess/LayerTreeHostProxy.h:
14567 (LayerTreeHostProxy):
14568 * UIProcess/qt/LayerBackingStore.cpp: Added.
14569 * UIProcess/qt/LayerBackingStore.h: Added.
14570 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14571 (WebKit::LayerTreeHostProxy::createLayer):
14572 (WebKit::LayerTreeHostProxy::syncLayerParameters):
14573 (WebKit::LayerTreeHostProxy::getBackingStore):
14574 (WebKit::LayerTreeHostProxy::createTile):
14575 (WebKit::LayerTreeHostProxy::removeTile):
14576 (WebKit::LayerTreeHostProxy::updateTile):
14577 (WebKit::LayerTreeHostProxy::createImage):
14578 (WebKit::LayerTreeHostProxy::assignImageToLayer):
14579 (WebKit::LayerTreeHostProxy::purgeGLResources):
14583 2012-02-14 Shinya Kawanaka <shinyak@google.com>
14585 Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
14586 https://bugs.webkit.org/show_bug.cgi?id=78455
14588 Reviewed by Hajime Morita.
14590 Exports necesarry symbols.
14593 * win/WebKit2CFLite.def:
14595 2012-02-14 Alexey Proskuryakov <ap@apple.com>
14597 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
14598 https://bugs.webkit.org/show_bug.cgi?id=78541
14599 <rdar://problem/10036695>
14601 Reviewed by Kent Tamura.
14603 * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
14605 2012-02-13 W. James MacLean <wjmaclean@chromium.org>
14607 [chromium] Remove obsolete zoom animation pathway.
14608 https://bugs.webkit.org/show_bug.cgi?id=78359
14610 Reviewed by James Robinson.
14612 This patch removes dead code from the previous incarnation of zoom animation for chromium.
14614 WebProcess/Plugins/PDF/BuiltInPDFView.h:
14617 2012-02-13 Enrica Casucci <enrica@apple.com>
14619 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14620 https://bugs.webkit.org/show_bug.cgi?id=78282
14622 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14623 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14624 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14625 class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14626 interface but this one more step in the direction of removing access to NSPasteboard from
14628 As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14630 Reviewed by Anders Carlsson.
14632 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14634 (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14635 (WebKit::WebPlatformStrategies::getTypes):
14636 (WebKit::WebPlatformStrategies::bufferForType):
14637 (WebKit::WebPlatformStrategies::getPathnamesForType):
14638 (WebKit::WebPlatformStrategies::stringForType):
14639 (WebKit::WebPlatformStrategies::copy):
14640 (WebKit::WebPlatformStrategies::setTypes):
14641 (WebKit::WebPlatformStrategies::setBufferForType):
14642 (WebKit::WebPlatformStrategies::setPathnamesForType):
14643 (WebKit::WebPlatformStrategies::setStringForType):
14644 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14646 2012-02-13 Anders Carlsson <andersca@apple.com>
14648 The scrolling tree needs to know about the back forward state of the page
14649 https://bugs.webkit.org/show_bug.cgi?id=78523
14650 <rdar://problem/10756548>
14652 Reviewed by Sam Weinig.
14654 Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
14656 * Platform/CoreIPC/HandleMessage.h:
14658 (CoreIPC::callMemberFunction):
14659 * UIProcess/WebPageProxy.cpp:
14660 (WebKit::WebPageProxy::handleWheelEvent):
14661 (WebKit::WebPageProxy::didReceiveEvent):
14662 * WebProcess/WebPage/EventDispatcher.cpp:
14663 (WebKit::EventDispatcher::wheelEvent):
14664 * WebProcess/WebPage/EventDispatcher.h:
14666 * WebProcess/WebPage/EventDispatcher.messages.in:
14668 2012-02-13 Dan Bernstein <mitz@apple.com>
14670 WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
14671 https://bugs.webkit.org/show_bug.cgi?id=78451
14673 Reviewed by Sam Weinig.
14675 * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
14677 2012-02-13 Sam Weinig <sam@webkit.org>
14681 * UIProcess/win/WebPopupMenuProxyWin.cpp:
14682 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
14684 2012-02-13 Zalan Bujtas <zbujtas@gmail.com>
14686 Manage ShareableBitmap object lifecycle properly, when QImage is created
14687 using the shared data.
14688 https://bugs.webkit.org/show_bug.cgi?id=77546
14690 Reviewed by Simon Hausmann.
14692 * Shared/ShareableBitmap.h:
14694 * Shared/qt/ShareableBitmapQt.cpp:
14695 (WebKit::ShareableBitmap::createQImage):
14697 (WebKit::ShareableBitmap::releaseSharedMemoryData):
14699 2012-02-06 Raphael Kubo da Costa <kubo@profusion.mobi>
14701 [EFL] Drop support for the Curl network backend.
14702 https://bugs.webkit.org/show_bug.cgi?id=77874
14704 Reviewed by Eric Seidel.
14706 Nobody seems to be maintaining the Curl backend in WebCore, the
14707 EFL port developers all seem to be using the Soup backend and the
14708 port itself has many features which are only implemented for the
14711 * PlatformEfl.cmake: Unconditionally build the glib/soup source
14712 files and unconditionally add the required include directories and
14714 * WebProcess/efl/WebProcessMainEfl.cpp:
14715 (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
14717 2012-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
14719 Unreviewed, rolling out r107435.
14720 http://trac.webkit.org/changeset/107435
14721 https://bugs.webkit.org/show_bug.cgi?id=78410
14723 It broke the Qt build (Requested by Ossy on #webkit).
14725 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
14726 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
14727 (WebPlatformStrategies):
14729 2012-02-10 Brian Weinstein <bweinstein@apple.com>
14731 Web Inspector: Add the ability to jump to the source for a given frame
14732 https://bugs.webkit.org/show_bug.cgi?id=78396
14734 Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
14735 from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
14737 Reviewed by Tim Hatcher.
14739 * UIProcess/API/C/WKInspector.cpp:
14740 (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
14741 * UIProcess/API/C/WKInspector.h:
14743 * UIProcess/WebInspectorProxy.cpp:
14744 (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
14745 the frame ID of the frame we want to show the main resource of.
14746 * UIProcess/WebInspectorProxy.h:
14748 * WebProcess/WebPage/WebInspector.cpp:
14749 (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
14750 main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
14751 * WebProcess/WebPage/WebInspector.h:
14753 * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
14755 2012-02-10 Adam Klein <adamk@chromium.org>
14757 Enable MUTATION_OBSERVERS by default on all platforms
14758 https://bugs.webkit.org/show_bug.cgi?id=78196
14760 Reviewed by Ojan Vafai.
14762 * Configurations/FeatureDefines.xcconfig:
14764 2012-02-10 Enrica Casucci <enrica@apple.com>
14766 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14767 https://bugs.webkit.org/show_bug.cgi?id=78282
14769 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14770 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14771 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14772 class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14773 interface but this one more step in the direction of removing access to NSPasteboard from
14775 As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14777 Reviewed by Anders Carlsson.
14779 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14781 (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14782 (WebKit::WebPlatformStrategies::getTypes):
14783 (WebKit::WebPlatformStrategies::bufferForType):
14784 (WebKit::WebPlatformStrategies::getPathnamesForType):
14785 (WebKit::WebPlatformStrategies::stringForType):
14786 (WebKit::WebPlatformStrategies::copy):
14787 (WebKit::WebPlatformStrategies::setTypes):
14788 (WebKit::WebPlatformStrategies::setBufferForType):
14789 (WebKit::WebPlatformStrategies::setPathnamesForType):
14790 (WebKit::WebPlatformStrategies::setStringForType):
14791 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14793 2012-02-09 Timothy Hatcher <timothy@apple.com>
14795 Prevent attaching when inspecting the Web Inspector.
14797 Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
14798 and why there are two implementations of the same function.
14800 https://webkit.org/b/78304
14802 Reviewed by Brian Weinstein.
14804 * UIProcess/WebInspectorProxy.cpp:
14805 (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
14806 Added comments about InspectorFrontendClientLocal::canAttachWindow.
14807 * UIProcess/WebInspectorProxy.h:
14808 (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
14810 2012-02-09 Alexey Proskuryakov <ap@apple.com>
14812 Managed network proxy settings are not used in WebProcess
14813 https://bugs.webkit.org/show_bug.cgi?id=78288
14814 <rdar://problem/9962116>
14816 Reviewed by Anders Carlsson.
14818 * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
14820 2012-02-09 Alexey Proskuryakov <ap@apple.com>
14822 ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
14823 https://bugs.webkit.org/show_bug.cgi?id=70845
14824 <rdar://problem/10269985>
14826 Reviewed by Anders Carlsson.
14828 This also fixes some case where WebProcess did not get a sandbox extension after a crash.
14830 * UIProcess/WebPageProxy.cpp:
14831 (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
14832 extension here, we're now passing it at b/f navigation bottleneck.
14833 (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
14834 page after a crash, so WebProcess may no longer have the extension.
14835 (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
14836 we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
14837 a WebBackForwardListItem pointer, and then used it anyway.
14838 (WebKit::WebPageProxy::goBack): Ditto.
14839 (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
14840 (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
14841 actions like pressing the Back button, and for window.history.go() navigations. JS navigations
14842 previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
14843 always OK to grant a sandbox extension if one of them is a file: one.
14845 * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
14847 * UIProcess/WebPageProxy.messages.in: Ditto.
14849 * UIProcess/WebProcessProxy.cpp:
14850 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
14851 list, then it has been already vetted as something the Web process knows about. No need to
14852 crash if it actually attempts going there.
14853 (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
14854 of fprintfs besides this one). Fixed log message syntax.
14856 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
14857 We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
14860 * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
14861 We now get an extension here, when telling UI process that we're navigating to a b/f list item.
14863 * WebProcess/WebPage/WebPage.cpp:
14864 (WebKit::WebPage::reload): Use the extension we're getting.
14865 (WebKit::WebPage::goForward): Don't use one we're not getting.
14866 (WebKit::WebPage::goBack): Ditto.
14867 (WebKit::WebPage::goToBackForwardItem): Ditto.
14868 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
14870 * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
14872 * WebProcess/WebPage/WebPage.messages.in: Ditto.
14874 2012-02-09 Matthew Delaney <mdelaney@apple.com>
14876 HiDPI: WebKit2's drag images are blurry
14877 https://bugs.webkit.org/show_bug.cgi?id=67779
14879 Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
14881 Reviewed by Beth Dakin.
14883 * UIProcess/API/mac/WKView.mm:
14884 (-[WKView _setDragImage:at:linkDrag:]):
14886 2012-02-09 Alexey Proskuryakov <ap@apple.com>
14888 [WK2] Allow reading some debug-only preference files
14889 https://bugs.webkit.org/show_bug.cgi?id=78255
14890 <rdar://problem/9382382>
14891 <rdar://problem/10830558>
14893 Reviewed by Dan Bernstein.
14895 * WebProcess/com.apple.WebProcess.sb:
14897 2012-02-09 Matthew Delaney <mdelaney@apple.com>
14899 HiDPI: WebKit2's link-dragging images are blurry
14900 https://bugs.webkit.org/show_bug.cgi?id=67779
14902 Reviewed by Beth Dakin.
14904 Teach startDrag about the deviceScaleFactor so that it creates
14905 an appropriately scaled bitmap image to ship over.
14906 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14907 (WebKit::WebDragClient::startDrag):
14908 (WebKit::convertImageToBitmap):
14910 Have setDragImage assume that it's receiving a bitmap image scaled
14911 up by the deviceScaleFactor that it sees.
14912 * UIProcess/API/mac/WKView.mm:
14913 (-[WKView _setDragImage:at:linkDrag:]):
14915 2012-02-09 Carlos Garcia Campos <cgarcia@igalia.com>
14917 [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
14918 https://bugs.webkit.org/show_bug.cgi?id=78097
14920 Reviewed by Martin Robinson.
14922 * GNUmakefile.am: Add new files to compilation.
14923 * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
14924 (webkitHitTestResultFinalize):
14925 (webkitHitTestResultGetProperty):
14926 (webkitHitTestResultSetProperty):
14927 (webkit_hit_test_result_init):
14928 (webkit_hit_test_result_class_init):
14929 (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
14930 the given WKHitTestResult.
14931 (stringIsEqualToCString): Helper function to compare String and
14932 CString considering String::isEmpty() == CString.isNull().
14933 (webkitHitTestResultCompare): Helper function to check whether a
14934 WebKitHitTestResult contains the same information than the given
14936 (webkit_hit_test_result_get_context):
14937 (webkit_hit_test_result_context_is_link):
14938 (webkit_hit_test_result_context_is_image):
14939 (webkit_hit_test_result_context_is_media):
14940 (webkit_hit_test_result_get_link_uri):
14941 (webkit_hit_test_result_get_link_title):
14942 (webkit_hit_test_result_get_link_label):
14943 (webkit_hit_test_result_get_image_uri):
14944 (webkit_hit_test_result_get_media_uri):
14945 * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
14946 * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
14947 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
14948 (webkitNavigationPolicyDecisionCreate): Use
14949 wkEventModifiersToGdkModifiers.
14950 * UIProcess/API/gtk/WebKitPrivate.cpp:
14951 (wkEventModifiersToGdkModifiers): Moved from
14952 WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
14953 * UIProcess/API/gtk/WebKitPrivate.h:
14954 * UIProcess/API/gtk/WebKitUIClient.cpp:
14955 (mouseDidMoveOverElement): UI client callback that calls
14956 webkitWebViewMouseTargetChanged().
14957 (attachUIClientToView): Add implementation for callback
14958 mouseDidMoveOverElement.
14959 * UIProcess/API/gtk/WebKitWebView.cpp:
14960 (webkit_web_view_class_init): Add
14961 WebKitWebView::mouse-target-changed signal.
14962 (webkitWebViewMouseTargetChanged): Emit
14963 WebKitWebView::mouse-target-changed signal.
14964 * UIProcess/API/gtk/WebKitWebView.h:
14965 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14966 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14967 WebKitHitTestResult.
14968 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14969 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
14970 (testWebViewMouseTarget):
14972 * UIProcess/API/gtk/tests/WebViewTest.cpp:
14973 (WebViewTest::WebViewTest):
14974 (WebViewTest::~WebViewTest):
14975 (parentWindowMapped):
14976 (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
14977 view into a popup window and show it running the main loop until
14978 the window is mapped.
14979 (WebViewTest::mouseMoveTo): Method to synthesize a
14980 GDK_MOTION_EVENT on the given coordinates and using the given
14982 * UIProcess/API/gtk/tests/WebViewTest.h:
14983 * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
14984 * UIProcess/API/gtk/webkit2marshal.list:
14986 2012-02-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
14988 [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
14989 https://bugs.webkit.org/show_bug.cgi?id=78009
14991 Reviewed by Noam Rosenthal.
14993 Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
14994 need to keep the visible rect to pass it down their child layers anymore.
14996 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14997 (WebCore::WebGraphicsLayer::setContentsScale):
14998 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
14999 (WebCore::WebGraphicsLayer::adjustVisibleRect):
15001 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15002 (WebGraphicsLayerClient):
15003 (WebGraphicsLayer):
15004 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15005 (WebKit::LayerTreeHostQt::registerLayer):
15006 (WebKit::LayerTreeHostQt::visibleContentsRect):
15008 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15009 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15012 2012-02-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
15014 [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
15015 https://bugs.webkit.org/show_bug.cgi?id=78005
15017 Reviewed by Noam Rosenthal.
15019 This makes sure that no empty tiles are generated for layers without contents and that
15020 no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
15022 - Create the main TiledBackingStore only when the layer has drawsContent and has no
15023 directly composited image
15024 - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
15025 in updateContentBuffers
15026 - Call purgeBackingStores on registered layers instead of passing it down the layer tree
15028 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15029 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15030 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15031 (WebCore::WebGraphicsLayer::setDrawsContent):
15032 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
15033 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15034 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
15035 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
15036 (WebCore::WebGraphicsLayer::updateContentBuffers):
15037 (WebCore::WebGraphicsLayer::purgeBackingStores):
15038 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15039 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
15040 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15041 (WebGraphicsLayer):
15042 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15043 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15044 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
15046 (WebKit::LayerTreeHostQt::purgeBackingStores):
15047 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15050 2012-02-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
15052 [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
15053 https://bugs.webkit.org/show_bug.cgi?id=78105
15055 Reviewed by Kenneth Rohde Christiansen.
15057 The method is unused.
15059 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15060 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15061 (WebGraphicsLayer):
15063 2012-02-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
15065 [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
15066 https://bugs.webkit.org/show_bug.cgi?id=77976
15068 Reviewed by Kenneth Rohde Christiansen.
15070 The LayerTreeHost association had to be maintained between re-parented layers and it would be
15071 impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
15072 or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
15074 Instead, this patch assumes that graphics layers will only be in contact with one instance of
15075 LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
15076 tree host gets deleted.
15078 The registered layers are kept in a set and the visible rect and scales are passed directly
15079 to layers instead of down the tree, through the root layer.
15081 This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests.
15083 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15084 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15085 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15086 (WebCore::WebGraphicsLayer::setChildren):
15087 (WebCore::WebGraphicsLayer::addChild):
15088 (WebCore::WebGraphicsLayer::addChildAtIndex):
15089 (WebCore::WebGraphicsLayer::addChildAbove):
15090 (WebCore::WebGraphicsLayer::addChildBelow):
15091 (WebCore::WebGraphicsLayer::replaceChild):
15092 (WebCore::WebGraphicsLayer::removeFromParent):
15093 (WebCore::WebGraphicsLayer::setContentsToImage):
15094 (WebCore::WebGraphicsLayer::setMaskLayer):
15095 (WebCore::WebGraphicsLayer::setReplicatedByLayer):
15096 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15097 (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
15098 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
15099 (WebCore::WebGraphicsLayer::createTile):
15100 (WebCore::WebGraphicsLayer::updateTile):
15101 (WebCore::WebGraphicsLayer::removeTile):
15102 (WebCore::WebGraphicsLayer::updateContentBuffers):
15103 (WebCore::WebGraphicsLayer::purgeBackingStores):
15104 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15105 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15107 (WebGraphicsLayerClient):
15108 (WebGraphicsLayer):
15109 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15110 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
15111 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15112 (WebKit::LayerTreeHostQt::attachLayer):
15114 (WebKit::LayerTreeHostQt::detachLayer):
15115 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15116 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15119 2012-02-07 Andras Becsi <andras.becsi@nokia.com>
15121 [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning
15122 https://bugs.webkit.org/show_bug.cgi?id=76275
15124 Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
15126 The current WebView implementation uses QScroller to manage positioning but other
15127 similar items in QML (ie. ListView, GridView) use Flickable as their base class.
15128 Since QScroller will be dropped from Qt5 this patch removes the QScroller code
15129 and redirects pan gestures to a dynamically created encapsulated Flickable instance
15130 (QtFlickProvider) which handles the positioning.
15132 This implementation only uses public QML API and does not depend on declarative-private.
15133 It propagates a small subset of the Flickable API as the public API of the WebView.
15134 This minimalistic API is accessible via the experimental extension and makes it possible
15135 in QML to place additional items (such as toolbars, scroll indicators and floating menus)
15137 These items can use anchoring and binding for positioning on the flickable contentItem.
15139 The patch depends however on the automatic touch->mouse event synthetization of Qt5.
15140 The touch events sent to the flickProvider are translated to mouse events automatically
15141 as long as the Flickable does not handle touch events directly.
15143 After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be
15144 removed in a follow-up patch.
15146 * Target.pri: Added QtFlickProvider source.
15147 * UIProcess/API/qt/qquickwebpage.cpp:
15148 (QQuickWebPagePrivate::paintToCurrentGLContext):
15149 (QQuickWebPage::transformToItem):
15150 (QQuickWebPagePrivate::updateSize):
15151 * UIProcess/API/qt/qquickwebview.cpp:
15152 (QQuickWebViewPrivate::QQuickWebViewPrivate):
15153 (QQuickWebViewPrivate::pageItemPos):
15154 (QQuickWebViewFlickablePrivate::pageItemPos):
15155 (QQuickWebViewFlickablePrivate::updateContentsSize):
15156 (QQuickWebViewFlickablePrivate::onComponentComplete):
15157 (QQuickWebViewFlickablePrivate::updateViewportSize):
15158 (QQuickWebViewExperimental::flickableData):
15159 (QQuickWebViewExperimental::contentItem):
15160 (QQuickWebViewExperimental::contentWidth):
15161 (QQuickWebViewExperimental::setContentWidth):
15162 (QQuickWebViewExperimental::contentHeight):
15163 (QQuickWebViewExperimental::setContentHeight):
15164 (QQuickWebViewExperimental::contentX):
15165 (QQuickWebViewExperimental::setContentX):
15166 (QQuickWebViewExperimental::contentY):
15167 (QQuickWebViewExperimental::setContentY):
15168 (QQuickWebView::pageItemPos):
15169 (QQuickWebView::updateContentsSize):
15170 * UIProcess/API/qt/qquickwebview_p.h:
15171 * UIProcess/API/qt/qquickwebview_p_p.h:
15172 (QQuickWebViewPrivate):
15173 (QQuickWebViewPrivate::updateContentsSize):
15174 (QQuickWebViewFlickablePrivate):
15175 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15176 (tst_QQuickWebView::scrollRequest):
15177 * UIProcess/qt/QtFlickProvider.cpp: Added.
15178 (QtFlickProvider::QtFlickProvider):
15179 (QtFlickProvider::handleTouchFlickEvent):
15180 (QtFlickProvider::contentItem):
15181 (QtFlickProvider::flickableData):
15182 (QtFlickProvider::contentPos):
15183 (QtFlickProvider::setContentPos):
15184 (QtFlickProvider::viewportSize):
15185 (QtFlickProvider::setViewportSize):
15186 (QtFlickProvider::returnToBounds):
15187 (QtFlickProvider::cancelFlick):
15188 (QtFlickProvider::isMoving):
15189 (QtFlickProvider::isDragging):
15190 (QtFlickProvider::isFlicking):
15191 (QtFlickProvider::contentWidth):
15192 (QtFlickProvider::setContentWidth):
15193 (QtFlickProvider::contentHeight):
15194 (QtFlickProvider::setContentHeight):
15195 (QtFlickProvider::contentX):
15196 (QtFlickProvider::setContentX):
15197 (QtFlickProvider::contentY):
15198 (QtFlickProvider::setContentY):
15199 * UIProcess/qt/QtFlickProvider.h: Added.
15201 * UIProcess/qt/QtPanGestureRecognizer.cpp:
15202 (WebKit::QtPanGestureRecognizer::recognize):
15203 * UIProcess/qt/QtPanGestureRecognizer.h:
15204 (QtPanGestureRecognizer):
15205 * UIProcess/qt/QtViewportInteractionEngine.cpp:
15206 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
15207 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
15208 (WebKit::QtViewportInteractionEngine::scrollStateChanged):
15210 (WebKit::QtViewportInteractionEngine::wheelEvent):
15211 (WebKit::QtViewportInteractionEngine::reset):
15212 (WebKit::QtViewportInteractionEngine::applyConstraints):
15213 (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
15214 (WebKit::QtViewportInteractionEngine::panGestureActive):
15215 (WebKit::QtViewportInteractionEngine::panGestureStarted):
15216 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
15217 (WebKit::QtViewportInteractionEngine::panGestureCancelled):
15218 (WebKit::QtViewportInteractionEngine::panGestureEnded):
15219 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
15220 (WebKit::QtViewportInteractionEngine::scaleContent):
15221 * UIProcess/qt/QtViewportInteractionEngine.h:
15222 (QtViewportInteractionEngine):
15223 * UIProcess/qt/QtWebPageEventHandler.cpp:
15224 (QtWebPageEventHandler::doneWithTouchEvent):
15226 2012-02-08 Keunsoon Lee <keunsoon.lee@samsung.com>
15228 [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module.
15229 https://bugs.webkit.org/show_bug.cgi?id=76171
15231 Reviewed by Andreas Kling.
15233 FileDownloaderEfl is a practical class to operate file download.
15234 It communicates with Download class to start download
15235 and to notify downloading states to user(e.g. client application).
15236 Besides FileDownloaderEfl derives from ResourceHandleClient
15237 and receives chunked data from ResourceHandle directly
15238 or redirects data flow which is started from MainResourceLoader
15239 by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl.
15241 This patch has only dummy functions to make easy to review.
15242 Working patch will be uploaded on another bug thread.
15244 * PlatformEfl.cmake: added new file to compile.
15245 * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>.
15248 * WebProcess/Downloads/efl/DownloadEfl.cpp:
15249 (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest.
15250 * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download.
15252 (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>.
15253 (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter.
15254 (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor.
15255 (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest.
15256 It does nothing for now, but shows how Download class can call FileDownloaderEfl's function.
15257 (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient.
15258 It will receive response header information from ResourceHandle.
15259 (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient.
15260 It will receive chunk data from ResourceHandle.
15261 (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient.
15262 It will be notified loading is finished from ResourceHandle.
15263 (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient.
15264 It will be notified loading is fail with ResourceError from ResourceHandle.
15265 (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient.
15266 It returns whether to use credential storage or not.
15267 (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient.
15268 It will receive AuthenticationChallenge.
15269 (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient.
15270 It will be notified AuthenticationChallenge is canceled.
15271 (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient.
15272 * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added.
15275 (FileDownloaderEfl):
15277 2012-02-07 MORITA Hajime <morrita@google.com>
15279 Replacement text should be available from the marker.
15280 https://bugs.webkit.org/show_bug.cgi?id=77934
15282 Reviewed by Kent Tamura.
15285 * win/WebKit2CFLite.def:
15287 2012-02-08 Anders Carlsson <andersca@apple.com>
15289 Don't use the wheel event handler count to track if a page has horizontal scrollbars
15290 https://bugs.webkit.org/show_bug.cgi?id=78192
15292 Reviewed by Andreas Kling.
15294 Prior to this change, we were incrementing and decrementing the wheel event handler count
15295 whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count
15296 to determine if Safari can handle horizontal wheel events directly or whether they have to be sent
15297 to the web process first.
15299 What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events
15300 to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers.
15302 After this change, we traverse the tree of scrollable areas after every layout and check if any of them
15303 have a horizontal scrollbar. (We still also check if there are wheel event handlers).
15305 If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars
15306 in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller.
15308 * UIProcess/WebPageProxy.cpp:
15309 (WebKit::WebPageProxy::WebPageProxy):
15310 (WebKit::WebPageProxy::willHandleHorizontalScrollEvents):
15311 * UIProcess/WebPageProxy.h:
15312 (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents):
15314 * UIProcess/WebPageProxy.messages.in:
15315 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
15316 (WebKit::WebChromeClient::numWheelEventHandlersChanged):
15317 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15318 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
15319 * WebProcess/WebPage/WebPage.cpp:
15320 (WebKit::WebPage::WebPage):
15321 (WebKit::WebPage::numWheelEventHandlersChanged):
15323 (WebKit::hasEnabledHorizontalScrollbar):
15324 (WebKit::pageContainsAnyHorizontalScrollbars):
15325 (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
15326 * WebProcess/WebPage/WebPage.h:
15329 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
15331 Unreviewed, rolling out r106920, r106924, r106933, r106939,
15333 http://trac.webkit.org/changeset/106920
15334 http://trac.webkit.org/changeset/106924
15335 http://trac.webkit.org/changeset/106933
15336 http://trac.webkit.org/changeset/106939
15337 http://trac.webkit.org/changeset/107090
15338 https://bugs.webkit.org/show_bug.cgi?id=78124
15340 Something is completely wrong this change (Requested by
15341 Ossy_gardener on #webkit).
15343 * Shared/WebProcessCreationParameters.cpp:
15344 (WebKit::WebProcessCreationParameters::encode):
15345 (WebKit::WebProcessCreationParameters::decode):
15346 * Shared/WebProcessCreationParameters.h:
15347 (WebProcessCreationParameters):
15348 * UIProcess/WebContext.cpp:
15349 (WebKit::WebContext::WebContext):
15350 * UIProcess/qt/WebContextQt.cpp:
15351 (WebKit::WebContext::platformInitializeWebProcess):
15352 * WebProcess/qt/WebProcessQt.cpp:
15354 (WebKit::WebProcess::platformSetCacheModel):
15355 (WebKit::WebProcess::platformInitializeWebProcess):
15357 2012-02-08 Carlos Garcia Campos <cgarcia@igalia.com>
15359 [GTK] Fix a crash when WebKitWebView is created without a WebContext
15360 https://bugs.webkit.org/show_bug.cgi?id=78104
15362 Reviewed by Philippe Normand.
15364 * UIProcess/API/gtk/WebKitWebView.cpp:
15365 (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
15366 property is initialized to the default web context when a web
15367 context is not passed to g_object_new().
15368 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
15369 (testWebViewDefaultContext): Check that a web view created with
15370 g_object_new has the default context.
15372 2012-02-08 Michael Brüning <michael.bruning@nokia.com>
15374 [Qt][WK2] Compute and set cache capacities using the current CacheModel
15375 https://bugs.webkit.org/show_bug.cgi?id=73918
15377 Reviewed by Kenneth Rohde Christiansen.
15379 * UIProcess/WebContext.cpp:
15380 (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to
15381 CacheModelPrimaryWebBrowser.
15383 2012-02-08 Carlos Garcia Campos <cgarcia@igalia.com>
15385 [GTK] Fix WebKitWebView::decide-policy API documentation
15386 https://bugs.webkit.org/show_bug.cgi?id=78101
15388 Reviewed by Martin Robinson.
15390 - It refers to WebKitPolicyClient instead of WebKitWebView
15391 - Trailing ':' is missing
15392 - References @decision as WebKitNavigationPolicyDecision instead
15393 of WebKitPolicyDecision
15395 * UIProcess/API/gtk/WebKitWebView.cpp:
15396 (webkit_web_view_class_init):
15398 2012-02-08 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
15400 [Qt] Build broken if qt missing openssl
15401 https://bugs.webkit.org/show_bug.cgi?id=77894
15403 Reviewed by Chang Shu.
15405 Build fix. No new test content.
15407 * WebProcess/qt/QtNetworkAccessManager.cpp:
15408 (WebKit::QtNetworkAccessManager::onSslErrors):
15410 2012-02-08 Yael Aharon <yael.aharon@nokia.com>
15412 [WK2] Text notifications should have an iconURL
15413 https://bugs.webkit.org/show_bug.cgi?id=77968
15415 Reviewed by Simon Hausmann.
15417 Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL.
15418 Add an iconURL to WebNotification and add a public API to access it.
15420 * UIProcess/API/C/WKNotification.cpp:
15421 (WKNotificationCopyiconURL):
15422 * UIProcess/API/C/WKNotification.h:
15423 * UIProcess/Notifications/WebNotification.cpp:
15424 (WebKit::WebNotification::WebNotification):
15425 * UIProcess/Notifications/WebNotification.h:
15426 (WebKit::WebNotification::create):
15427 (WebKit::WebNotification::iconURL):
15429 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
15430 (WebKit::WebNotificationManagerProxy::show):
15431 * UIProcess/Notifications/WebNotificationManagerProxy.h:
15432 (WebNotificationManagerProxy):
15433 * UIProcess/WebPageProxy.cpp:
15434 (WebKit::WebPageProxy::showNotification):
15435 * UIProcess/WebPageProxy.h:
15437 * UIProcess/WebPageProxy.messages.in:
15438 * WebProcess/Notifications/WebNotificationManager.cpp:
15439 (WebKit::WebNotificationManager::show):
15441 2012-02-08 Philippe Normand <pnormand@igalia.com>
15443 [GTK][WK2] enable-webaudio WebSetting
15444 https://bugs.webkit.org/show_bug.cgi?id=77959
15446 Reviewed by Martin Robinson.
15448 Add a new WebKitGTK WebSetting to enable/disable WebAudio at
15451 * UIProcess/API/gtk/WebKitSettings.cpp:
15452 (webKitSettingsSetProperty):
15453 (webKitSettingsGetProperty):
15454 (webkit_settings_class_init):
15455 (webkit_settings_get_enable_webaudio):
15456 (webkit_settings_set_enable_webaudio):
15457 * UIProcess/API/gtk/WebKitSettings.h:
15458 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
15459 (testWebKitSettings):
15461 2012-02-07 Martin Robinson <mrobinson@igalia.com>
15463 [GTK] [WK2] Add WebKitResponsePolicyDecision
15464 https://bugs.webkit.org/show_bug.cgi?id=76789
15466 Reviewed by Philippe Normand.
15468 Add a WebKitResponsePolicyDecision GObject, use it for response
15469 policy decisions and add a test.
15471 * GNUmakefile.am: Added new source files to the list.
15472 * UIProcess/API/gtk/WebKitPolicyClient.cpp:
15473 (decidePolicyForResponseCallback): Added this callback which creates the request
15474 and fires the signal.
15475 (attachPolicyClientToPage): Added new callback to the C API policy client.
15476 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added.
15477 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added.
15478 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added.
15479 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs.
15480 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
15481 * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
15482 (testResponsePolicy): Added this test for response policy decisions.
15483 (serverCallback): Added a SoupServer to test policy response policy decisions.
15484 (beforeAll): Ditto.
15487 2012-02-07 Timothy Hatcher <timothy@apple.com>
15489 Avoid making a window for the Web Inspector when it is docked.
15491 This also makes sure the inspector WKView is in a window before the page is loaded.
15492 This avoids some redundant work caused by moving it to a window later.
15494 https://webkit.org/b/78064
15496 Reviewed by Brian Weinstein.
15498 * UIProcess/WebInspectorProxy.cpp:
15499 (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here...
15500 (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here.
15501 * UIProcess/WebInspectorProxy.h:
15502 (WebInspectorProxy):
15503 * UIProcess/mac/WebInspectorProxyMac.mm:
15504 (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen.
15505 (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged.
15506 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow.
15507 (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible.
15508 (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil.
15509 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle.
15510 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible.
15511 (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window.
15512 (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again.
15514 2012-02-07 Tony Chang <tony@chromium.org>
15516 merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
15517 https://bugs.webkit.org/show_bug.cgi?id=78036
15519 Reviewed by Darin Adler.
15521 * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
15523 2012-02-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
15525 [CMAKE] Use *bin* and *lib* directories for executable and libraries.
15526 https://bugs.webkit.org/show_bug.cgi?id=77928
15528 Reviewed by Daniel Bates.
15530 CMake has used *Programs* directory for executable. In addition, shared libraries are being
15531 built in source directory. It is better to set common places in order to maintain executable
15532 and libraries. *bin* is for executable and *lib* is for library.
15536 2012-02-07 Timothy Hatcher <timothy@apple.com>
15538 Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView.
15540 If WKView was created and loaded a page with canvas elements before beinging moved
15541 to a window, the canvas elements would be locked in at a pixel ratio of 1. With this
15542 change the WKView will use the main screen's pixel ratio until it moves to a window.
15544 Reviewed by Anders Carlsson.
15546 * UIProcess/API/mac/WKView.mm:
15547 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor.
15549 2012-02-07 Alexey Proskuryakov <ap@apple.com>
15551 Keep a reference in didReceiveInvalidMessage.
15552 https://bugs.webkit.org/show_bug.cgi?id=78024
15554 Reviewed by Anders Carlsson.
15556 * UIProcess/WebConnectionToWebProcess.cpp:
15557 (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
15559 2012-02-06 Anders Carlsson <andersca@apple.com>
15561 ScrollableAreaSet should be moved from Page to FrameView
15562 https://bugs.webkit.org/show_bug.cgi?id=62762
15564 Reviewed by Beth Dakin.
15566 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
15567 (WebKit::BuiltInPDFView::initialize):
15568 Call FrameView::addScrollableArea instead.
15570 (WebKit::BuiltInPDFView::destroy):
15571 Call FrameView::removeScrollableArea instead.
15573 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
15574 Remove disconnectFromPage since it no longer exists on ScrollableArea.
15576 2012-02-07 Carlos Garcia Campos <cgarcia@igalia.com>
15578 [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API
15579 https://bugs.webkit.org/show_bug.cgi?id=76998
15581 Reviewed by Martin Robinson.
15583 * GNUmakefile.am: Add WebKitEditingCommands.h.
15584 * UIProcess/API/gtk/WebKitEditingCommands.h: Added.
15585 * UIProcess/API/gtk/WebKitWebView.cpp:
15586 (didValidateCommand): Callback called by the C API when an editor
15587 command has been validated.
15588 (webkit_web_view_can_execute_editing_command): Asynchronously
15589 validate the given editing command.
15590 (webkit_web_view_can_execute_editing_command_finish): Finish async
15591 operation started by webkit_web_view_can_execute_editing_command().
15592 (webkit_web_view_execute_editing_command): Execute the given
15594 * UIProcess/API/gtk/WebKitWebView.h:
15595 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
15596 * UIProcess/API/gtk/tests/GNUmakefile.am:
15597 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
15598 (LoadTrackingTest::provisionalLoadFailed): Do not finish the main
15599 loop on load failure, now finished is always called.
15600 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest
15601 instead of LoadTrackingTest.
15602 * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added.
15603 (testWebViewEditorCutCopyPasteNonEditable):
15604 (testWebViewEditorCutCopyPasteEditable):
15607 * UIProcess/API/gtk/tests/WebViewTest.cpp:
15609 (WebViewTest::waitUntilLoadFinished): Run a main loop until load
15611 * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished().
15612 * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h.
15614 2012-02-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
15616 Encode radius, force and rotationAngle in WebPlatformTouchPoint.
15617 https://bugs.webkit.org/show_bug.cgi?id=77986
15619 Reviewed by Kenneth Rohde Christiansen.
15621 * Shared/WebEvent.h:
15622 (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15623 (WebPlatformTouchPoint):
15624 (WebKit::WebPlatformTouchPoint::radius):
15625 (WebKit::WebPlatformTouchPoint::rotationAngle):
15626 (WebKit::WebPlatformTouchPoint::force):
15627 * Shared/WebEventConversion.cpp:
15628 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
15629 * Shared/WebPlatformTouchPoint.cpp:
15630 (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15631 (WebKit::WebPlatformTouchPoint::encode):
15632 (WebKit::WebPlatformTouchPoint::decode):
15634 2012-02-07 Andras Becsi <andras.becsi@nokia.com>
15636 [Qt] [WK2] Fix the debug build after r106920
15638 * WebProcess/qt/WebProcessQt.cpp:
15639 (WebKit::WebProcess::platformSetCacheModel):
15640 Remove unnecessary assert.
15642 2012-02-03 Andras Becsi <andras.becsi@nokia.com>
15644 [Qt][WK2] Add the componentComplete method to WebView
15645 https://bugs.webkit.org/show_bug.cgi?id=77111
15647 Reviewed by Simon Hausmann.
15649 Move the initialization of the interaction engine to componentComplete
15650 in preparation of switching to a Flickable based content positioning
15651 for the touch based WebView.
15652 Suspend the page and delay the dispatch of load success on startup until
15653 the component finished initialization. With this patch instantiating the
15654 WebView in C++ is only possible by creating a QDeclarativeComponent as
15655 the initialization depends on the componentComplete method being called.
15656 Also return valid default values in the viewport info functions if the
15657 interaction engine is not yet initialized because the viewport info
15658 component could finish initialization earlier than the WebView, which
15659 results in QML warnings during MiniBrowser startup.
15661 * UIProcess/API/qt/qquickwebview.cpp:
15662 (QQuickWebViewPrivate::initialize):
15663 (QQuickWebViewPrivate::loadDidSucceed):
15664 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
15665 (QQuickWebViewFlickablePrivate::initialize):
15666 (QQuickWebViewFlickablePrivate::onComponentComplete):
15667 (QQuickWebViewFlickablePrivate::loadDidSucceed):
15668 (QQuickWebViewFlickablePrivate::updateViewportSize):
15669 (QQuickWebViewFlickablePrivate::_q_resume):
15670 (QQuickWebView::geometryChanged):
15671 (QQuickWebView::componentComplete):
15672 * UIProcess/API/qt/qquickwebview_p.h:
15673 * UIProcess/API/qt/qquickwebview_p_p.h:
15674 (QQuickWebViewPrivate::onComponentComplete):
15675 (QQuickWebViewPrivate):
15676 (QQuickWebViewFlickablePrivate):
15677 * UIProcess/API/qt/qwebviewportinfo.cpp:
15678 (QWebViewportInfo::currentScale):
15679 (QWebViewportInfo::devicePixelRatio):
15680 (QWebViewportInfo::initialScale):
15681 (QWebViewportInfo::minimumScale):
15682 (QWebViewportInfo::maximumScale):
15683 (QWebViewportInfo::isScalable):
15684 (QWebViewportInfo::layoutSize):
15685 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
15686 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15687 (tst_QQuickWebView::tst_QQuickWebView):
15688 (tst_QQuickWebView::init):
15689 (tst_QQuickWebView::multipleWebViewWindows):
15690 (tst_QQuickWebView::multipleWebViews):
15691 * UIProcess/qt/QtWebPageLoadClient.cpp:
15692 (QtWebPageLoadClient::dispatchLoadSucceeded):
15694 2012-02-07 YoungTaeck Song <youngtaeck.song@samsung.com>
15696 [EFL][WK2] Add ModuleEfl.cpp
15697 https://bugs.webkit.org/show_bug.cgi?id=63608
15699 Reviewed by Andreas Kling.
15701 Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer().
15703 * Platform/Module.h:
15704 * Platform/efl/ModuleEfl.cpp: Added.
15705 (WebKit::Module::load):
15706 (WebKit::Module::unload):
15707 (WebKit::Module::platformFunctionPointer):
15709 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
15711 [Qt][WK2] Compute and set cache capacities using the current CacheModel
15712 https://bugs.webkit.org/show_bug.cgi?id=73918
15714 Reviewed by Kenneth Rohde Christiansen.
15716 First part of the implementation. The next steps are the implementation
15717 of the API for the Qt WebKit 2 port and the hybrid memory and disk cache.
15719 * Shared/WebProcessCreationParameters.cpp:
15720 (WebKit::WebProcessCreationParameters::encode):
15721 (WebKit::WebProcessCreationParameters::decode):
15722 * Shared/WebProcessCreationParameters.h:
15723 (WebProcessCreationParameters):
15724 * UIProcess/qt/WebContextQt.cpp:
15725 (WebKit::defaultDiskCacheDirectory):
15727 (WebKit::WebContext::platformInitializeWebProcess):
15728 * WebProcess/qt/WebProcessQt.cpp:
15729 (WebKit::physicalMemorySizeInBytes):
15731 (WebKit::WebProcess::platformSetCacheModel):
15732 (WebKit::WebProcess::platformInitializeWebProcess):
15734 2012-02-06 Shinya Kawanaka <shinyak@google.com>
15736 Remove Element::ensureShadowRoot export.
15737 https://bugs.webkit.org/show_bug.cgi?id=77932
15739 Reviewed by Hajime Morita.
15742 * win/WebKit2CFLite.def:
15744 2012-02-06 Martin Robinson <mrobinson@igalia.com>
15746 [GTK] Add TextureMapperGL implementation
15747 https://bugs.webkit.org/show_bug.cgi?id=75308
15749 Reviewed by Alejandro G. Castro.
15751 Fix the WebKit2 + AC build for GTK+.
15753 * GNUmakefile.am: Add some missing source files.
15754 * UIProcess/DrawingAreaProxy.cpp:
15755 (WebKit): Add USE(TILED_BACKING_STORE) to the guard.
15756 * UIProcess/WebPageProxy.cpp:
15757 (WebKit::WebPageProxy::didReceiveMessage): Ditto.
15758 * WebProcess/WebPage/DrawingArea.h:
15759 (DrawingArea): Ditto.
15760 * WebProcess/WebPage/DrawingAreaImpl.cpp:
15762 * WebProcess/WebPage/DrawingAreaImpl.h:
15763 (DrawingAreaImpl): Ditto.
15765 2012-02-06 Martin Robinson <mrobinson@igalia.com>
15767 Fix some miscellaneous 'make dist' error for WebKitGTK+.
15769 * GNUmakefile.am: Do not distribute generated files.
15771 2012-02-06 Anders Carlsson <andersca@apple.com>
15773 Overlay scrollbars flash when window is simply activated
15774 https://bugs.webkit.org/show_bug.cgi?id=77911
15776 Reviewed by Kenneth Russell.
15778 * UIProcess/API/mac/WKView.mm:
15779 (-[WKView _updateWindowVisibility]):
15780 Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden.
15782 (-[WKView _windowDidOrderOffScreen:]):
15783 (-[WKView _windowDidOrderOnScreen:]):
15784 Call -[WKView updateWindowVisibility].
15786 * WebProcess/WebPage/WebPage.cpp:
15787 (WebKit::WebPage::setWindowIsVisible):
15788 Call FocusController::setContainingWindowIsVisible.
15790 2012-02-06 Martin Robinson <mrobinson@igalia.com>
15792 [GTK] Fix remaining errors in GTK+ WebKit2 API
15793 https://bugs.webkit.org/show_bug.cgi?id=77890
15795 Reviewed by Gustavo Noronha Silva.
15797 Fix some style issues in the GTK+ WebKit2 API section of the source code.
15799 * UIProcess/API/gtk/WebKitPrivate.h:
15800 * UIProcess/API/gtk/WebKitWebView.cpp:
15801 * UIProcess/API/gtk/tests/TestMain.h:
15803 2012-02-06 Matthew Delaney <mdelaney@apple.com>
15805 toDataURL() uses stale data after putImageData()
15806 https://bugs.webkit.org/show_bug.cgi?id=65767
15808 Reviewed by Chris Marrin.
15810 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
15811 (InitWebCoreSystemInterface):
15813 2012-02-06 Ryosuke Niwa <rniwa@webkit.org>
15815 gcc build fix after r106749.
15817 * UIProcess/WebPreferences.cpp:
15818 (WebKit::WebPreferences::WebPreferences):
15820 2012-02-06 Martin Robinson <mrobinson@igalia.com>
15822 [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
15823 https://bugs.webkit.org/show_bug.cgi?id=77743
15825 Reviewed by Gustavo Noronha Silva.
15827 Instead of resizing the guts of a WebView when it's not mapped, wait
15828 until it's mapped and do one resize. This prevents unmapped WebViews
15829 from adding to a container's resize cost.
15831 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
15832 (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap.
15833 (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper.
15834 (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews.
15835 (webkitWebViewBaseMap): Added this vmethod implementation.
15836 (webkit_web_view_base_class_init): Added vmethod.
15838 2012-02-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
15840 WebGestureEvent can not encode delta and area.
15841 https://bugs.webkit.org/show_bug.cgi?id=77728
15843 Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture.
15845 Reviewed by Kenneth Rohde Christiansen.
15847 * Shared/WebEvent.h:
15848 (WebKit::WebGestureEvent::area):
15849 (WebKit::WebGestureEvent::delta):
15850 * Shared/WebEventConversion.cpp:
15851 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
15852 * Shared/WebGestureEvent.cpp:
15853 (WebKit::WebGestureEvent::WebGestureEvent):
15854 (WebKit::WebGestureEvent::encode):
15855 (WebKit::WebGestureEvent::decode):
15856 * UIProcess/qt/QtWebPageEventHandler.cpp:
15857 (QtWebPageEventHandler::handleSingleTapEvent):
15859 2012-02-03 Zalan Bujtas <zbujtas@gmail.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
15861 [Qt][WK2] Remove TiledDrawingArea and dependencies.
15862 https://bugs.webkit.org/show_bug.cgi?id=71681
15864 Reviewed by Kenneth Rohde Christiansen.
15866 Tiled drawing surface functionality got converted to LayerTree.
15867 TiledDrawingArea and its dependencies are not used by any port anymore.
15871 * Shared/DrawingAreaInfo.h:
15873 * UIProcess/API/qt/qquickwebpage.cpp:
15874 (QQuickWebPagePrivate::QQuickWebPagePrivate):
15875 * UIProcess/API/qt/qquickwebpage_p.h:
15876 * UIProcess/API/qt/qquickwebpage_p_p.h:
15877 (QQuickWebPagePrivate):
15878 * UIProcess/DrawingAreaProxy.h:
15879 * UIProcess/DrawingAreaProxy.messages.in:
15880 * UIProcess/TiledDrawingAreaProxy.cpp: Removed.
15881 * UIProcess/TiledDrawingAreaProxy.h: Removed.
15882 * UIProcess/qt/QtSGTileNode.cpp: Removed.
15883 * UIProcess/qt/QtSGTileNode.h: Removed.
15884 * UIProcess/qt/QtSGUpdateQueue.cpp: Removed.
15885 * UIProcess/qt/QtSGUpdateQueue.h: Removed.
15886 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed.
15887 * WebProcess/WebPage/DrawingArea.cpp:
15888 (WebKit::DrawingArea::create):
15889 * WebProcess/WebPage/DrawingArea.h:
15890 * WebProcess/WebPage/DrawingArea.messages.in:
15891 * WebProcess/WebPage/TiledDrawingArea.cpp: Removed.
15892 * WebProcess/WebPage/TiledDrawingArea.h: Removed.
15893 * WebProcess/WebPage/WebPage.h:
15896 2012-02-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
15898 [Qt] Don't version QtWebKit.experimental.
15899 https://bugs.webkit.org/show_bug.cgi?id=77739
15901 Reviewed by Tor Arne Vestbø.
15903 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
15904 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
15905 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
15906 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
15907 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
15908 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
15909 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
15910 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
15911 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
15913 2012-02-06 Carlos Garcia Campos <cgarcia@igalia.com>
15915 [GTK] Fix several gtkdoc-fixxref warnings
15916 https://bugs.webkit.org/show_bug.cgi?id=77613
15918 Reviewed by Martin Robinson.
15920 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a
15921 colon was missing in WebKitWebView::ready-to-show.
15923 2012-02-05 Dan Bernstein <mitz@apple.com>
15925 <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
15926 https://bugs.webkit.org/show_bug.cgi?id=77823
15928 Reviewed by Anders Carlsson.
15930 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
15931 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15932 (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
15933 through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
15934 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15935 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15936 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
15937 bundle resource load client.
15939 2012-02-04 Dan Bernstein <mitz@apple.com>
15941 <rdar://problem/10660698> Clients cannot prevent caching of individual responses
15942 https://bugs.webkit.org/show_bug.cgi?id=77822
15944 Reviewed by Sam Weinig.
15946 * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
15947 WKBundlePageResourceLoadClient.
15948 * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
15949 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
15950 typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
15951 kWKBundlePageResourceLoadClientCurrentVersion to 1.
15952 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15953 (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
15954 to the client if it implements shouldCacheResponse. Returns true otherwise.
15955 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15956 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15957 (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
15958 InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
15960 (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
15961 InjectedBundlePageResourceLoadClient::shouldCacheResponse().
15963 2012-02-04 Sam Weinig <sam@webkit.org>
15965 Add ability to send WKURLRequests in WebKit2 API user messages
15966 https://bugs.webkit.org/show_bug.cgi?id=77819
15968 Reviewed by Anders Carlsson.
15970 Test: WebKit2UserMessageRoundTripTest API test.
15972 * Shared/UserMessageCoders.h:
15973 (WebKit::UserMessageEncoder::baseEncode):
15974 (WebKit::UserMessageDecoder::baseDecode):
15975 Add encode/decode for WebURLRequest.
15977 2012-02-04 Dan Bernstein <mitz@apple.com>
15979 <rdar://problem/10772406> WKPreferences instances cannot be copied
15980 https://bugs.webkit.org/show_bug.cgi?id=77816
15982 Reviewed by Sam Weinig.
15984 Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.
15986 * UIProcess/API/C/WKPreferences.cpp:
15987 (WKPreferencesCreateCopy): Added.
15988 * UIProcess/API/C/WKPreferencesPrivate.h:
15989 * UIProcess/WebPreferences.cpp:
15990 (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
15991 WebPreferencesStore of the given WebPreferences.
15992 * UIProcess/WebPreferences.h:
15993 (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
15994 instance and creates a new instance with a copy of the given instance’s store.
15996 2012-02-03 Anders Carlsson <andersca@apple.com>
15998 WebKit2 should dispatch wheel events to the new ScrollingTree class
15999 https://bugs.webkit.org/show_bug.cgi?id=77795
16001 Reviewed by Andreas Kling.
16003 Replace all uses of ScrollingCoordinator with ScrollingTree instead.
16004 Also, don't try to handle gesture events on the scrolling thread anymore;
16005 we don't need to to that right now.
16007 * WebProcess/WebPage/EventDispatcher.cpp:
16008 (WebKit::EventDispatcher::addScrollingTreeForPage):
16009 (WebKit::EventDispatcher::removeScrollingTreeForPage):
16010 (WebKit::EventDispatcher::wheelEvent):
16011 (WebKit::EventDispatcher::gestureEvent):
16012 * WebProcess/WebPage/EventDispatcher.h:
16015 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16016 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
16017 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
16019 2012-02-03 Alexey Proskuryakov <ap@apple.com>
16021 [WK2 Mac] No need to allow access to input methods or keyboard layouts
16022 https://bugs.webkit.org/show_bug.cgi?id=77775
16023 <rdar://problem/9276253>
16024 <rdar://problem/9276268>
16026 Reviewed by Dan Bernstein.
16028 * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
16029 of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
16032 2012-02-03 Alexey Proskuryakov <ap@apple.com>
16034 [WK2] Use properly quoted string literals
16035 https://bugs.webkit.org/show_bug.cgi?id=77583
16037 Reviewed by Darin Adler.
16039 Also added some FIXMEs.
16041 * WebProcess/com.apple.WebProcess.sb:
16043 2012-02-03 Brady Eidson <beidson@apple.com>
16045 <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
16046 Need a WK2 API to filter which subframes go into WebArchives as they are created.
16048 Reviewed by Darin Adler.
16050 Add a new WKBundleFrame API that takes a filter callback object to allow or reject
16051 subframes from a WebArchive:
16052 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16053 (WKBundleFrameCopyWebArchive):
16054 (WKBundleFrameCopyWebArchiveFilteringSubframes):
16055 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16057 Implement the above API by calling through to WebCore:
16058 * WebProcess/WebPage/WebFrame.cpp:
16060 (WebKit::WebFrameFilter::WebFrameFilter):
16061 (WebKit::WebFrameFilter::shouldIncludeSubframe):
16062 (WebKit::WebFrame::webArchiveData):
16063 * WebProcess/WebPage/WebFrame.h:
16066 * WebProcess/WebPage/WebPage.cpp:
16067 (WebKit::WebPage::getWebArchiveOfFrame):
16069 2012-02-03 Alexey Proskuryakov <ap@apple.com>
16071 [Mac WK2] Use a minimally invasive way to fake plug-in process name
16072 https://bugs.webkit.org/show_bug.cgi?id=77682
16074 Reviewed by Darin Adler.
16076 * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
16077 Only change the name as it's seen from within the process.
16079 * Shared/Plugins/PluginQuirks.h: Fixed a typo.
16081 2012-02-03 Beth Dakin <bdakin@apple.com>
16083 https://bugs.webkit.org/show_bug.cgi?id=77691
16084 Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use
16087 Reviewed by Andy Estes.
16089 toUserSpace() and toDeviceSpace() don't need to take device scale.
16090 * UIProcess/API/mac/WKView.mm:
16091 (-[WKView _convertToDeviceSpace:]):
16092 (-[WKView _convertToUserSpace:]):
16094 2012-02-03 No'am Rosenthal <noam.rosenthal@nokia.com>
16096 [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16097 https://bugs.webkit.org/show_bug.cgi?id=77148
16099 Reviewed by Martin Robinson.
16101 Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16102 Remove calls to unused API.
16104 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16105 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16106 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16107 (WebKit::LayerTreeHostProxy::createImage):
16108 (WebKit::LayerTreeHostProxy::ensureRootLayer):
16110 2012-02-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16112 [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
16113 https://bugs.webkit.org/show_bug.cgi?id=77632
16115 Reviewed by Kenneth Rohde Christiansen.
16117 Replace the runtime property setting the desktop behavior on each instance
16118 by a static boolean controlling the behavior used by future created WebViews.
16120 * UIProcess/API/qt/qquickwebpage.cpp:
16121 Let only setContentsSize control the size of the drawing area instead of deferring
16122 it until geometryChanged is called.
16123 (QQuickWebPagePrivate::QQuickWebPagePrivate):
16124 * UIProcess/API/qt/qquickwebpage_p.h:
16125 * UIProcess/API/qt/qquickwebpage_p_p.h:
16126 (QQuickWebPagePrivate):
16127 * UIProcess/API/qt/qquickwebview.cpp:
16128 (createPrivateObject):
16129 (QQuickWebViewPrivate::QQuickWebViewPrivate):
16130 (QQuickWebViewPrivate::~QQuickWebViewPrivate):
16131 (QQuickWebViewPrivate::initialize):
16132 (QQuickWebViewPrivate::processDidCrash):
16133 (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
16134 (QQuickWebViewLegacyPrivate::initialize):
16135 (QQuickWebViewLegacyPrivate::updateViewportSize):
16136 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
16137 (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
16138 (QQuickWebViewFlickablePrivate::initialize):
16139 (QQuickWebViewFlickablePrivate::loadDidCommit):
16140 (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
16141 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
16142 (QQuickWebViewFlickablePrivate::updateViewportSize):
16143 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
16144 (QQuickWebViewFlickablePrivate::_q_suspend):
16145 (QQuickWebViewFlickablePrivate::_q_resume):
16146 (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
16147 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
16148 (QQuickWebViewFlickablePrivate::computeViewportConstraints):
16149 (QQuickWebViewFlickablePrivate::PostTransitionState::apply):
16150 (QQuickWebViewExperimental::setFlickableViewportEnabled):
16151 The switch is now a static function that has to be called before a WebView
16152 is created. The switch can have it's default defined by the deploying platform.
16153 (QQuickWebViewExperimental::flickableViewportEnabled):
16154 (QQuickWebView::QQuickWebView):
16155 On creation of QQuickWebView, the static boolean is read to know if we want
16156 a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
16157 (QQuickWebView::geometryChanged):
16158 * UIProcess/API/qt/qquickwebview_p.h:
16159 * UIProcess/API/qt/qquickwebview_p_p.h:
16160 (QQuickWebViewPrivate):
16161 (QQuickWebViewPrivate::loadDidCommit):
16162 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
16163 (QQuickWebViewPrivate::didChangeViewportProperties):
16164 (QQuickWebViewPrivate::viewportInteractionEngine):
16165 (QQuickWebViewPrivate::updateViewportSize):
16166 (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16167 (QQuickWebViewPrivate::_q_suspend):
16168 (QQuickWebViewPrivate::_q_resume):
16169 (QQuickWebViewPrivate::pageDidRequestScroll):
16170 (QQuickWebViewPrivate::didChangeContentsSize):
16171 (QQuickWebViewLegacyPrivate):
16172 (QQuickWebViewFlickablePrivate):
16173 (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
16174 (PostTransitionState):
16175 (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
16176 * UIProcess/API/qt/qwebviewportinfo.cpp:
16177 (QWebViewportInfo::currentScale):
16178 (QWebViewportInfo::devicePixelRatio):
16179 (QWebViewportInfo::initialScale):
16180 (QWebViewportInfo::minimumScale):
16181 (QWebViewportInfo::maximumScale):
16182 (QWebViewportInfo::isScalable):
16183 (QWebViewportInfo::layoutSize):
16184 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
16185 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
16186 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
16187 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
16188 from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
16189 Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
16190 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
16191 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
16192 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
16193 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
16194 * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
16195 from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
16196 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
16197 Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
16198 The former runs without setFlickableViewportEnabled and the later does.
16199 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
16201 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
16202 * UIProcess/API/qt/tests/tests.pri:
16203 * UIProcess/qt/QtWebPageEventHandler.cpp:
16204 (QtWebPageEventHandler::QtWebPageEventHandler):
16206 2012-02-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16208 [Qt] Rename content* to contents* in QQuickWebPage.
16209 https://bugs.webkit.org/show_bug.cgi?id=77629
16211 Reviewed by Kenneth Rohde Christiansen.
16213 * UIProcess/API/qt/qquickwebpage.cpp:
16214 (QQuickWebPagePrivate::QQuickWebPagePrivate):
16215 (QQuickWebPagePrivate::paintToCurrentGLContext):
16216 (QQuickWebPage::setContentsSize):
16217 (QQuickWebPage::contentsSize):
16218 (QQuickWebPage::setContentsScale):
16219 (QQuickWebPage::contentsScale):
16220 (QQuickWebPage::transformToItem):
16221 (QQuickWebPagePrivate::updateSize):
16222 * UIProcess/API/qt/qquickwebpage_p.h:
16223 * UIProcess/API/qt/qquickwebpage_p_p.h:
16224 (QQuickWebPagePrivate):
16225 * UIProcess/API/qt/qquickwebview.cpp:
16226 (QQuickWebViewPrivate::didChangeContentsSize):
16227 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
16228 (QQuickWebViewPrivate::PostTransitionState::apply):
16229 * UIProcess/API/qt/qwebviewportinfo.cpp:
16230 (QWebViewportInfo::contentsSize):
16231 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
16232 (tst_QQuickWebView::scrollRequest):
16233 * UIProcess/qt/QtViewportInteractionEngine.cpp:
16234 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
16235 (WebKit::QtViewportInteractionEngine::event):
16236 (WebKit::QtViewportInteractionEngine::wheelEvent):
16237 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
16238 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
16239 (WebKit::QtViewportInteractionEngine::applyConstraints):
16240 (WebKit::QtViewportInteractionEngine::currentCSSScale):
16241 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
16242 (WebKit::QtViewportInteractionEngine::scaleContent):
16244 2012-02-03 Simon Hausmann <simon.hausmann@nokia.com>
16246 [Qt] Fix build when cross-compiling
16247 https://bugs.webkit.org/show_bug.cgi?id=77634
16249 Reviewed by Tor Arne Vestbø.
16251 * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
16252 is in use or not. More specifically this fixes the case where the makespace
16253 is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
16255 2012-02-03 Shinya Kawanaka <shinyak@google.com>
16257 Stop calling Element::ensureShadowRoot in Internals.
16258 https://bugs.webkit.org/show_bug.cgi?id=77612
16260 Reviewed by Hajime Morita.
16265 * win/WebKit2CFLite.def:
16267 2012-02-02 Sheriff Bot <webkit.review.bot@gmail.com>
16269 Unreviewed, rolling out r106620.
16270 http://trac.webkit.org/changeset/106620
16271 https://bugs.webkit.org/show_bug.cgi?id=77716
16273 It broke non ENABLE(3D_RENDERING) builds (Requested by
16274 Ossy_morning on #webkit).
16276 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16277 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16278 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16279 (WebKit::LayerTreeHostProxy::createImage):
16280 (WebKit::LayerTreeHostProxy::ensureRootLayer):
16282 2012-02-02 No'am Rosenthal <noam.rosenthal@nokia.com>
16284 [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16285 https://bugs.webkit.org/show_bug.cgi?id=77148
16287 Reviewed by Martin Robinson.
16289 Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16290 Remove calls to unused API.
16292 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16293 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16294 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16295 (WebKit::LayerTreeHostProxy::createImage):
16296 (WebKit::LayerTreeHostProxy::ensureRootLayer):
16298 2012-02-02 Jon Lee <jonlee@apple.com>
16300 Clear shown notifications when context is no longer active
16301 https://bugs.webkit.org/show_bug.cgi?id=77363
16302 <rdar://problem/10568907>
16304 Reviewed by Darin Adler.
16306 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16307 (WebKit::WebNotificationClient::clearNotifications): Forward the call to
16308 WebNotificationManager.
16309 * WebProcess/WebCoreSupport/WebNotificationClient.h:
16310 (WebNotificationClient):
16312 * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps
16313 all notifications associated with a given ScriptExecutionContext instance.
16314 * WebProcess/Notifications/WebNotificationManager.cpp:
16315 (WebKit::WebNotificationManager::show): Create a map entry for the notification's
16316 context if it doesn't exist already, and note that notification's ID. Also, correct
16317 the return value of show() if notifications are not enabled, to return false.
16318 (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed,
16319 we remove that notification from the map.
16320 (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given
16321 context, and pass that along to the proxy so that all of the notifications with those IDs
16322 can be cleared. In the meantime, we remove that context's map entry.
16324 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications()
16326 * UIProcess/Notifications/WebNotificationManagerProxy.h:
16327 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
16328 (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider.
16329 Then remove this proxy's entries for the given notification IDs.
16331 * UIProcess/Notifications/WebNotificationProvider.cpp:
16332 (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable
16334 * UIProcess/Notifications/WebNotificationProvider.h:
16335 (WebNotificationProvider):
16337 * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications.
16339 Remove the #if guard since they already exist in WebNotificationManager functions:
16340 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16341 (WebKit::WebNotificationClient::show):
16342 (WebKit::WebNotificationClient::cancel):
16343 (WebKit::WebNotificationClient::notificationObjectDestroyed):
16345 2012-02-02 Anders Carlsson <andersca@apple.com>
16347 NPAPI will not send mouse up events when mouse is outside plugin area
16348 https://bugs.webkit.org/show_bug.cgi?id=77657
16349 <rdar://problem/10160674>
16351 Reviewed by Andreas Kling.
16353 Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
16355 * WebProcess/Plugins/PluginView.cpp:
16356 (WebKit::PluginView::handleEvent):
16358 2012-02-02 Claudio Saavedra <csaavedra@igalia.com> and Martin Robinson <mrobinson@igalia.com>
16360 [GTK] WebKitWebView won't work in a GtkOffscreenWindow
16361 https://bugs.webkit.org/show_bug.cgi?id=76911
16363 Reviewed by Philippe Normand.
16365 * UIProcess/API/gtk/WebKitUIClient.cpp:
16366 (getWindowFrame): Use the new helper.
16367 * UIProcess/API/gtk/WebKitWebView.cpp:
16368 (webkitWebViewCreateJavaScriptDialog): Ditto
16369 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
16370 (webkitWebViewBaseRealize): Ditto.
16371 (webkitWebViewBaseSizeAllocate): Ditto.
16372 (webkitWebViewBaseFocusInEvent): Ditto.
16374 2012-02-01 Philippe Normand <pnormand@igalia.com>
16376 [GStreamer] FFTFrame implementation
16377 https://bugs.webkit.org/show_bug.cgi?id=73545
16379 Reviewed by Chris Rogers.
16381 * GNUmakefile.am: Remove libfftw compilation flags.
16383 2012-02-01 No'am Rosenthal <noam.rosenthal@nokia.com>
16385 [Texmap] Use glScissors for clipping in TextureMapperGL when possible
16386 https://bugs.webkit.org/show_bug.cgi?id=77575
16388 Reviewed by Martin Robinson.
16390 Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
16391 TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
16392 now cleaned out of QQuickWebPage.
16394 * UIProcess/API/qt/qquickwebpage.cpp:
16395 (QQuickWebPagePrivate::paintToCurrentGLContext):
16396 * UIProcess/DrawingAreaProxy.h:
16397 (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
16398 * UIProcess/DrawingAreaProxyImpl.cpp:
16399 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
16400 * UIProcess/DrawingAreaProxyImpl.h:
16401 (DrawingAreaProxyImpl):
16402 * UIProcess/LayerTreeHostProxy.h:
16403 (LayerTreeHostProxy):
16404 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16405 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16407 2012-02-01 Dan Bernstein <mitz@apple.com>
16409 WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
16410 https://bugs.webkit.org/show_bug.cgi?id=77505
16412 Reviewed by Darin Adler.
16414 * Shared/WebPageCreationParameters.cpp:
16415 (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
16416 (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
16417 * Shared/WebPageCreationParameters.h:
16418 (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
16419 * UIProcess/API/C/WKPage.cpp:
16420 (WKPageSetPaginationBehavesLikeColumns): Added this setter.
16421 (WKPageGetPaginationBehavesLikeColumns): Added this getter.
16422 * UIProcess/API/C/WKPagePrivate.h:
16423 * UIProcess/API/mac/WKBrowsingContextController.mm:
16424 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
16425 wrapper around WKPageSetPaginationBehavesLikeColumns.
16426 (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
16427 around WKPageGetPaginationBehavesLikeColumns.
16428 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
16429 * UIProcess/WebPageProxy.cpp:
16430 (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
16431 the value from the creation parameters.
16432 (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
16433 (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
16434 * UIProcess/WebPageProxy.h:
16435 (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
16436 * WebProcess/WebPage/WebPage.cpp:
16437 (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
16438 * WebProcess/WebPage/WebPage.h:
16439 * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
16441 2012-02-01 Anders Carlsson <andersca@apple.com>
16443 REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
16444 https://bugs.webkit.org/show_bug.cgi?id=77578
16445 <rdar://problem/10767174>
16447 Reviewed by Dan Bernstein.
16449 Resizing a window will always invalidate the window backing store, so make sure to set
16450 _data->_windowHasValidBackingStore to NO whenever that happens.
16452 * UIProcess/API/mac/WKView.mm:
16453 (-[WKView addWindowObserversForWindow:]):
16454 Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
16456 (-[WKView _windowDidMove:]):
16457 Call -[WKView _updateWindowAndViewFrames].
16459 (-[WKView _windowDidResize:]):
16460 Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
16462 2012-02-01 Beth Dakin <bdakin@apple.com>
16464 https://bugs.webkit.org/show_bug.cgi?id=77383
16465 Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
16466 -and corresponding-
16467 <rdar://problem/10709560>
16469 Reviewed by Sam Weinig.
16471 Machinery for didNewFirstVisuallNonEmptyLayout.
16472 * UIProcess/API/C/WKPage.h:
16473 * UIProcess/WebLoaderClient.cpp:
16474 (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
16476 * UIProcess/WebLoaderClient.h:
16478 * UIProcess/WebPageProxy.cpp:
16479 (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
16481 * UIProcess/WebPageProxy.h:
16483 * UIProcess/WebPageProxy.messages.in:
16484 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
16485 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
16487 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
16488 (WebFrameLoaderClient):
16490 This temporary API allows the client to specify the threshold for the painted
16491 objects counter on Page. This is temporary.
16492 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16493 (WKBundlePageSetPaintedObjectsCounterThreshold):
16494 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
16495 * WebProcess/WebPage/WebPage.cpp:
16496 (WebKit::WebPage::setPaintedObjectsCounterThreshold):
16498 * WebProcess/WebPage/WebPage.h:
16501 2012-01-31 Alexey Proskuryakov <ap@apple.com>
16503 REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
16504 https://bugs.webkit.org/show_bug.cgi?id=77473
16505 <rdar://problem/10751357>
16507 Reviewed by Darin Adler.
16509 * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
16512 2012-01-31 Alexey Proskuryakov <ap@apple.com>
16514 PluginProcess should be able to use remote open and save panels
16515 https://bugs.webkit.org/show_bug.cgi?id=77461
16516 <rdar://problem/10783615>
16518 Reviewed by Mark Rowe.
16520 * PluginProcess/mac/PluginProcess.entitlements: Added.
16521 * PluginProcess/mac/add-entitlements.sh: Added.
16522 * WebKit2.xcodeproj/project.pbxproj:
16523 Add appropriate entitlement, plus ad hoc binary signing for it to work.
16525 2012-01-31 Allan Sandfeld Jensen <allan.jensen@nokia.com>
16527 Ensure tiles are repainted when scrolling using mouse wheel.
16528 https://bugs.webkit.org/show_bug.cgi?id=77339
16530 A new slot visibleContentRectAndScaleChanged has been added
16531 that is emited by non-animated scrolling code in the
16532 QtViewportInteractionEngine.
16534 Reviewed by Kenneth Rohde Christiansen.
16536 * UIProcess/API/qt/qquickwebview.cpp:
16537 (QQuickWebViewPrivate::initializeDesktop):
16538 (QQuickWebViewPrivate::initializeTouch):
16539 (QQuickWebViewPrivate::_q_resume):
16540 (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16541 (QQuickWebViewPrivate::updateTouchViewportSize):
16542 * UIProcess/API/qt/qquickwebview_p.h:
16543 * UIProcess/API/qt/qquickwebview_p_p.h:
16544 (QQuickWebViewPrivate):
16545 * UIProcess/qt/QtViewportInteractionEngine.cpp:
16546 (WebKit::QtViewportInteractionEngine::wheelEvent):
16547 * UIProcess/qt/QtViewportInteractionEngine.h:
16548 (QtViewportInteractionEngine):
16550 2012-01-31 Zeno Albisser <zeno@webkit.org>
16552 [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
16553 https://bugs.webkit.org/show_bug.cgi?id=77417
16555 Make the UIProcess decide about the encoding and display
16556 a warning in case no encoding was defined.
16557 Make the QQuickNetworkReply store a QWeakPointer to the
16558 QQuickWebViewExperimental to get rid of hackish chain of parental queries.
16560 Reviewed by Simon Hausmann.
16562 * UIProcess/API/qt/qquicknetworkreply.cpp:
16563 (QQuickNetworkReply::send):
16564 (QQuickNetworkReply::setWebViewExperimental):
16565 * UIProcess/API/qt/qquicknetworkreply_p.h:
16566 * UIProcess/API/qt/qquickwebview.cpp:
16567 (QQuickWebViewExperimental::schemeDelegates_Append):
16568 * WebProcess/qt/QtNetworkReply.cpp:
16569 (WebKit::QtNetworkReply::QtNetworkReply):
16570 (WebKit::QtNetworkReply::setReplyData):
16572 2012-01-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16574 [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
16575 https://bugs.webkit.org/show_bug.cgi?id=77362
16577 Reviewed by Noam Rosenthal.
16579 This fixes crashes seen in layout tests under certain timing circumstances
16580 that appeared after r106109 was landed.
16582 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
16583 (WebCore::WebGraphicsLayer::replaceChild):
16584 (WebCore::WebGraphicsLayer::removeFromParent):
16586 2012-01-30 Beth Dakin <bdakin@apple.com>
16588 https://bugs.webkit.org/show_bug.cgi?id=77263
16589 PlatformScreenMac should not rely on NSWindow for important bits of data
16591 Reviewed by Geoff Garen.
16593 toUserSpace() and toDeviceSpace() now take a parameter for the
16595 * UIProcess/API/mac/WKView.mm:
16596 (-[WKView _convertToDeviceSpace:]):
16597 (-[WKView _convertToUserSpace:]):
16599 2012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16601 [Qt] WKTR: Use a software rendering pipiline when running tests.
16602 https://bugs.webkit.org/show_bug.cgi?id=76708
16604 Reviewed by Kenneth Rohde Christiansen.
16606 Animation layout tests require the graphics layers tree to be updated
16607 to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16608 prevents the rendering pipeline to run and then in turn blocks the web
16609 process from processing further graphics layer updates.
16611 This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16612 message queue and render the layers in software on an offscreen buffer.
16614 * UIProcess/API/qt/qquickwebpage.cpp:
16615 (QQuickWebPagePrivate::paint):
16616 * UIProcess/API/qt/qquickwebview.cpp:
16617 (QQuickWebViewPrivate::QQuickWebViewPrivate):
16618 (QQuickWebViewPrivate::setNeedsDisplay):
16619 (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16620 (QQuickWebViewExperimental::renderToOffscreenBuffer):
16621 * UIProcess/API/qt/qquickwebview_p.h:
16622 * UIProcess/API/qt/qquickwebview_p_p.h:
16623 (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16624 (QQuickWebViewPrivate::renderToOffscreenBuffer):
16625 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16626 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16628 2012-01-30 Andras Becsi <andras.becsi@nokia.com>
16630 [Qt][WK2] Render layers do not get flushed when the scroll animation finishes
16631 https://bugs.webkit.org/show_bug.cgi?id=77338
16633 Reviewed by Noam Rosenthal.
16635 Schedule a layer flush when setting the visible content rect and scale.
16637 Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16639 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
16640 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
16642 2012-01-30 Carlos Garcia Campos <cgarcia@igalia.com>
16644 Unreviewed. Fix make distcheck.
16646 * GNUmakefile.am: Add missing files.
16647 * WebProcess/WebPage/TapHighlightController.cpp: Add #if
16648 ENABLE(TOUCH_EVENTS).
16650 2012-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
16652 Unreviewed, rolling out r106022.
16653 http://trac.webkit.org/changeset/106022
16654 https://bugs.webkit.org/show_bug.cgi?id=77305
16656 It broke Qt-WK2 API tests (Requested by Ossy_weekend on
16659 * UIProcess/API/qt/qquickwebview.cpp:
16660 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16661 (QQuickWebView::geometryChanged):
16662 * UIProcess/API/qt/qquickwebview_p.h:
16663 * UIProcess/API/qt/qwebviewportinfo.cpp:
16664 (QWebViewportInfo::currentScale):
16665 (QWebViewportInfo::devicePixelRatio):
16666 (QWebViewportInfo::initialScale):
16667 (QWebViewportInfo::minimumScale):
16668 (QWebViewportInfo::maximumScale):
16669 (QWebViewportInfo::isScalable):
16670 (QWebViewportInfo::layoutSize):
16672 2012-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
16674 Unreviewed, rolling out r106109.
16675 http://trac.webkit.org/changeset/106109
16676 https://bugs.webkit.org/show_bug.cgi?id=77302
16678 It made tests crash (Requested by Ossy_weekend on #webkit).
16680 * UIProcess/API/qt/qquickwebpage.cpp:
16681 * UIProcess/API/qt/qquickwebpage_p_p.h:
16682 (QQuickWebPagePrivate):
16683 * UIProcess/API/qt/qquickwebview.cpp:
16684 (QQuickWebViewPrivate::QQuickWebViewPrivate):
16685 * UIProcess/API/qt/qquickwebview_p.h:
16686 * UIProcess/API/qt/qquickwebview_p_p.h:
16687 (QQuickWebViewPrivate):
16688 * UIProcess/DrawingAreaProxy.h:
16689 * UIProcess/DrawingAreaProxyImpl.cpp:
16690 * UIProcess/DrawingAreaProxyImpl.h:
16691 (DrawingAreaProxyImpl):
16692 * UIProcess/LayerTreeHostProxy.h:
16693 (LayerTreeHostProxy):
16694 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16695 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16696 * UIProcess/qt/QtPageClient.cpp:
16697 (QtPageClient::setViewNeedsDisplay):
16699 2012-01-27 Fady Samuel <fsamuel@chromium.org>
16701 Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
16702 https://bugs.webkit.org/show_bug.cgi?id=76459
16704 Reviewed by Darin Fisher.
16707 * win/WebKit2CFLite.def:
16709 2012-01-27 Martin Robinson <mrobinson@igalia.com>
16711 Fix a compilation warning in a WebKit2 GTK+ API test.
16713 Reviewed by Gustavo Noronha Silva.
16715 * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
16716 (testBackForwardListLimitAndCache): Use an int instead of size_t
16717 because we want to print them as ints and do subtraction on them.
16719 2012-01-27 Martin Robinson <mrobinson@igalia.com>
16721 [GTK] [WK2] Implement the policy client
16722 https://bugs.webkit.org/show_bug.cgi?id=76343
16724 Reviewed by Gustavo Noronha Silva.
16726 Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision,
16727 and add the decide-policy signal to WebKitWebView.
16729 * GNUmakefile.am: Add new files to the source list.
16730 * UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because
16731 of changes to ASSERT_MATCHING_ENUMS.
16732 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added.
16733 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added.
16734 * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added.
16735 * UIProcess/API/gtk/WebKitPolicyClient.cpp: Added.
16736 * UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added.
16737 * UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added.
16738 * UIProcess/API/gtk/WebKitPolicyDecision.h: Added.
16739 * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added.
16740 * UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make
16741 it useful for non-WebCore enums.
16742 * UIProcess/API/gtk/WebKitWebView.cpp:
16743 (webkitWebViewConstructed): Attach the policy client callbacks to the page.
16744 (webkit_web_view_class_init): Add the decide-policy signal definition.
16745 (webkitWebViewMakePolicyDecision): Added this private method to fire the signal.
16746 * UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list.
16747 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration.
16748 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs.
16749 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
16750 * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list.
16751 * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added.
16752 * UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature.
16754 2012-01-27 Ada Chan <adachan@apple.com>
16756 Add API to get the parent frame in WKBundleFrameRef
16757 https://bugs.webkit.org/show_bug.cgi?id=77161
16759 Reviewed by Anders Carlsson.
16761 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16762 (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
16763 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16764 * WebProcess/WebPage/WebFrame.cpp:
16765 (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
16766 Otherwise, return the owner element's frame.
16767 * WebProcess/WebPage/WebFrame.h:
16769 2012-01-27 Gustavo Noronha Silva <gns@gnome.org>
16771 [GTK] Sometimes fails to build when using make -j
16772 https://bugs.webkit.org/show_bug.cgi?id=77226
16774 Reviewed by Martin Robinson.
16776 * GNUmakefile.am: use a different name for the scripts used to
16777 generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
16780 2012-01-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16782 Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
16783 https://bugs.webkit.org/show_bug.cgi?id=77220
16785 Reviewed by Noam Rosenthal.
16787 * WebProcess/InjectedBundle/InjectedBundle.cpp:
16788 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
16790 2012-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
16792 [GTK] Add a GKeyFile especialization to GOwnPtr
16793 https://bugs.webkit.org/show_bug.cgi?id=77191
16795 Reviewed by Martin Robinson.
16797 * Shared/gtk/ArgumentCodersGtk.cpp:
16798 (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
16799 (CoreIPC::encode): Ditto.
16800 (CoreIPC::decode): Ditto.
16802 2012-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
16804 [Qt] Fade out tap highlighting when starting to pan
16805 https://bugs.webkit.org/show_bug.cgi?id=77202
16807 Reviewed by Simon Hausmann.
16809 Basically we need to fade out the potential tap highlighting
16810 when ever the gesture recognition fails or another gesture
16811 is recognized. We do that with this change.
16813 * UIProcess/qt/QtTapGestureRecognizer.cpp:
16814 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
16815 (WebKit::QtTapGestureRecognizer::recognize):
16816 (WebKit::QtTapGestureRecognizer::reset):
16818 Remove reset as it does nothing but call code before the
16819 event handler is installed.
16821 2012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16823 [Qt] WKTR: Use a software rendering pipiline when running tests.
16824 https://bugs.webkit.org/show_bug.cgi?id=76708
16826 Reviewed by Kenneth Rohde Christiansen.
16828 Animation layout tests require the graphics layers tree to be updated
16829 to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16830 prevents the rendering pipeline to run and then in turn blocks the web
16831 process from processing further graphics layer updates.
16833 This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16834 message queue and render the layers in software on an offscreen buffer.
16836 * UIProcess/API/qt/qquickwebpage.cpp:
16837 (QQuickWebPagePrivate::paint):
16838 * UIProcess/API/qt/qquickwebview.cpp:
16839 (QQuickWebViewPrivate::QQuickWebViewPrivate):
16840 (QQuickWebViewPrivate::setNeedsDisplay):
16841 (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16842 (QQuickWebViewExperimental::renderToOffscreenBuffer):
16843 * UIProcess/API/qt/qquickwebview_p.h:
16844 * UIProcess/API/qt/qquickwebview_p_p.h:
16845 (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16846 (QQuickWebViewPrivate::renderToOffscreenBuffer):
16847 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16848 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16850 2012-01-27 Simon Hausmann <simon.hausmann@nokia.com>
16852 [Qt] Re-creating QQuickWebView starts new web process every time
16853 https://bugs.webkit.org/show_bug.cgi?id=77194
16855 Reviewed by Kenneth Rohde Christiansen.
16857 Since the WebKit::WebContext is never fully destructed due to circular
16858 references, we should use the real shared context instead of re-creating
16859 a new WebContext every time.
16861 * UIProcess/qt/QtWebContext.cpp:
16862 (WebKit::QtWebContext::defaultContext):
16864 2012-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
16866 [GTK] Add basic printing support to WebKit2
16867 https://bugs.webkit.org/show_bug.cgi?id=76172
16869 Reviewed by Gustavo Noronha Silva.
16871 * GNUmakefile.am: Add new files to compilation.
16872 * Shared/PrintInfo.cpp:
16873 (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
16874 GtkPageSetup for the GTK+ port.
16875 (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
16876 GtkPageSetup for the GTK+ port.
16877 * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
16879 * Shared/gtk/ArgumentCodersGtk.cpp:
16880 (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
16881 a DataReference object.
16882 (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
16883 a DataReference object.
16884 (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
16885 the GKeyFile representation.
16886 (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
16887 the GKeyFile representation.
16888 * Shared/gtk/ArgumentCodersGtk.h:
16889 * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
16890 (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
16891 takes GtkPrintSettings and GtkPageSetup instances.
16892 * UIProcess/WebPageProxy.cpp:
16893 (WebKit::WebPageProxy::drawPagesForPrinting): Send
16894 DrawPagesForPrinting message to Web process to start printing.
16895 * UIProcess/WebPageProxy.h:
16896 * WebProcess/WebPage/WebPage.cpp:
16897 (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
16898 (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
16900 (WebKit::WebPage::drawPagesForPrinting): Start printing pages.
16901 * WebProcess/WebPage/WebPage.h:
16902 * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
16903 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
16904 (WebKit::PrintPagesData::PrintPagesData): Struct to store all data
16905 used to render pages for printing.
16906 (WebKit::PrintPagesData::incrementPageSequence): Helper function
16907 to increment the page sequence.
16908 (WebKit::WebPrintOperationGtk::create): Create a
16909 WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
16911 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
16912 (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
16913 (WebKit::WebPrintOperationGtk::pageCount): Return the total pages
16914 of the document to print.
16915 (WebKit::WebPrintOperationGtk::rotatePage): Helper function to
16916 transform the context according to orientation.
16917 (WebKit::WebPrintOperationGtk::renderPage): Render the given page
16918 into the printing context.
16919 (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
16921 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
16922 called when printPagesIdle finishes.
16923 (WebKit::WebPrintOperationGtk::printDone): Helper function to
16924 finish the print operation, called when all pages have been rendered.
16925 (WebKit::WebPrintOperationGtk::print): Start printing the document
16926 using the given cairo surface.
16927 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
16928 (WebKit::WebPrintOperationGtk::printSettings):
16929 (WebKit::WebPrintOperationGtk::pageSetup):
16930 (WebKit::WebPrintOperationGtk::pagesToPrint):
16931 (WebKit::WebPrintOperationGtk::pageRanges):
16932 (WebKit::WebPrintOperationGtk::pageRangesCount):
16934 2012-01-26 Tim Horton <hortont424@gmail.com>
16936 3D transformed elements hide when showing the print dialog
16937 https://bugs.webkit.org/show_bug.cgi?id=45894
16938 <rdar://problem/7441593>
16940 Reviewed by Andy Estes.
16942 Suspend updates of the compositing layer tree while printing is taking place,
16943 preventing on-screen layers from moving to their print-mode positions.
16945 * WebProcess/WebPage/WebPage.cpp:
16946 (WebKit::WebPage::beginPrinting):
16947 (WebKit::WebPage::endPrinting):
16948 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
16949 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
16950 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
16951 (WebKit::LayerTreeHostCAMac::forceRepaint):
16952 (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):
16954 2012-01-26 Andras Becsi <andras.becsi@nokia.com>
16956 [Qt][WK2] Add the componentComplete method to WebView
16957 https://bugs.webkit.org/show_bug.cgi?id=77111
16959 Reviewed by Kenneth Rohde Christiansen.
16961 Move the touch/desktop initialization to componentComplete.
16962 Also return valid default values in the viewport info functions
16963 if the interaction engine is not yet initialized because the
16964 viewport info component could finish initialization earlier
16965 than the WebView, which results in QML warnings during MiniBrowser
16968 * UIProcess/API/qt/qquickwebview.cpp:
16969 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16970 (QQuickWebView::geometryChanged):
16971 (QQuickWebView::componentComplete):
16972 * UIProcess/API/qt/qquickwebview_p.h:
16973 * UIProcess/API/qt/qwebviewportinfo.cpp:
16974 (QWebViewportInfo::currentScale):
16975 (QWebViewportInfo::devicePixelRatio):
16976 (QWebViewportInfo::initialScale):
16977 (QWebViewportInfo::minimumScale):
16978 (QWebViewportInfo::maximumScale):
16979 (QWebViewportInfo::isScalable):
16980 (QWebViewportInfo::layoutSize):
16982 2012-01-26 Anders Carlsson <andersca@apple.com>
16984 WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
16985 https://bugs.webkit.org/show_bug.cgi?id=77123
16987 Reviewed by Beth Dakin.
16989 * Shared/WebEvent.h:
16991 * Shared/mac/WebEventFactory.mm:
16992 (WebKit::phaseForEvent):
16994 2012-01-26 Andras Becsi <andras.becsi@nokia.com>
16996 ASSERT(!m_overlay) reached in TapHighlightController.cpp:73
16997 https://bugs.webkit.org/show_bug.cgi?id=77117
16999 Reviewed by Tor Arne Vestbø.
17001 The PageOverlay does only get uninstalled after the fade-out animation finishes,
17002 so do not assert on !m_overlay after the uninstallPageOverlay call.
17004 * WebProcess/WebPage/TapHighlightController.cpp:
17005 (WebKit::TapHighlightController::hideHighlight):
17007 2012-01-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
17009 WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap
17010 https://bugs.webkit.org/show_bug.cgi?id=77109
17012 Reviewed by Andreas Kling.
17014 Fix build for Clang.
17016 * Shared/WebPreferencesStore.cpp:
17018 (WebKit::boolTestRunnerOverridesMap):
17019 (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17020 (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17021 (WebKit::WebPreferencesStore::getBoolValueForKey):
17023 2012-01-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
17025 Implement overridePreference for boolean preferences in WebKitTestRunner
17026 https://bugs.webkit.org/show_bug.cgi?id=77033
17028 Reviewed by Alexey Proskuryakov.
17030 Implement a way to WebKitTestRunner override preferences for the pages
17031 loaded. Follows the same approach taken by
17032 overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many
17035 Preferences are stored in the UI process using WebPreferencesStore, and when
17036 there's a change, this data is sent to Web process, triggering
17037 WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's
17038 data to the WebCore::Settings object.
17040 The overridePreference() is executed on the Web process, and set the preferences
17041 without communicating to the UI process. The overriden preferences are stored in
17042 a static map and WebPreferencesStore query this map before returning the values
17043 of each preference. This static map is used only on the Web process.
17045 To clear the overrides we need to clear the map. Since WTR only sets preferences
17046 when resetting the page, we hook the clearing at WebPage::preferencesDidChange().
17047 A WKPreferences private function was exposed to WTR force the update, in case
17048 there's no effective change at UI process (all the properties remains the same).
17050 This clearing could be improved by creating a proper message instead of hooking
17051 at WebPage::preferencesDidChange().
17053 * Shared/WebPreferencesStore.cpp:
17054 (WebKit::WebPreferencesStore::decode):
17055 (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17056 (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17057 (WebKit::WebPreferencesStore::getBoolValueForKey):
17058 * Shared/WebPreferencesStore.h:
17059 * UIProcess/API/C/WKPreferences.cpp:
17060 (WKPreferencesResetTestRunnerOverrides):
17061 * UIProcess/API/C/WKPreferencesPrivate.h:
17062 * UIProcess/WebPreferences.h:
17063 (WebKit::WebPreferences::forceUpdate):
17064 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17065 (WKBundleOverrideBoolPreferenceForTestRunner):
17066 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17067 * WebProcess/InjectedBundle/InjectedBundle.cpp:
17068 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
17069 (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
17070 * WebProcess/InjectedBundle/InjectedBundle.h:
17072 2012-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
17074 [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms
17075 https://bugs.webkit.org/show_bug.cgi?id=77097
17077 Reviewed by Martin Robinson.
17079 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
17080 (WebKit::WebEditorClient::respondToChangedSelection): Call
17081 setSelectionPrimaryClipboardIfNeeded() to update primary clipboard
17083 * WebProcess/WebCoreSupport/WebEditorClient.h:
17084 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
17085 (WebKit::collapseSelection): Callback called when clearing
17086 clipboard contents.
17087 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
17088 Updaye primary clipboard with the current selection.
17090 2012-01-26 Zeno Albisser <zeno@webkit.org>
17092 [Qt][WK2] Use QVariant for payload data in application URL schemes.
17093 https://bugs.webkit.org/show_bug.cgi?id=77007
17095 Make application schemes use QVariant for payload data.
17096 This allows passing QByteArrays as well as simple String data.
17098 Remove unneeded http header parts that were exposed in
17099 QQuickNetworkReply.
17101 Add ByteArrayTestData class to allow injecting QByteArray
17102 data into an application scheme handler for testing.
17104 Reviewed by Simon Hausmann.
17106 * Shared/qt/QtNetworkReplyData.cpp:
17107 (WebKit::QtNetworkReplyData::QtNetworkReplyData):
17108 (WebKit::QtNetworkReplyData::encode):
17109 (WebKit::QtNetworkReplyData::decode):
17110 * Shared/qt/QtNetworkReplyData.h:
17111 * UIProcess/API/qt/qquicknetworkreply.cpp:
17112 (QQuickNetworkReply::QQuickNetworkReply):
17113 (QQuickNetworkReply::data):
17114 (QQuickNetworkReply::setData):
17115 (QQuickNetworkReply::send):
17116 * UIProcess/API/qt/qquicknetworkreply_p.h:
17117 * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added.
17118 (ByteArrayTestData::ByteArrayTestData):
17119 (ByteArrayTestData::latin1Data):
17120 (ByteArrayTestData::utf8Data):
17121 * UIProcess/API/qt/tests/bytearraytestdata.h: Added.
17122 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17123 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
17125 * UIProcess/API/qt/tests/tests.pri:
17126 * WebProcess/qt/QtNetworkReply.cpp:
17127 (WebKit::QtNetworkReply::setReplyData):
17128 * WebProcess/qt/QtNetworkReply.h:
17130 2012-01-26 Thiago Marcos P. Santos <tmpsantos@gmail.com>
17132 [Qt] Fixed build when using force_static_libs_as_shared
17133 https://bugs.webkit.org/attachment.cgi?bugid=77082
17135 Reviewed by Simon Hausmann.
17139 2012-01-26 Nándor Huszka <huszka.nandor@stud.u-szeged.hu>
17141 [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
17142 https://bugs.webkit.org/show_bug.cgi?id=42545
17144 Reviewed by Zoltan Herczeg.
17146 Implement the setGeolocationPermission method.
17148 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17149 (WKBundleSetGeolocationPermission):
17150 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17151 * WebProcess/InjectedBundle/InjectedBundle.cpp:
17152 (WebKit::InjectedBundle::setGeoLocationPermission):
17154 * WebProcess/InjectedBundle/InjectedBundle.h:
17157 2012-01-25 Mark Rowe <mrowe@apple.com>
17159 Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
17161 <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
17163 Reviewed by David Kilzer.
17165 * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains
17166 the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to
17167 the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
17168 UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks
17169 directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
17171 * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17172 * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17173 Always set the framework's install name based on the normal framework location. This prevents
17174 an incorrect install name from being used when installing in to the staged frameworks directory.
17175 * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17177 2012-01-25 No'am Rosenthal <noam.rosenthal@nokia.com>
17179 [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413
17180 https://bugs.webkit.org/show_bug.cgi?id=76886
17182 Reviewed by Kenneth Rohde Christiansen.
17184 We now render the whole layer if it or one if its ancestors has an active transform
17185 animations. It's possible to optimize further in the future, but not currently necessary.
17186 Also, we make sure that when a WebGraphicsLayer's property that affects transformation is
17187 changed, all its descandants layers are marked as modified so that we re-adjust their
17188 visible rect in the next pass.
17190 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
17191 (WebCore::WebGraphicsLayer::notifyChangeRecursively):
17193 (WebCore::WebGraphicsLayer::setPosition):
17194 (WebCore::WebGraphicsLayer::setAnchorPoint):
17195 (WebCore::WebGraphicsLayer::setSize):
17196 (WebCore::WebGraphicsLayer::setTransform):
17197 (WebCore::WebGraphicsLayer::setChildrenTransform):
17198 (WebCore::WebGraphicsLayer::setPreserves3D):
17199 (WebCore::WebGraphicsLayer::setMasksToBounds):
17200 (WebCore::WebGraphicsLayer::addAnimation):
17201 (WebCore::WebGraphicsLayer::removeAnimation):
17202 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
17203 (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations):
17204 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
17205 (WebGraphicsLayer):
17207 2012-01-25 Hajime Morita <morrita@google.com>
17209 ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
17210 https://bugs.webkit.org/show_bug.cgi?id=76863
17212 Reviewed by Dimitri Glazkov.
17214 Added a feature flag.
17216 * Configurations/FeatureDefines.xcconfig:
17218 2012-01-25 Martin Robinson <mrobinson@igalia.com>
17220 [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions
17221 https://bugs.webkit.org/show_bug.cgi?id=76344
17223 Reviewed by Sam Weinig.
17225 When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton.
17226 This ensures that when there is no mouse event associated with the action, when the event
17227 hits the client-API layer, the button is still NoButton.
17229 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
17230 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton
17231 to WebMouseEvent::NoButton.
17233 2012-01-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
17235 [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
17236 https://bugs.webkit.org/show_bug.cgi?id=76914
17238 Reviewed by Simon Hausmann.
17240 Implement tap highlighting for Qt. When a touch press is issued,
17241 which is not handled by the web page, then we highlight any
17242 activatable node below. In all otehr cases, we hide any highlights.
17244 The highlighting itself is painted on an accelerated PageOverlay,
17245 on the web process side.
17248 * UIProcess/WebPageProxy.cpp:
17249 (WebKit::WebPageProxy::handlePotentialActivation):
17250 * UIProcess/WebPageProxy.h:
17251 * UIProcess/qt/QtTapGestureRecognizer.cpp:
17252 (WebKit::QtTapGestureRecognizer::recognize):
17253 * UIProcess/qt/QtWebPageEventHandler.cpp:
17254 (QtWebPageEventHandler::handlePotentialSingleTapEvent):
17255 * UIProcess/qt/QtWebPageEventHandler.h:
17256 * WebProcess/WebPage/TapHighlightController.cpp: Added.
17257 (WebKit::TapHighlightController::TapHighlightController):
17258 (WebKit::TapHighlightController::~TapHighlightController):
17259 (WebKit::TapHighlightController::highlight):
17260 (WebKit::TapHighlightController::hideHighlight):
17261 (WebKit::TapHighlightController::pageOverlayDestroyed):
17262 (WebKit::TapHighlightController::willMoveToWebPage):
17263 (WebKit::TapHighlightController::didMoveToWebPage):
17264 (WebKit::highlightColor):
17265 (WebKit::TapHighlightController::drawRect):
17266 (WebKit::TapHighlightController::mouseEvent):
17267 * WebProcess/WebPage/TapHighlightController.h: Added.
17268 * WebProcess/WebPage/WebPage.cpp:
17269 (WebKit::WebPage::WebPage):
17270 (WebKit::WebPage::highlightPotentialActivation):
17271 * WebProcess/WebPage/WebPage.h:
17272 (WebKit::WebPage::tapHighlightController):
17273 * WebProcess/WebPage/WebPage.messages.in:
17275 2012-01-25 Nándor Huszka <huszka.nandor@stud.u-szeged.hu>
17277 [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled
17278 https://bugs.webkit.org/show_bug.cgi?id=63458
17280 Reviewed by Adam Roben.
17282 Implement the setPopupBlockingEnabled method.
17284 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17285 (WKBundleSetPrivateBrowsingEnabled):
17286 (WKBundleSetPopupBlockingEnabled):
17287 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17288 * WebProcess/InjectedBundle/InjectedBundle.cpp:
17289 (WebKit::InjectedBundle::setPopupBlockingEnabled):
17290 * WebProcess/InjectedBundle/InjectedBundle.h:
17292 2012-01-25 Yael Aharon <yael.aharon@nokia.com>
17294 [Qt] Build fix when using force_static_libs_as_shared
17295 https://bugs.webkit.org/show_bug.cgi?id=76832
17297 Reviewed by Simon Hausmann.
17299 Add a dependency on QtWidgets.
17303 2012-01-24 Sergio Villar Senin <svillar@igalia.com>
17305 [WK2] FindController should not assume that ports do not want to highlight text matches
17306 https://bugs.webkit.org/show_bug.cgi?id=76921
17308 Reviewed by Darin Adler.
17310 FindController must obey the FindOptionsShowHighlight flag instead
17311 of assuming that ports do not want to highlight search matches.
17313 * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight.
17314 * Shared/API/c/WKSharedAPICast.h:
17315 (WebKit::toFindOptions): Ditto.
17316 * Shared/WebFindOptions.h: added FindOptionsShowHighlight.
17317 * WebProcess/WebPage/FindController.cpp:
17318 (WebKit::FindController::findString):
17320 2012-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
17322 [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API
17323 https://bugs.webkit.org/show_bug.cgi?id=76899
17325 Reviewed by Martin Robinson.
17327 * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from
17328 Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp.
17329 (didStartProvisionalLoadForFrame): Use clientInfo instead fo
17330 getting the view from the page.
17331 (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
17332 (didFailProvisionalLoadWithErrorForFrame): Ditto.
17333 (didCommitLoadForFrame): Ditto.
17334 (didFinishLoadForFrame): Ditto.
17335 (didFailLoadWithErrorForFrame): Ditto.
17336 (didSameDocumentNavigationForFrame): Ditto.
17337 (didReceiveTitleForFrame): Ditto.
17338 (didChangeProgress): Ditto.
17339 (didChangeBackForwardList): Ditto.
17340 (attachLoaderClientToView): Pass WebKitWebView as clientInfo to
17342 * UIProcess/API/gtk/WebKitLoaderClient.h: Added.
17343 * UIProcess/API/gtk/WebKitUIClient.cpp:
17344 (createNewPage): Use clientInfo instead fo getting the view from
17347 (closePage): Ditto.
17348 (runJavaScriptAlert): Ditto.
17349 (runJavaScriptConfirm): Ditto.
17350 (runJavaScriptPrompt): Ditto.
17351 (toolbarsAreVisible): Ditto.
17352 (setToolbarsAreVisible): Ditto.
17353 (menuBarIsVisible): Ditto.
17354 (setMenuBarIsVisible): Ditto.
17355 (statusBarIsVisible): Ditto.
17356 (setStatusBarIsVisible): Ditto.
17357 (isResizable): Ditto.
17358 (setIsResizable): Ditto.
17359 (getWindowFrame): Ditto.
17360 (setWindowFrame): Ditto.
17361 (attachUIClientToView): Pass WebKitWebView as clientInfo to
17363 * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate.
17364 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed.
17365 * UIProcess/API/gtk/WebKitWebView.cpp:
17366 (webkitWebViewConstructed): Remove UIClient and LoaderClient
17367 objects and call attachUIClientToView() and attachLoaderClientToView().
17368 * UIProcess/API/gtk/tests/GNUmakefile.am: Rename
17369 WebKitWebLoaderClient to WebKitLoaderClient.
17370 * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from
17371 Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp.
17373 2012-01-25 Roland Steiner <rolandsteiner@chromium.org>
17375 <style scoped>: Implement registering of <style scoped> with the scoping element
17376 https://bugs.webkit.org/show_bug.cgi?id=67790
17378 Add symbols for windows.internals.numberOfScopedHTMLStyleChildren
17380 Reviewed by Dimitri Glazkov.
17383 * win/WebKit2CFLite.def:
17385 2012-01-24 Beth Dakin <bdakin@apple.com>
17387 https://bugs.webkit.org/show_bug.cgi?id=76928
17388 Accelerated drawing should force compositing mode
17389 -and corresponding-
17390 <rdar://problem/10697417>
17392 Reviewed by Simon Fraser.
17394 * WebProcess/WebPage/WebPage.cpp:
17395 (WebKit::WebPage::updatePreferences):
17397 2012-01-24 Alexis Menard <alexis.menard@openbossa.org>
17399 Unreviewed build fix for Qt.
17401 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17402 (WebKit::LayerTreeHostQt::showDebugBorders):
17403 (WebKit::LayerTreeHostQt::showRepaintCounter):
17405 2012-01-23 Simon Fraser <simon.fraser@apple.com>
17407 Show layer borders for scrollbar layers
17408 https://bugs.webkit.org/show_bug.cgi?id=76888
17410 Reviewed by Beth Dakin.
17412 Update for new signatures of GraphicsLayerClient::showDebugBorders()
17413 and GraphicsLayerClient::showRepaintCounter().
17415 * UIProcess/LayerTreeHostProxy.h:
17416 (WebKit::LayerTreeHostProxy::showDebugBorders):
17417 (WebKit::LayerTreeHostProxy::showRepaintCounter):
17418 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
17419 (WebKit::LayerTreeHostCA::showDebugBorders):
17420 (WebKit::LayerTreeHostCA::showRepaintCounter):
17421 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
17422 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
17424 2012-01-24 David Levin <levin@chromium.org>
17426 [windows] Convert usage of GetDC to HWndDC Part 3.
17427 https://bugs.webkit.org/show_bug.cgi?id=76889
17429 Reviewed by Adam Roben.
17431 * UIProcess/win/WebPopupMenuProxyWin.cpp:
17432 (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation.
17434 2012-01-24 Sergio Villar Senin <svillar@igalia.com>
17436 [WK2] [GTK] TestDownloads hitting an assertion in Debug builds
17437 https://bugs.webkit.org/show_bug.cgi?id=76915
17439 Reviewed by Martin Robinson.
17441 No new tests required as it fixes some assertions in a unit test.
17443 * WebProcess/Downloads/soup/DownloadSoup.cpp:
17444 (WebKit::Download::start):
17445 (WebKit::Download::startWithHandle):
17447 2012-01-24 No'am Rosenthal <noam.rosenthal@nokia.com>
17449 [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
17450 https://bugs.webkit.org/show_bug.cgi?id=76877
17452 Reviewed by Kenneth Rohde Christiansen.
17454 Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
17455 created by the web process. Also, swizzle the image's RGB in the web process, before it's
17456 transferred to the UI process.
17458 Data flow before change:
17459 (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload
17461 Data flow after change:
17462 (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload
17464 * Shared/ShareableBitmap.h:
17465 * Shared/qt/ShareableBitmapQt.cpp:
17466 (WebKit::ShareableBitmap::swizzleRGB):
17467 * UIProcess/LayerTreeHostProxy.h:
17468 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17469 (WebKit::LayerTreeHostProxy::updateTile):
17470 (WebKit::LayerTreeHostProxy::createImage):
17471 (WebKit::LayerTreeHostProxy::syncRemoteContent):
17472 (WebKit::LayerTreeHostProxy::updateTileForLayer):
17473 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
17474 (WebKit::LayerTreeHostProxy::purgeGLResources):
17475 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
17476 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
17477 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17478 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
17480 2012-01-24 Rafael Brandao <rafael.lobo@openbossa.org>
17482 [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
17483 https://bugs.webkit.org/show_bug.cgi?id=76399
17485 Reviewed by Simon Hausmann.
17487 Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
17488 being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
17489 as QtWebContext and this one is being destroyed, the remaining reference to our client
17490 on WebIconDatabase should be cleaned upon its destruction.
17492 * UIProcess/qt/QtWebIconDatabaseClient.cpp:
17493 (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
17494 (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
17495 * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.
17497 2012-01-24 Zeno Albisser <zeno@webkit.org>
17499 [Qt][WK2] Add test for application URL schemes.
17500 https://bugs.webkit.org/show_bug.cgi?id=74933
17502 Add a test that checks handling of url strings.
17503 Add a test that verifies replies in case of multiple
17504 available application url schemes.
17506 Reviewed by Kenneth Rohde Christiansen.
17508 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17510 2012-01-24 Carlos Garcia Campos <cgarcia@igalia.com>
17512 [GTK] Fix /webkit2/WebKitWebView/reload after r105688
17513 https://bugs.webkit.org/show_bug.cgi?id=76898
17515 Reviewed by Alejandro G. Castro.
17517 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17518 (LoadTrackingTest::reload): Add reload method that clears events
17519 and initializes progress.
17520 * UIProcess/API/gtk/tests/LoadTrackingTest.h:
17521 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17522 (testWebViewReload): Use LoadTrackingTest::reload() instead of
17523 webkit_web_view_reload().
17525 2012-01-24 Simon Hausmann <simon.hausmann@nokia.com>
17527 Some qmake build files must include Qt5's "quick" module.
17528 https://bugs.webkit.org/show_bug.cgi?id=76671
17530 Unreviewed build fix.
17532 * UIProcess/API/qt/tests/tests.pri:
17534 2012-01-24 Zeno Albisser <zeno@webkit.org>
17536 [Qt][WK2] Application URL schemes cause asserts when using debug.
17537 https://bugs.webkit.org/show_bug.cgi?id=76700
17539 Instances of QtNetworkRequestData / QtNetworkReplyData are meant
17540 to be used for transfering data over IPC. To allow transferring
17541 instances of these classes over IPC they need to be copyable,
17542 and it must be possible to create such instances on the stack.
17543 Because classes that inherit from RefCounted always need to be
17544 used in connection with RefPtr, QtNetworkRequestData and
17545 QtNetworkReplyData cannot inherit directly from RefCounted.
17547 Deleting an object that inherits from RefCounted, without
17548 the proper sequence of ref()/deref() being called by it's
17549 RefPtr, causes asserts when running a debug version.
17551 Reviewed by Simon Hausmann.
17553 * Shared/qt/QtNetworkReplyData.h:
17554 (WebKit::QtRefCountedNetworkReplyData::data):
17555 * Shared/qt/QtNetworkRequestData.cpp:
17556 (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
17557 * Shared/qt/QtNetworkRequestData.h:
17558 (WebKit::QtRefCountedNetworkRequestData::data):
17560 * UIProcess/API/qt/qquicknetworkreply.cpp:
17561 (QQuickNetworkReply::QQuickNetworkReply):
17562 (QQuickNetworkReply::contentType):
17563 (QQuickNetworkReply::setContentType):
17564 (QQuickNetworkReply::operation):
17565 (QQuickNetworkReply::setOperation):
17566 (QQuickNetworkReply::contentDisposition):
17567 (QQuickNetworkReply::setContentDisposition):
17568 (QQuickNetworkReply::location):
17569 (QQuickNetworkReply::setLocation):
17570 (QQuickNetworkReply::lastModified):
17571 (QQuickNetworkReply::setLastModified):
17572 (QQuickNetworkReply::cookie):
17573 (QQuickNetworkReply::setCookie):
17574 (QQuickNetworkReply::userAgent):
17575 (QQuickNetworkReply::setUserAgent):
17576 (QQuickNetworkReply::server):
17577 (QQuickNetworkReply::setServer):
17578 (QQuickNetworkReply::data):
17579 (QQuickNetworkReply::setData):
17580 (QQuickNetworkReply::send):
17581 (QQuickNetworkReply::networkRequestData):
17582 (QQuickNetworkReply::setNetworkRequestData):
17583 (QQuickNetworkReply::networkReplyData):
17584 * UIProcess/API/qt/qquicknetworkreply_p.h:
17585 * UIProcess/API/qt/qquicknetworkrequest.cpp:
17586 (QQuickNetworkRequest::QQuickNetworkRequest):
17587 (QQuickNetworkRequest::setNetworkRequestData):
17588 (QQuickNetworkRequest::url):
17589 * UIProcess/API/qt/qquicknetworkrequest_p.h:
17590 * UIProcess/API/qt/qquickwebview.cpp:
17591 (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
17592 * UIProcess/API/qt/qquickwebview_p.h:
17593 * UIProcess/WebPageProxy.h:
17594 * UIProcess/qt/QtPageClient.cpp:
17595 (QtPageClient::handleApplicationSchemeRequest):
17596 * UIProcess/qt/QtPageClient.h:
17597 * UIProcess/qt/WebPageProxyQt.cpp:
17598 (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
17599 (WebKit::WebPageProxy::sendApplicationSchemeReply):
17600 * WebProcess/qt/QtNetworkReply.cpp:
17601 (WebKit::QtNetworkReply::setData):
17602 (WebKit::QtNetworkReply::readData):
17604 2012-01-24 Carlos Garcia Campos <cgarcia@igalia.com>
17606 [GTK] Implement DownloadClient in WebKit2 GTK+ API
17607 https://bugs.webkit.org/show_bug.cgi?id=72952
17609 Reviewed by Martin Robinson.
17611 * GNUmakefile.am: Add new files to compilation.
17612 * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
17613 (didStart): Call webkitWebContextDownloadStarted().
17614 (didReceiveResponse): Call webkitDownloadSetResponse() with the
17616 (didReceiveData): Call webkitDownloadNotifyProgress().
17617 (decideDestinationWithSuggestedFilename): Call
17618 webkitDownloadDecideDestinationWithSuggestedFilename().
17619 (didCreateDestination): Call webkitDownloadDestinationCreated().
17620 (didFail): Call webkitDownloadFailed() or
17621 webkitDownloadCancelled() if the download was cancelled before
17623 (didCancel): Call webkitDownloadCancelled().
17624 (didFinish): Call webkitDownloadFinished().
17625 (attachDownloadClientToContext): Add
17626 implementation for download client callbacks.
17627 * UIProcess/API/gtk/WebKitDownloadClient.h: Added.
17628 * UIProcess/API/gtk/WebKitError.cpp:
17629 (webkit_download_error_quark): Add quark for download errors.
17630 * UIProcess/API/gtk/WebKitError.h:
17631 * UIProcess/API/gtk/WebKitWebContext.cpp:
17632 (webkit_web_context_class_init): Add download-started signal.
17633 (createDefaultWebContext): Initialize the download client.
17634 (downloadsMap): HashMap containing download objects for all
17635 ongoing download operations.
17636 (webkit_web_context_download_uri): Start a new download for the
17638 (webkitWebContextGetOrCreateDownload): Helper function to create a
17639 new download object or return the existing one from the downloads map.
17640 (webkitWebContextRemoveDownload): Remove the download object from
17642 (webkitWebContextDownloadStarted): Emit
17643 WebKitWebContext::download-started for the given download object.
17644 * UIProcess/API/gtk/WebKitWebContext.h:
17645 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
17646 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17647 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
17648 * UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
17649 (getWebKit1TestResoucesDir):
17650 (testDownloadLocalFile):
17651 (testDownloadLocalFileError):
17653 (testDownloadRemoteFile):
17654 (testDownloadRemoteFileError):
17658 2012-01-23 Carlos Garcia Campos <cgarcia@igalia.com>
17660 [GTK] Add WebKitDownload to WebKit2 GTK+ API
17661 https://bugs.webkit.org/show_bug.cgi?id=72949
17663 Reviewed by Martin Robinson.
17665 * GNUmakefile.am: Add new files to compilation.
17666 * UIProcess/API/gtk/WebKitDownload.cpp: Added.
17667 (webkitDownloadFinalize):
17668 (webkitDownloadGetProperty):
17669 (webkitDownloadDecideDestination):
17670 (webkit_download_init):
17671 (webkit_download_class_init):
17672 (webkitDownloadCreate): Create a new WebKitDownload for a given
17674 (webkitDownloadSetResponse): Set the network response of the
17676 (webkitDownloadIsCancelled): Whether the download has been
17677 cancelled by the user.
17678 (webkitDownloadNotifyProgress): Emit notify::estimated-progress if
17680 (webkitDownloadFailed): Emit WebKitDownload::failed with the given
17682 (webkitDownloadCancelled): Emit WebKitDownload::failed with
17684 (webkitDownloadFinished): Emit WebKitDownload::finished.
17685 (webkitDownloadDecideDestinationWithSuggestedFilename): Emit
17686 WebKitDownload::decide-destination.
17687 (webkitDownloadDestinationCreated): Emit
17688 WebKitDownload::created-destination.
17689 (webkit_download_get_destination): Return the destination URI of
17691 (webkit_download_set_destination): Set the destination URI of the
17693 (webkit_download_get_response): Return the response received by
17695 (webkit_download_cancel): Cancel the download.
17696 (webkit_download_get_estimated_progress): Return the estimated
17698 (webkit_download_get_elapsed_time): Return the time elapsed since
17699 the download started.
17700 * UIProcess/API/gtk/WebKitDownload.h: Added.
17701 * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
17702 * UIProcess/API/gtk/WebKitPrivate.h:
17703 * UIProcess/API/gtk/WebKitURIResponse.cpp:
17704 (webkitURIResponseGetResourceResponse):
17705 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17706 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
17707 webkit_download_get_type().
17708 * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
17709 * UIProcess/API/gtk/webkit2marshal.list:
17711 2012-01-23 Geoffrey Garen <ggaren@apple.com>
17713 JSValue::toString() should return a JSString* instead of a UString
17714 https://bugs.webkit.org/show_bug.cgi?id=76861
17716 Reviewed by Gavin Barraclough.
17718 Mechanical changes to call value() after calling toString(), to
17719 convert from "JS string" (JSString*) to "C++ string" (UString), since
17720 toString() no longer returns a "C++ string".
17722 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
17723 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
17725 2012-01-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
17727 [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
17728 https://bugs.webkit.org/show_bug.cgi?id=76859
17730 Reviewed by Kenneth Rohde Christiansen.
17732 Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
17733 since in QQuickWebViewPrivate::initialize() there is a call for
17734 setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.
17736 * UIProcess/API/qt/qquickwebview.cpp:
17737 (QQuickWebView::QQuickWebView):
17739 2012-01-23 Martin Robinson <mrobinson@igalia.com>
17741 [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
17742 https://bugs.webkit.org/show_bug.cgi?id=76755
17744 Reviewed by Alejandro G. Castro.
17746 Always clear the loading events when loading new content in the load tracking
17747 test. In the WebView test correctly handle loading HTML with a URL that isn't
17750 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17751 (LoadTrackingTest::loadURI): Reset the class state when starting a new load.
17752 (LoadTrackingTest::loadHtml): Ditto.
17753 (LoadTrackingTest::loadPlainText): Ditto.
17754 (LoadTrackingTest::loadRequest): Ditto.
17755 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
17756 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17757 (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
17758 (testLoadHtml): Update to reflect new method name.
17759 (testLoadPlainText): Ditto.
17760 (testLoadRequest): Ditto.
17761 (testWebViewReload): Ditto.
17762 * UIProcess/API/gtk/tests/WebViewTest.cpp:
17763 (WebViewTest::loadHtml): Properly interpret the baseURL parameter.
17764 * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.
17766 2012-01-23 Alexander Færøy <alexander.faeroy@nokia.com>
17768 [Qt] Implement SSL error handling QML API.
17769 https://bugs.webkit.org/show_bug.cgi?id=76793
17771 Reviewed by Simon Hausmann.
17773 This patch implements support for accepting or rejecting invalid SSL
17774 certificates from the QML API.
17776 * UIProcess/API/qt/qquickwebview.cpp:
17777 (QQuickWebViewPrivate::QQuickWebViewPrivate):
17778 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
17779 (QQuickWebViewExperimental::certificateVerificationDialog):
17780 (QQuickWebViewExperimental::setCertificateVerificationDialog):
17781 * UIProcess/API/qt/qquickwebview_p.h:
17782 * UIProcess/API/qt/qquickwebview_p_p.h:
17783 * UIProcess/PageClient.h:
17784 * UIProcess/WebPageProxy.cpp:
17785 (WebKit::WebPageProxy::certificateVerificationRequest):
17786 * UIProcess/WebPageProxy.h:
17787 * UIProcess/WebPageProxy.messages.in:
17788 * UIProcess/qt/QtDialogRunner.cpp:
17789 (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
17790 (CertificateVerificationDialogContextObject::hostname):
17791 (CertificateVerificationDialogContextObject::accept):
17792 (CertificateVerificationDialogContextObject::reject):
17793 (QtDialogRunner::initForCertificateVerification):
17794 * UIProcess/qt/QtDialogRunner.h:
17795 * UIProcess/qt/QtPageClient.cpp:
17796 (QtPageClient::handleCertificateVerificationRequest):
17797 * UIProcess/qt/QtPageClient.h:
17798 * WebProcess/qt/QtNetworkAccessManager.cpp:
17799 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
17800 (WebKit::QtNetworkAccessManager::onSslErrors):
17801 * WebProcess/qt/QtNetworkAccessManager.h:
17803 2012-01-23 David Levin <levin@chromium.org>
17805 [windows] Convert usages of GetDC to HWndDC Part 2.
17806 https://bugs.webkit.org/show_bug.cgi?id=76750
17808 Reviewed by Adam Roben.
17810 * Shared/win/ShareableBitmapWin.cpp:
17811 (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
17812 would do a DeleteDC instead of a ReleaseDC.
17814 2012-01-23 David Levin <levin@chromium.org>
17816 [windows] Convert usages of GetDC to HWndDC Part 1.
17817 https://bugs.webkit.org/show_bug.cgi?id=76744
17819 Reviewed by Adam Roben.
17821 * UIProcess/win/WebView.cpp:
17822 (WebKit::WebView::flashBackingStoreUpdates): Typical conversion.
17824 2012-01-21 Timothy Hatcher <timothy@apple.com>
17826 Make WebKit2 remember the height of the Web Inspector when it is docked.
17828 https://webkit.org/b/76769
17830 Reviewed by Dan Bernstein.
17832 * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight.
17833 * UIProcess/WebInspectorProxy.cpp:
17834 (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight.
17835 * UIProcess/mac/WebInspectorProxyMac.mm:
17836 (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight.
17837 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls.
17839 2012-01-20 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
17841 [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible
17842 https://bugs.webkit.org/show_bug.cgi?id=76674
17844 Reviewed by Kenneth Rohde Christiansen.
17846 Make sure that itemRect is not empty.
17848 * UIProcess/qt/QtViewportInteractionEngine.cpp:
17849 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
17851 2012-01-20 Steve Falkenburg <sfalken@apple.com>
17853 Reviewed by Alexey Proskuryakov.
17855 Drag/drop of a file into a WebView on Windows needs to allow access to that file
17856 https://bugs.webkit.org/show_bug.cgi?id=76753
17857 <rdar://problem/10731719>
17859 The Windows drag/drop code path was missing the code to open a file read exception.
17861 Added code to match the Mac version, while allowing directories and multiple files to
17862 also be dragged (matching our previous behavior).
17864 * UIProcess/win/WebView.cpp:
17865 (WebKit::maybeCreateSandboxExtensionFromDragData): Added.
17866 (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.
17868 2012-01-20 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
17870 [Qt] Trigger forcing accelerated compositing from the UI process side.
17871 https://bugs.webkit.org/show_bug.cgi?id=76296
17873 Reviewed by Noam Rosenthal.
17875 Some messages can be sent from the web view to the LayerTreeHost before
17876 accelerated compositing is entered on the web process and signaled back.
17877 By letting the UI process decide if AC has to be forced, we can create
17878 the LayerTreeHostProxy earlier to send messages to the web process while
17879 AC is being entered there.
17881 This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
17882 by setting the m_waitingForUIProcess flag properly and only send the
17883 RenderNextFrame once the painting thread on the UI process is ready to paint.
17885 This fixes the first visible content rect message not being received when
17886 loading pages from the disk.
17888 * Shared/WebPreferencesStore.h:
17889 * UIProcess/API/qt/qquickwebview.cpp:
17890 (QQuickWebViewPrivate::initialize):
17891 * UIProcess/DrawingAreaProxyImpl.cpp:
17892 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17893 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17894 (WebKit::LayerTreeHostProxy::flushLayerChanges):
17895 (WebKit::LayerTreeHostProxy::didRenderFrame):
17896 * WebProcess/WebPage/DrawingAreaImpl.cpp:
17897 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17898 * WebProcess/WebPage/WebPage.cpp:
17899 (WebKit::WebPage::updatePreferences):
17900 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17901 (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
17902 * WebProcess/WebPage/qt/WebPageQt.cpp:
17903 (WebKit::WebPage::platformInitialize):
17905 2012-01-20 Sheriff Bot <webkit.review.bot@gmail.com>
17907 Unreviewed, rolling out r105497.
17908 http://trac.webkit.org/changeset/105497
17909 https://bugs.webkit.org/show_bug.cgi?id=76696
17911 Leaking in Qt layout tests and timing out in GTK API tests.
17912 (Requested by jturcotte on #webkit).
17914 * Shared/WebPreferencesStore.h:
17915 * UIProcess/API/qt/qquickwebview.cpp:
17916 (QQuickWebViewPrivate::initialize):
17917 * UIProcess/DrawingAreaProxyImpl.cpp:
17918 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17919 * WebProcess/WebPage/DrawingAreaImpl.cpp:
17920 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17921 * WebProcess/WebPage/WebPage.cpp:
17922 (WebKit::WebPage::updatePreferences):
17923 * WebProcess/WebPage/qt/WebPageQt.cpp:
17924 (WebKit::WebPage::platformInitialize):
17926 2012-01-20 Mario Sanchez Prada <msanchez@igalia.com>
17928 [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
17929 https://bugs.webkit.org/show_bug.cgi?id=72589
17931 Reviewed by Martin Robinson.
17933 Expose the accessibility hierarchy in the multi-process
17934 architecture of WK2 through AtkSocket and AtkPlug.
17936 Make the WebView widget return an AtkSocket when calling to
17937 gtk_widget_get_accessible().
17939 * GNUmakefile.am: Add new files.
17940 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
17941 (webkit_web_view_base_init):
17942 (webkitWebViewBaseGetAccessible):
17943 (webkit_web_view_base_class_init):
17944 * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
17945 (webkitWebViewBaseAccessibleWidgetFinalize):
17946 (webkitWebViewBaseAccessibleWidgetDestroyed):
17947 (webkitWebViewBaseAccessibleInitialize):
17948 (webkitWebViewBaseAccessibleRefStateSet):
17949 (webkitWebViewBaseAccessibleGetIndexInParent):
17950 (webkit_web_view_base_accessible_init):
17951 (webkit_web_view_base_accessible_class_init):
17952 (webkitWebViewBaseAccessibleNew):
17953 * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.
17955 Make the WebPage create an AtkPlug on its initialization and
17956 sending the ID of that plug to the UI process, so it can embed the
17957 plug in the socket.
17959 Also, take care of all the needed wrapping around the WebCore's
17960 accessibility objects, exposing them in the UI process's
17961 accessibility hierarchy thanks to the socket-plug connection.
17963 * UIProcess/WebPageProxy.h:
17964 (WebKit::WebPageProxy::accessibilityPlugID):
17965 * UIProcess/WebPageProxy.messages.in:
17966 * UIProcess/gtk/WebPageProxyGtk.cpp:
17967 (WebKit::WebPageProxy::bindAccessibilityTree):
17968 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17969 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
17970 * WebProcess/WebPage/WebPage.cpp:
17971 (WebKit::WebPage::WebPage):
17972 * WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
17973 (accessibilityRootObjectWrapper):
17974 (webPageAccessibilityObjectInitialize):
17975 (webPageAccessibilityObjectGetIndexInParent):
17976 (webPageAccessibilityObjectGetNChildren):
17977 (webPageAccessibilityObjectRefChild):
17978 (web_page_accessibility_object_init):
17979 (web_page_accessibility_object_class_init):
17980 (webPageAccessibilityObjectNew):
17981 (webPageAccessibilityObjectRefresh):
17982 * WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
17983 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
17984 (WebKit::WebPage::platformInitialize):
17985 (WebKit::WebPage::updateAccessibilityTree):
17987 New unit test for checking accessibility support in WK2GTK.
17989 * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
17990 (loadChangedCallback): Notify the parent process (the test)
17993 * UIProcess/API/gtk/tests/GNUmakefile.am:
17994 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
17997 (testServerMonitorThreadFunc):
17998 (startTestServerMonitor):
18000 (checkAtspiAccessible):
18001 (findTestServerApplication):
18002 (testAtspiBasicHierarchy):
18006 2012-01-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18008 [Qt] Public API watch dog auto test.
18009 https://bugs.webkit.org/show_bug.cgi?id=73922
18011 Reviewed by Simon Hausmann.
18013 This test aims to prevent unintended/unapproved
18014 modifications to the public QML API.
18016 * UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
18017 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
18022 (tst_publicapi::publicAPI):
18024 2012-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18026 [Qt] Trigger forcing accelerated compositing from the UI process side.
18027 https://bugs.webkit.org/show_bug.cgi?id=76296
18029 Reviewed by Noam Rosenthal.
18031 Some messages can be sent from the web view to the LayerTreeHost before
18032 accelerated compositing is entered on the web process and signaled back.
18033 By letting the UI process decide if AC has to be forced, we can create
18034 the LayerTreeHostProxy earlier to send messages to the web process while
18035 AC is being entered there.
18037 This fixes the first visible content rect message not being received when
18038 loading pages from the disk.
18040 * Shared/WebPreferencesStore.h:
18041 * UIProcess/API/qt/qquickwebview.cpp:
18042 (QQuickWebViewPrivate::initialize):
18043 * UIProcess/DrawingAreaProxyImpl.cpp:
18044 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
18045 * WebProcess/WebPage/DrawingAreaImpl.cpp:
18046 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
18047 * WebProcess/WebPage/WebPage.cpp:
18048 (WebKit::WebPage::updatePreferences):
18049 * WebProcess/WebPage/qt/WebPageQt.cpp:
18050 (WebKit::WebPage::platformInitialize):
18052 2012-01-20 Alexandru Chiculita <achicu@adobe.com>
18054 CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
18055 https://bugs.webkit.org/show_bug.cgi?id=76444
18057 Reviewed by Nikolas Zimmermann.
18059 * Shared/WebPreferencesStore.h:
18060 * UIProcess/API/C/WKPreferences.cpp:
18061 (WKPreferencesSetCSSCustomFilterEnabled):
18062 (WKPreferencesGetCSSCustomFilterEnabled):
18063 * UIProcess/API/C/WKPreferencesPrivate.h:
18064 * WebProcess/WebPage/WebPage.cpp:
18065 (WebKit::WebPage::updatePreferences):
18067 2012-01-19 Sam Weinig <sam@webkit.org>
18069 Replace improper #import with an #include.
18071 * UIProcess/Plugins/PluginProcessProxy.cpp:
18074 2012-01-18 Sam Weinig <sam@webkit.org>
18076 Move RunLoop to WebCore/platform
18077 https://bugs.webkit.org/show_bug.cgi?id=76471
18079 Reviewed by Anders Carlsson.
18082 * Platform/CoreIPC/Connection.cpp:
18083 * Platform/CoreIPC/Connection.h:
18084 * Platform/CoreIPC/mac/ConnectionMac.cpp:
18085 * PluginProcess/PluginControllerProxy.h:
18086 * PluginProcess/PluginProcess.cpp:
18087 * PluginProcess/PluginProcess.h:
18088 * PluginProcess/WebProcessConnection.cpp:
18089 * PluginProcess/mac/PluginProcessMainMac.mm:
18090 * PluginProcess/qt/PluginProcessMainQt.cpp:
18091 * Shared/ChildProcess.cpp:
18092 * Shared/ChildProcess.h:
18094 * UIProcess/API/mac/FindIndicatorWindow.h:
18095 * UIProcess/API/mac/WKView.mm:
18096 * UIProcess/DrawingAreaProxyImpl.h:
18097 * UIProcess/Launcher/ThreadLauncher.cpp:
18098 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18099 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
18100 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
18101 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
18102 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
18103 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
18104 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
18105 * UIProcess/LayerTreeHostProxy.h:
18106 * UIProcess/Plugins/PluginProcessProxy.cpp:
18107 * UIProcess/ResponsivenessTimer.cpp:
18108 * UIProcess/ResponsivenessTimer.h:
18109 * UIProcess/TiledDrawingAreaProxy.h:
18110 * UIProcess/VisitedLinkProvider.h:
18111 * UIProcess/WebConnectionToWebProcess.cpp:
18112 * UIProcess/WebConnectionToWebProcess.h:
18113 * UIProcess/WebContext.cpp:
18114 * UIProcess/win/WebView.cpp:
18115 * WebKit2.xcodeproj/project.pbxproj:
18116 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
18117 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
18118 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
18119 * WebProcess/Plugins/PluginView.h:
18120 * WebProcess/WebConnectionToUIProcess.cpp:
18121 * WebProcess/WebConnectionToUIProcess.h:
18122 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18123 * WebProcess/WebPage/DrawingAreaImpl.h:
18124 * WebProcess/WebPage/EventDispatcher.cpp:
18125 * WebProcess/WebPage/PageOverlay.h:
18126 * WebProcess/WebPage/WebPage.cpp:
18127 * WebProcess/WebPage/WebPage.h:
18128 * WebProcess/WebProcess.cpp:
18129 * WebProcess/WebProcess.h:
18130 (WebKit::WebProcess::runLoop):
18131 * WebProcess/gtk/WebProcessMainGtk.cpp:
18132 * WebProcess/mac/WebProcessMainMac.mm:
18133 * WebProcess/qt/WebProcessMainQt.cpp:
18134 * WebProcess/win/WebProcessMainWin.cpp:
18135 * win/WebKit2.vcproj:
18136 Remove RunLoop code and update #includes.
18138 2012-01-18 Ada Chan <adachan@apple.com>
18140 Need a WebKit2 API for setting media volume
18141 https://bugs.webkit.org/show_bug.cgi?id=76560
18143 Reviewed by Dan Bernstein.
18145 * Shared/WebPageCreationParameters.cpp:
18146 (WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
18147 (WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.
18148 * Shared/WebPageCreationParameters.h:
18149 * UIProcess/API/C/WKPage.cpp:
18150 (WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().
18151 * UIProcess/API/C/WKPagePrivate.h:
18152 * UIProcess/WebPageProxy.cpp:
18153 (WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
18154 (WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume
18155 and bail if the page is no longer valid. Otherwise, send a WebPage::SetMediaVolume message to
18157 (WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.
18158 * UIProcess/WebPageProxy.h:
18159 * WebProcess/WebPage/WebPage.cpp:
18160 (WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
18161 (WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().
18162 * WebProcess/WebPage/WebPage.h:
18163 * WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.
18165 2012-01-19 Carlos Garcia Campos <cgarcia@igalia.com>
18167 [GTK] WebKit2 GTK+ API public headers are not installed
18168 https://bugs.webkit.org/show_bug.cgi?id=76626
18170 Reviewed by Martin Robinson.
18172 * GNUmakefile.am: Rename webkit2gtk_headers as
18173 libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
18174 that headers are installed during make install.
18176 2012-01-19 Carlos Garcia Campos <cgarcia@igalia.com>
18178 [GTK] Add print-backgrounds setting to WebKit2 GTK+ API
18179 https://bugs.webkit.org/show_bug.cgi?id=76616
18181 Reviewed by Martin Robinson.
18183 * UIProcess/API/gtk/WebKitSettings.cpp:
18184 (webKitSettingsSetProperty):
18185 (webKitSettingsGetProperty):
18186 (webkit_settings_class_init):
18187 (webkit_settings_get_print_backgrounds):
18188 (webkit_settings_set_print_backgrounds):
18189 * UIProcess/API/gtk/WebKitSettings.h:
18190 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
18191 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
18192 (testWebKitSettings):
18194 2012-01-18 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18196 [Qt] Handle the layers visible rect calculation on the web process.
18197 https://bugs.webkit.org/show_bug.cgi?id=74720
18199 Reviewed by Noam Rosenthal.
18201 The layers now get their visible rect on the web process through the
18202 root layer when the UI process call setVisibleContentRectAndScale,
18203 previously only used for the non-composited content layer.
18204 The rect is then carried down the layers in the tree which apply it the inverse
18205 of their transform before handing it to their tiled backing store.
18207 This ensures that new layers get a proper visible rect right on creation,
18208 and also that simultaneous visible rect and scale changes are applied synchronously.
18210 This patch also uses clampedBoundsOfProjectedQuad instead of mapRect
18211 to transform the visible rect correctly for 3D transformed layers.
18213 * UIProcess/API/qt/qquickwebview.cpp:
18214 (QQuickWebViewPrivate::initializeDesktop):
18215 (QQuickWebViewPrivate::initializeTouch):
18216 (QQuickWebViewPrivate::updateDesktopViewportSize):
18217 (QQuickWebViewPrivate::updateTouchViewportSize):
18218 (QQuickWebView::geometryChanged):
18219 Make sure that the visible rect is updated for the desktop view as well.
18220 * UIProcess/API/qt/qquickwebview_p_p.h:
18221 * UIProcess/LayerTreeHostProxy.h:
18222 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18223 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18224 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18225 (WebCore::WebGraphicsLayer::setChildren):
18226 (WebCore::WebGraphicsLayer::addChild):
18227 (WebCore::WebGraphicsLayer::addChildAtIndex):
18228 (WebCore::WebGraphicsLayer::addChildAbove):
18229 (WebCore::WebGraphicsLayer::addChildBelow):
18230 (WebCore::WebGraphicsLayer::replaceChild):
18231 (WebCore::WebGraphicsLayer::setMaskLayer):
18232 (WebCore::WebGraphicsLayer::syncCompositingState):
18233 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
18234 (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
18235 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
18236 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
18237 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18238 * WebProcess/WebPage/LayerTreeHost.messages.in:
18239 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
18240 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
18241 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18243 2012-01-18 Jon Lee <jonlee@apple.com>
18245 Another build fix for r105364.
18247 * WebProcess/mac/WebProcessMac.mm:
18248 (WebKit::WebProcess::platformInitializeWebProcess): Missing #if.
18250 2012-01-18 Jon Lee <jonlee@apple.com>
18252 Build fix for r105364. Unreviewed.
18254 * WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS)
18255 (WebKit::WebNotificationManager::initialize):
18256 (WebKit::WebNotificationManager::didUpdateNotificationDecision):
18257 (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
18258 (WebKit::WebNotificationManager::policyForOrigin):
18260 2012-01-18 Jon Lee <jonlee@apple.com>
18262 [WK2] Sync call for notifications permissions causes flashes on gmail.com
18263 https://bugs.webkit.org/show_bug.cgi?id=76570
18264 <rdar://problem/10647155>
18266 Reviewed by Anders Carlsson and Sam Weinig.
18268 The website code figures out the permission level for its security origin by making a JS call (called
18269 checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from
18270 the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and
18271 returns that policy back to the JS.
18273 The synchronous nature of this call causes the white flash to appear in certain cases.
18275 To fix this, the checkPermission() call is handled all within the web process, instead of going up into
18276 the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the
18277 notification permissions. Any time the WK client makes a change to the permissions, that gets sent down
18278 asynchronously, and the cached copy in WebNotificationManager gets updated.
18280 A page's settings may disable notifications altogether. Before, this would have been handled by the WK
18281 client, since retrieving the permissions were also handled there. Now that the lookup happens in the web
18282 process, we need to add that setting in WebCore.
18284 == Update notification permissions to use the security origin's string representation, rather than its
18285 database identifier.
18287 * UIProcess/Notifications/WebNotification.cpp:
18288 (WebKit::WebNotification::WebNotification):
18289 * UIProcess/Notifications/WebNotification.h:
18290 (WebKit::WebNotification::create):
18291 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18292 (WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in
18294 (WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in
18296 * UIProcess/Notifications/WebNotificationManagerProxy.h:
18297 * UIProcess/WebPageProxy.cpp:
18298 (WebKit::WebPageProxy::requestNotificationPermission):
18299 (WebKit::WebPageProxy::showNotification):
18300 * UIProcess/WebPageProxy.h:
18302 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18303 (WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications
18305 * WebProcess/Notifications/WebNotificationManager.cpp:
18306 (WebKit::WebNotificationManager::show): Only show notification is they are enabled.
18307 (WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled.
18309 == Remove synchronous message to get policy for a given origin. Instead, use the cached copy in
18310 WebNotificationManager.
18312 * WebProcess/Notifications/WebNotificationManager.h:
18313 * WebProcess/Notifications/WebNotificationManager.cpp:
18314 (WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy.
18315 If it doesn't exist, return NotificationPresenter::PermissionNotAllowed.
18316 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18317 (WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use
18320 Remove old WK API function to get the policy. Because this function was the only synchronous message,
18321 we remove the sync-message-related functions also. Also, add in some #includes that might have been
18322 omitted in prior patches.
18324 * UIProcess/API/C/WKNotificationProvider.h:
18325 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel.
18326 * UIProcess/Notifications/WebNotificationManagerProxy.h:
18327 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18329 * UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin().
18330 * UIProcess/Notifications/WebNotificationProvider.cpp:
18332 * UIProcess/WebProcessProxy.cpp:
18333 (WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the
18334 notification manager proxy.
18336 == Mechanism for client to update the permissions copy in WebNotificationManager.
18338 * WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages
18339 didUpdateNotificationDecision and didRemoveNotificationDecisions.
18340 * WebProcess/Notifications/WebNotificationManager.h:
18341 * WebProcess/Notifications/WebNotificationManager.cpp:
18342 (WebKit::WebNotificationManager::initialize):
18343 (WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry.
18344 (WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry.
18346 * UIProcess/Notifications/WebNotificationManagerProxy.h:
18347 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18348 (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
18349 (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of
18350 origins to remove, and send it to the WebNotificationManager.
18352 * UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API.
18353 * UIProcess/API/C/WKNotificationManager.cpp:
18354 (WKNotificationManagerProviderDidUpdateNotificationPolicy):
18355 (WKNotificationManagerProviderDidRemoveNotificationPolicies):
18357 == Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit
18360 * Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the
18362 * Shared/WebProcessCreationParameters.cpp:
18363 (WebKit::WebProcessCreationParameters::encode):
18364 (WebKit::WebProcessCreationParameters::decode):
18366 * UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions.
18367 * UIProcess/Notifications/WebNotificationProvider.cpp:
18368 * UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions.
18370 * UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions().
18371 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18372 (WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization.
18373 Similar calls in show() and cancel() are removed in following patch.
18374 (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy.
18375 Populate with origin string, and whether that origin is allowed to post. If no decision has been made
18376 by the user, then there should be no item in this dictionary.
18378 * UIProcess/WebContext.cpp:
18379 (WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the
18380 permissions, and send it to the web process to initialize the notification manager.
18381 * WebProcess/mac/WebProcessMac.mm:
18382 (WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager.
18384 * WebProcess/Notifications/WebNotificationManager.h:
18385 * WebProcess/Notifications/WebNotificationManager.cpp:
18386 (WebKit::WebNotificationManager::initialize): Initialize the permissions copy.
18388 * WebProcess/WebPage/WebPage.cpp:
18389 (WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings.
18391 == Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956.
18393 * Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to
18394 WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function.
18395 * Shared/API/c/WKSecurityOrigin.cpp:
18396 (WKSecurityOriginCreateFromString):
18397 (WKSecurityOriginCreateFromDatabaseIdentifier):
18398 (WKSecurityOriginCopyToString):
18400 Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier()
18401 and add WebSecurityOrigin::createFromString().
18403 * Shared/WebSecurityOrigin.h:
18404 (WebKit::WebSecurityOrigin::createFromString):
18405 (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
18406 (WebKit::WebSecurityOrigin::toString): Added function.
18408 Refactor with renamed createFromDatabaseIdentifier() method.
18410 * UIProcess/WebDatabaseManagerProxy.cpp:
18411 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
18412 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
18413 (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
18414 (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
18415 * UIProcess/WebPageProxy.cpp:
18416 (WebKit::WebPageProxy::exceededDatabaseQuota):
18417 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
18419 == Add WK API calls to change notificationsEnabled bit in WebCore::Settings.
18421 * Shared/WebPreferencesStore.h:
18422 * UIProcess/API/C/WKPreferences.cpp:
18423 (WKPreferencesSetNotificationsEnabled):
18424 (WKPreferencesGetNotificationsEnabled):
18425 * UIProcess/API/C/WKPreferences.h:
18427 2012-01-18 Anders Carlsson <andersca@apple.com>
18429 REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time
18430 https://bugs.webkit.org/show_bug.cgi?id=76587
18431 <rdar://problem/9739135>
18433 Reviewed by Sam Weinig.
18435 * UIProcess/cf/WebPageProxyCF.cpp:
18436 Change CurrentSessionStateDataVersion back to 2.
18438 * WebProcess/WebPage/DecoderAdapter.cpp:
18439 (WebKit::DecoderAdapter::decodeString):
18440 * WebProcess/WebPage/EncoderAdapter.cpp:
18441 (WebKit::EncoderAdapter::encodeString):
18442 Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886.
18444 2012-01-17 Alexey Proskuryakov <ap@apple.com>
18446 [Mac] Add a flag telling plug-in if it can enter sandbox
18447 https://bugs.webkit.org/show_bug.cgi?id=76467
18449 Reviewed by Anders Carlsson.
18451 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
18452 (WebKit::NPN_GetValue): Added a private flag.
18454 2012-01-18 Eric Carlson <eric.carlson@apple.com>
18456 Provide access to user's list of preferred languages
18457 https://bugs.webkit.org/show_bug.cgi?id=76138
18459 Reviewed by Alexey Proskuryakov.
18461 * Shared/WebProcessCreationParameters.cpp:
18462 (WebKit::WebProcessCreationParameters::encode): Encode the languages array.
18463 (WebKit::WebProcessCreationParameters::decode): Decode the languages array.
18464 * Shared/WebProcessCreationParameters.h:
18466 * UIProcess/WebContext.cpp:
18467 (WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
18468 (WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.
18470 * WebProcess/WebProcess.cpp:
18471 (WebKit::WebProcess::initializeWebProcess): Override user languages array.
18472 (WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.
18473 * WebProcess/WebProcess.h:
18474 * WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
18476 * win/WebKit2.def: Export the new functions.
18477 * win/WebKit2CFLite.def: Ditto.
18479 2012-01-18 Luciano Wolf <luciano.wolf@openbossa.org>
18481 [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
18482 https://bugs.webkit.org/show_bug.cgi?id=76538
18484 Reviewed by Tor Arne Vestbø.
18486 The -lrt parameter was coming before -lWebKit2 during linkage.
18488 Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
18489 of its own dependencies instead of letting WebKit guess about. Letting
18490 it on api.pri can lead to a wrong parameter's order during linker phase.
18491 Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
18492 shm_unlink undefined symbols).
18494 The issue was fixed with the help of Aloisio Almeida and Lauro Venancio.
18498 2012-01-18 Carlos Garnacho <carlosg@gnome.org>
18500 [GTK] Listen to GDK_SCROLL_MASK
18501 https://bugs.webkit.org/show_bug.cgi?id=76529
18503 Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle
18504 scroll events, scrolling currently works because GTK+ happens
18505 to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
18506 but this isn't the intended behavior, so it's subject to change.
18508 Reviewed by Martin Robinson.
18510 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
18511 (webkitWebViewBaseRealize):
18513 2012-01-18 Andras Becsi <andras.becsi@nokia.com>
18515 [Qt][WK2] Fix the debug build.
18519 * UIProcess/qt/QtWebPageEventHandler.cpp:
18520 (setInputPanelVisible): Remove assertion from non-member function.
18522 2012-01-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
18524 [Qt] Zoom in to the focused node only when vkb starts becoming visible
18525 https://bugs.webkit.org/show_bug.cgi?id=76174
18527 Reviewed by Simon Hausmann.
18529 Remove the old code which always zoomed in when something got focus,
18530 even via JavaScript, and replaced it with code checking the state of
18531 the Qt input panel.
18533 Also make sure that we do not zoom in or request the input panel if
18534 the item is not focused.
18536 * UIProcess/PageClient.h:
18537 * UIProcess/WebPageProxy.cpp:
18538 * UIProcess/WebPageProxy.h:
18539 * UIProcess/WebPageProxy.messages.in:
18540 * UIProcess/qt/QtPageClient.cpp:
18541 * UIProcess/qt/QtPageClient.h:
18542 * UIProcess/qt/QtWebPageEventHandler.cpp:
18543 (QtWebPageEventHandler::QtWebPageEventHandler):
18544 (QtWebPageEventHandler::~QtWebPageEventHandler):
18545 (QtWebPageEventHandler::inputPanelVisibleChanged):
18546 * UIProcess/qt/QtWebPageEventHandler.h:
18547 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18548 (WebKit::WebEditorClient::respondToChangedSelection):
18550 2012-01-18 Shinya Kawanaka <shinyak@google.com>
18552 Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
18553 https://bugs.webkit.org/show_bug.cgi?id=76241
18555 Reviewed by Dimitri Glazkov.
18557 * win/WebKit2.def: Exposed necessary symbols.
18558 * win/WebKit2CFLite.def: ditto.
18560 2012-01-17 Hajime Morrita <morrita@chromium.org>
18562 [Internals] Should be able to access corresponding Document object.
18563 https://bugs.webkit.org/show_bug.cgi?id=76425
18565 Reviewed by Adam Barth.
18567 * win/WebKit2.def: Added exporting symbols.
18568 * win/WebKit2CFLite.def: Added exporting symbols.
18570 2012-01-17 Matthew Delaney <mdelaney@apple.com>
18572 On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
18573 <rdar://problem/10692025>
18575 Reviewed by Simon Fraser.
18577 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Init new function.
18578 (InitWebCoreSystemInterface):
18580 2012-01-17 Sam Weinig <sam@webkit.org>
18582 Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent:
18583 <rdar://problem/10688913>
18585 Reviewed by Anders Carlsson.
18587 * UIProcess/API/mac/WKView.mm:
18588 (-[WKView quickLookWithEvent:]):
18590 2012-01-17 Sam Weinig <sam@webkit.org>
18592 Add helper macro for forward declaring objective-c classes
18593 https://bugs.webkit.org/show_bug.cgi?id=76485
18595 Reviewed by Anders Carlsson.
18597 * WebProcess/WebCoreSupport/WebDragClient.h:
18598 Deploy OBJC_CLASS for a little code reduction.
18601 Remove duplicate copy of OBJC_CLASS.
18603 2012-01-17 Martin Robinson <mrobinson@igalia.com>
18605 [GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
18606 https://bugs.webkit.org/show_bug.cgi?id=76345
18608 Reviewed by Gustavo Noronha Silva.
18610 Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
18611 include anything other than WebKit2.h for the C API.
18613 * UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
18614 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
18615 * UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
18616 * UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
18617 * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
18618 * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
18619 * UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
18620 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
18621 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.
18623 2012-01-17 Alexander Færøy <alexander.faeroy@nokia.com>
18625 [Qt] Implement HTTP authentication QML API
18626 https://bugs.webkit.org/show_bug.cgi?id=75535
18628 Reviewed by Kenneth Rohde Christiansen.
18630 This patch implements the QML API for handling HTTP authentication.
18631 The implementation uses a syncronous message between the WebProcess
18632 and the UIProcess which is called when the authenticationRequired
18633 signal is emitted from QNAM.
18635 Based in part upon patch by Peter Hartmann.
18637 * UIProcess/API/qt/qquickwebview.cpp:
18638 (QQuickWebViewPrivate::QQuickWebViewPrivate):
18639 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
18640 (QQuickWebViewExperimental::authenticationDialog):
18641 (QQuickWebViewExperimental::setAuthenticationDialog):
18642 * UIProcess/API/qt/qquickwebview_p.h:
18643 * UIProcess/API/qt/qquickwebview_p_p.h:
18644 * UIProcess/PageClient.h:
18645 * UIProcess/WebPageProxy.cpp:
18646 (WebKit::WebPageProxy::authenticationRequiredRequest):
18647 * UIProcess/WebPageProxy.h:
18648 * UIProcess/WebPageProxy.messages.in:
18649 * UIProcess/qt/QtDialogRunner.cpp:
18650 (AuthenticationDialogContextObject::AuthenticationDialogContextObject):
18651 (AuthenticationDialogContextObject::hostname):
18652 (AuthenticationDialogContextObject::realm):
18653 (AuthenticationDialogContextObject::prefilledUsername):
18654 (AuthenticationDialogContextObject::accept):
18655 (AuthenticationDialogContextObject::reject):
18656 (QtDialogRunner::initForAuthentication):
18657 * UIProcess/qt/QtDialogRunner.h:
18658 (QtDialogRunner::username):
18659 (QtDialogRunner::password):
18660 (QtDialogRunner::onAuthenticationAccepted):
18661 * UIProcess/qt/QtPageClient.cpp:
18662 (QtPageClient::handleAuthenticationRequiredRequest):
18663 * UIProcess/qt/QtPageClient.h:
18664 * WebProcess/qt/QtNetworkAccessManager.cpp:
18665 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
18666 (WebKit::QtNetworkAccessManager::onAuthenticationRequired):
18667 * WebProcess/qt/QtNetworkAccessManager.h:
18669 2012-01-16 Dan Bernstein <mitz@apple.com>
18671 <rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks
18673 Reviewed by John Sullivan and Ada Chan.
18675 * UIProcess/API/mac/WKView.mm:
18676 (-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
18677 while [self window] is non-nil, check if there isn’t already an event monitor before adding
18680 2012-01-16 Anders Carlsson <andersca@apple.com>
18682 Crash when calling SecItemAdd with a null result pointer
18683 https://bugs.webkit.org/show_bug.cgi?id=76407
18684 <rdar://problem/10696087>
18686 Reviewed by Brady Eidson.
18690 * WebProcess/mac/SecItemShimMethods.mm:
18691 (WebKit::webSecItemAdd):
18693 2012-01-16 Jon Lee <jonlee@apple.com>
18695 Build fix for r105086.
18697 * Configurations/FeatureDefines.xcconfig:
18699 2012-01-16 Zeno Albisser <zeno@webkit.org>
18701 [Qt] Fix QT_VERSION related warnings when building on Mac OS X
18702 https://bugs.webkit.org/show_bug.cgi?id=76340
18704 This bug was caused by r104826.
18705 As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
18706 we should not use "using namespace WebCore" in header files,
18707 because it might cause ambiguous references.
18708 This patch reverts the changes from r104826 and r104981
18709 and removes the "using namespace WebCore" statement from
18712 Reviewed by Tor Arne Vestbø.
18714 * Shared/WebLayerTreeInfo.h:
18715 (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
18716 (WebKit::WebLayerAnimation::WebLayerAnimation):
18717 * UIProcess/LayerTreeHostProxy.h:
18718 (WebKit::LayerTreeHostProxy::layerByID):
18719 (WebKit::LayerTreeHostProxy::rootLayer):
18720 (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
18721 (WebKit::LayerTreeHostProxy::notifySyncRequired):
18722 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18723 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18724 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18726 2012-01-16 Alexander Færøy <alexander.faeroy@nokia.com>
18728 [Qt] Remove references to PagePointer in the FrameNetworkingContext
18729 https://bugs.webkit.org/show_bug.cgi?id=76342
18731 Reviewed by Simon Hausmann.
18733 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18734 (WebKit::WebFrameLoaderClient::createNetworkingContext):
18735 * WebProcess/qt/QtNetworkAccessManager.cpp:
18736 (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
18737 * WebProcess/qt/QtNetworkAccessManager.h:
18739 2012-01-14 Dan Bernstein <mitz@apple.com>
18741 <rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298
18743 Reviewed by Anders Carlsson.
18745 * WebProcess/mac/SecItemShimMethods.mm:
18746 (WebKit::initializeSecItemShim): Removed an early return that was accidentally added in r105008.
18748 2012-01-13 Anders Carlsson <andersca@apple.com>
18750 Delay updating the root compositing layer if the layer tree state is frozen
18751 https://bugs.webkit.org/show_bug.cgi?id=76316
18753 Reviewed by Dan Bernstein.
18755 When the layer tree is frozen, stash the root layer in m_pendingRootCompositingLayer and set it in flushLayers.
18757 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18758 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18759 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18760 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18762 2012-01-13 Anders Carlsson <andersca@apple.com>
18764 Implement TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen
18765 https://bugs.webkit.org/show_bug.cgi?id=76308
18767 Reviewed by Sam Weinig.
18769 Keep track of whether the layer tree state is frozen and suspend/resume the layer flush scheduler accordingly.
18771 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18772 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18773 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
18774 (WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):
18775 (WebKit::TiledCoreAnimationDrawingArea::layerTreeStateIsFrozen):
18776 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
18777 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18779 2012-01-13 Anders Carlsson <andersca@apple.com>
18781 Disable implicit animations when setting the root compositing layer
18782 https://bugs.webkit.org/show_bug.cgi?id=76304
18784 Reviewed by Sam Weinig.
18786 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18787 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18789 2012-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18791 TextureMapper: Extract layer transform logic to a LayerTransform class.
18792 https://bugs.webkit.org/show_bug.cgi?id=76291
18794 Reviewed by Noam Rosenthal.
18796 Move the paint call before the visible rect collection to make sure that
18797 transforms are computed. This will increase the delay for the visible rects
18798 to get to the WebProcess until we move this calculation out of the UI Process.
18799 This fixes an assert triggering in LayerTransform::combineTransforms.
18801 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18802 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18804 2012-01-13 Brent Fulgham <bfulgham@webkit.org>
18806 [WinCairo] Build correction.
18808 * Shared/WebGraphicsContext.h: Use proper include path for RefPtrCairo.h.
18810 2012-01-12 Martin Robinson <mrobinson@igalia.com>
18812 [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
18813 https://bugs.webkit.org/show_bug.cgi?id=74478
18815 Reviewed by Gustavo Noronha Silva.
18817 Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
18818 They are the WebCore types they are meant to represent and we will need to expose more
18819 information from them in the future to make them useful. Later we can have ResourceResponse
18820 generate a SoupMessage lazily if necessary.
18823 * UIProcess/API/gtk/WebKitURIRequest.cpp:
18824 (webkit_uri_request_class_init): Remove the set property vmethod.
18825 (webkit_uri_request_new): The URI property is no longer settable.
18826 (webkitURIRequestCreateForResourceRequest): Added this private constructor.
18827 (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
18828 * UIProcess/API/gtk/WebKitURIResponse.cpp:
18829 (webkit_uri_response_class_init): Remove the set property vmethod.
18830 (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
18831 (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
18832 (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
18833 (webkitURIResponseCreateForResourceResponse): Added this private constructor.
18834 * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
18836 2012-01-12 No'am Rosenthal <noam.rosenthal@nokia.com>
18838 [Qt][WK2] WebProcesses crashes when composited reflections/masks are present
18839 https://bugs.webkit.org/show_bug.cgi?id=75883
18841 Reviewed by Kenneth Rohde Christiansen.
18843 Make sure masks and replica layers can access layerTreeTileClient. Let masks
18844 have the right contents/visible rect so that they can render content tiles.
18845 Default the mask's size to be the layer's size.
18847 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18848 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
18849 (WebCore::WebGraphicsLayer::setSize):
18850 (WebCore::WebGraphicsLayer::setMaskLayer):
18851 (WebCore::WebGraphicsLayer::setReplicatedByLayer):
18852 (WebCore::WebGraphicsLayer::syncCompositingState):
18853 (WebCore::WebGraphicsLayer::setContentsScale):
18854 (WebCore::WebGraphicsLayer::setVisibleContentRect):
18855 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
18856 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
18857 (WebCore::WebGraphicsLayer::layerTreeTileClient):
18858 (WebCore::WebGraphicsLayer::purgeBackingStores):
18859 (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
18860 (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
18861 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18862 (WebCore::WebGraphicsLayer::maskTarget):
18863 (WebCore::WebGraphicsLayer::setMaskTarget):
18865 2012-01-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
18867 [Qt] Set the input method hints on the QtQuick item
18868 https://bugs.webkit.org/show_bug.cgi?id=76169
18870 Reviewed by Simon Hausmann.
18872 Set the input method hints given the HTMLElement type and state.
18874 * Shared/EditorState.cpp:
18875 (WebKit::EditorState::encode):
18876 (WebKit::EditorState::decode):
18877 * Shared/EditorState.h:
18878 (WebKit::EditorState::EditorState):
18879 * UIProcess/qt/QtWebPageEventHandler.cpp:
18880 (QtWebPageEventHandler::updateTextInputState):
18881 * WebProcess/WebPage/WebPage.cpp:
18882 (WebKit::WebPage::editorState):
18884 2012-01-12 Eunmi Lee <eunmi15.lee@samsung.com>
18886 [EFL][WK2] Update and show ewk_view with updated webpage.
18887 https://bugs.webkit.org/show_bug.cgi?id=76023
18889 Reviewed by Andreas Kling.
18891 Update ewk_view with BackingStore image which is rendered webpage
18892 image by WebProcess, and show updated image's area when
18893 PageClientImpl::setViewNeedsDisplay() is called.
18894 The ewk_view_display() function is used to display updated area of
18895 evas_object_image and the ewk_view_image_data_set() function is used
18896 to set evas_object_image's data with rendered webpage.
18898 * UIProcess/API/efl/PageClientImpl.cpp:
18899 (WebKit::PageClientImpl::setViewNeedsDisplay):
18900 * UIProcess/API/efl/ewk_private.h: Added.
18901 * UIProcess/API/efl/ewk_view.cpp:
18903 (ewk_view_display):
18904 (ewk_view_image_data_set):
18905 * UIProcess/cairo/BackingStoreCairo.cpp:
18906 (WebKit::BackingStore::incorporateUpdate):
18908 2012-01-12 Ryuan Choi <ryuan.choi@samsung.com>
18910 [EFL][WK2] Network is not available when SOUP is enabled.
18911 https://bugs.webkit.org/show_bug.cgi?id=76112
18913 Reviewed by Andreas Kling.
18915 ecore_main_loop_glib_integrate should be called to use glib based library
18918 * WebProcess/efl/WebProcessMainEfl.cpp:
18919 (WebKit::WebProcessMainEfl):
18921 2012-01-12 Ryuan Choi <ryuan.choi@samsung.com>
18923 [EFL][WK2] Add PLATFORM(EFL) in SharedMemory.h, WebProcessStore.h, WebEditorClient.cpp
18924 https://bugs.webkit.org/show_bug.cgi?id=76115
18926 Reviewed by Andreas Kling.
18928 This patch added PLATFORM(EFL) guard in SharedMemory.h to use UNIX_DOMAIN_SOCKETS
18929 and WebProcessStore.h to have font family preference
18930 and WebEditorClient.cpp to use platform specific handleKeyboardEvent(),
18931 handleInputMethodKeydown()
18933 * Platform/SharedMemory.h:
18934 * Shared/WebPreferencesStore.h:
18935 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18937 2012-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
18939 [GTK] Web process should use the same locale than UI process
18940 https://bugs.webkit.org/show_bug.cgi?id=76054
18942 Reviewed by Gustavo Noronha Silva.
18944 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18945 (WebKit::childSetupFunction): Make child process use the same
18946 locale than its parent.
18948 2012-01-11 Ryuan Choi <ryuan.choi@samsung.com>
18950 [WK2] Share cairo specific codes with EFL port.
18951 https://bugs.webkit.org/show_bug.cgi?id=75457
18953 Reviewed by Brent Fulgham.
18955 Change PLATFORM(GTK) to USE(CAIRO) in WebGraphicsContext{h,cpp} to share
18958 * Shared/WebGraphicsContext.cpp:
18959 (WebKit::WebGraphicsContext::WebGraphicsContext):
18960 * Shared/WebGraphicsContext.h:
18962 2012-01-11 Beth Dakin <bdakin@apple.com>
18964 https://bugs.webkit.org/show_bug.cgi?id=75904
18965 WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all
18967 -and corresponding-
18968 <rdar://problem/10498816>
18970 Reviewed by Darin Adler.
18972 This patch gets rid of the optional parameter called onlyUpdateScrollbars for
18973 WebCore::EventHandler::mouseMoved() and instead moves that functionality into
18974 its own function called passMouseMovedEventToScrollbars().
18975 * WebProcess/WebPage/WebPage.cpp:
18976 (WebKit::handleMouseEvent):
18978 2012-01-11 Brent Fulgham <bfulgham@webkit.org>
18980 WinCairo build correction.
18982 * UIProcess/WebPageProxy.h: Don't define viewWidget for WinCairo port.
18984 2012-01-11 Anders Carlsson <andersca@apple.com>
18986 Webpages flash white when switching between windows
18987 https://bugs.webkit.org/show_bug.cgi?id=76080
18988 <rdar://problem/9893565>
18990 Reviewed by Dan Bernstein.
18992 Introduce a _windowHasValidBackingStore boolean and only paint the background (white or clear)
18993 * UIProcess/API/mac/WKView.mm:
18994 (-[WKView setFrameSize:]):
18995 Set _windowHasValidBackingStore to false if the new size is different from the old size.
18997 (-[WKView viewDidMoveToWindow]):
18998 Set _windowHasValidBackingStore to false.
19000 (-[WKView _windowDidMiniaturize:]):
19001 Set _windowHasValidBackingStore to false.
19003 (-[WKView _windowDidChangeBackingProperties:]):
19004 Set _windowHasValidBackingStore to false.
19006 (-[WKView drawRect:]):
19007 Only call drawPageBackground if _windowHasValidBackingStore is false. Set it to true after painting.
19009 2012-01-11 Anders Carlsson <andersca@apple.com>
19011 Fix the Mac GCC build.
19013 Work around the fact that GCC doesn't work very well with Blocks and C++ objets.
19015 * UIProcess/mac/WebProcessProxyMac.mm:
19016 (WebKit::dispatchFunctionOnQueue):
19017 (WebKit::WebProcessProxy::secItemRequest):
19018 (WebKit::WebProcessProxy::secKeychainItemRequest):
19020 2012-01-11 No'am Rosenthal <noam.rosenthal@nokia.com>
19022 [Qt][WK2] Directly-composited images sometimes appear with a wrong geometry
19023 https://bugs.webkit.org/show_bug.cgi?id=75882
19025 Reviewed by Simon Hausmann.
19027 When assigning a directly composited image to a TextureMapperNode in WebKit2, we take
19028 contentsRect() onto account. However, contentsRect() might be changed after the image
19029 is already assigned.
19030 We have to reassign the image when contentsRect() changes. This is a pretty cheap
19031 operation, since the image is already converted to a texture and we simply change the
19034 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19035 (WebKit::LayerTreeHostProxy::syncLayerParameters):
19036 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19037 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19039 2012-01-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
19041 [Qt] Add the editor rect to the EditorState
19042 https://bugs.webkit.org/show_bug.cgi?id=76053
19044 Reviewed by Simon Hausmann.
19046 Also rename some members to match the new Qt naming scheme.
19048 * Shared/EditorState.cpp:
19049 (WebKit::EditorState::encode):
19050 (WebKit::EditorState::decode):
19051 * Shared/EditorState.h:
19052 * UIProcess/API/qt/qquickwebview.cpp:
19053 (QQuickWebView::inputMethodQuery):
19054 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19055 (WebKit::WebEditorClient::respondToChangedSelection):
19056 * WebProcess/WebPage/WebPage.cpp:
19057 (WebKit::WebPage::editorState):
19059 2012-01-11 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
19061 [GTK] Linking of big binaries should be serialized to avoid thrashing
19062 https://bugs.webkit.org/show_bug.cgi?id=75977
19064 Reviewed by Martin Robinson.
19066 Added artificial dependencies so that libwebkitgtk is always
19067 linked first, libwebkit2gtk second, and WebKitPluginProcess
19068 last. Automake unfortunately replaces the whole rule used to build
19069 the libraries if the actual name is used to add the dependency, so
19070 we use helper variables to work around that.
19074 2012-01-11 Ryuan Choi <ryuan.choi@samsung.com>
19076 [EFL][WK2] Rename viewObject to viewWidget
19077 https://bugs.webkit.org/show_bug.cgi?id=75947
19079 Reviewed by Martin Robinson.
19081 Rename viewObject to viewWidget for the EFL port to use WidgetBackingStore
19082 which calls viewWidget().
19084 * UIProcess/API/efl/PageClientImpl.cpp:
19085 (WebKit::PageClientImpl::PageClientImpl):
19086 (WebKit::PageClientImpl::setViewNeedsDisplay):
19087 (WebKit::PageClientImpl::viewSize):
19088 * UIProcess/API/efl/PageClientImpl.h:
19089 (WebKit::PageClientImpl::create):
19090 (WebKit::PageClientImpl::viewWidget):
19091 * UIProcess/WebPageProxy.h:
19092 * UIProcess/efl/WebPageProxyEfl.cpp:
19093 (WebKit::WebPageProxy::viewWidget):
19095 2012-01-10 Mark Rowe <mrowe@apple.com>
19097 REGRESSION (r104377): All pages print blank on Snow Leopard
19098 <http://webkit.org/b/75879> / <rdar://problem/10674335>
19100 We need to explicitly load PDFKit.framework before using PDFDocument and friends.
19101 On SnowLeopard the framework is not necessarily loaded by anything else before we
19102 print, which would lead to us failing to allocate the PDFDocument that we use for
19103 drawing the content from the web process.
19105 Reviewed by Dan Bernstein.
19107 * UIProcess/API/mac/WKPrintingView.mm:
19108 (pdfKitFrameworkPath): Construct the path to the PDFKit framework.
19109 (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the
19110 given class from it.
19111 (pdfAnnotationLinkClass): ASSERT that we found the class.
19112 (pdfDocumentClass): Ditto.
19114 2012-01-10 Chris Marrin <cmarrin@apple.com>
19116 Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
19120 * WebProcess/WebCoreSupport/WebChromeClient.h:
19122 2012-01-10 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
19124 [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
19125 https://bugs.webkit.org/show_bug.cgi?id=74176
19127 Reviewed by Noam Rosenthal.
19129 Check texture mapper exists already in ensureRootLayer to avoid recrecation.
19130 Check if root layer was deleted already in purgeGLResources.
19131 Added multipleWebViewWindows and multipleWebViews API tests.
19133 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19134 (tst_QQuickWebView::multipleWebViewWindows):
19135 (tst_QQuickWebView::multipleWebViews):
19136 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19137 (WebKit::LayerTreeHostProxy::ensureRootLayer):
19138 (WebKit::LayerTreeHostProxy::purgeGLResources):
19140 2012-01-10 Ryosuke Niwa <rniwa@webkit.org>
19142 Snow Leopard build fix.
19144 * UIProcess/API/mac/PageClientImpl.h:
19145 * UIProcess/API/mac/PageClientImpl.mm:
19147 2012-01-10 Anders Carlsson <andersca@apple.com>
19149 Hang opening movie that requires authentication
19150 https://bugs.webkit.org/show_bug.cgi?id=75989
19152 Reviewed by Sam Weinig.
19154 Change the way the keychain calls are processed to avoid deadlocks:
19156 1. When a keychain call is made, the web process sends an asynchronous request message to the UI process,
19157 avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending
19158 synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>.
19159 2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message.
19160 3. The UI process handles the incoming message request message on the connection work queue and uses
19161 dispatch_async to a global dispatch queue where the keychain call is made.
19162 We use a global queue to prevent the connection work queue from blocking on the call.
19163 4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from
19164 the global dispatch queue.
19165 5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals
19166 the condition variable that the web process is waiting on and the thread that made the keychain call
19167 can resume execution.
19169 * Shared/mac/SecItemRequestData.cpp:
19170 (WebKit::SecItemRequestData::SecItemRequestData):
19171 (WebKit::SecItemRequestData::encode):
19172 (WebKit::SecItemRequestData::decode):
19173 * Shared/mac/SecItemRequestData.h:
19174 (WebKit::SecItemRequestData::type):
19175 Add a type to SecItemRequestData and encode/decode it.
19177 * Shared/mac/SecItemResponseData.h:
19178 (WebKit::SecItemResponseData::resultObject):
19179 Make this return a reference so we can call leakRef() on it.
19181 * Shared/mac/SecKeychainItemRequestData.cpp:
19182 (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
19183 (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
19184 (WebKit::SecKeychainItemRequestData::attributeList):
19185 (WebKit::SecKeychainItemRequestData::encode):
19186 (WebKit::SecKeychainItemRequestData::decode):
19187 * Shared/mac/SecKeychainItemRequestData.h:
19188 (WebKit::SecKeychainItemRequestData::type):
19189 Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can
19190 correctly copy this object.
19192 * UIProcess/WebConnectionToWebProcess.cpp:
19193 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
19194 Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening.
19196 * UIProcess/WebProcessProxy.cpp:
19197 (WebKit::WebProcessProxy::disconnect):
19198 Remove the WebProcessProxy object from the list of connection queue clients.
19200 (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
19201 Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue.
19203 (WebKit::WebProcessProxy::didFinishLaunching):
19204 Add the WebProcessProxy as a queue client and open the connection.
19206 * UIProcess/WebProcessProxy.h:
19207 WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain
19208 handler functions with two generic functions, secItemRequest and secKeychainItemRequest.
19210 * UIProcess/WebProcessProxy.messages.in:
19211 Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages.
19213 * UIProcess/mac/WebProcessProxyMac.mm:
19214 (WebKit::handleSecItemRequest):
19215 Call the right SecItem function depending on the request type and send back the result.
19217 (WebKit::WebProcessProxy::secItemRequest):
19218 Dispatch handleSecItemRequest on a global dispatch queue.
19220 (WebKit::handleSecKeychainItemRequest):
19221 Call the right SecKeychainItem function depending on the request type and send back the result.
19223 (WebKit::WebProcessProxy::secKeychainItemRequest):
19224 Dispatch handleSecKeychainItemRequest on a global dispatch queue.
19226 * WebKit2.xcodeproj/project.pbxproj:
19227 Update for added/removed files.
19229 * WebProcess/WebProcess.h:
19230 Add secItemResponse and secKeychainItemResponse message handlers.
19232 * WebProcess/WebProcess.messages.in:
19233 Add SecItemResponse and SecKeychainItemResponse messages.
19235 * WebProcess/mac/CoreIPCClientRunLoop.h:
19236 * WebProcess/mac/CoreIPCClientRunLoop.mm:
19237 This is no longer needed.
19239 * WebProcess/mac/KeychainItemShimMethods.h:
19240 * WebProcess/mac/KeychainItemShimMethods.mm:
19241 (WebKit::managedAttributeLists):
19242 Make this an atomically initialized static.
19244 (WebKit::managedAttributeListsMutex):
19245 Add an atomically initialized mutex.
19247 (WebKit::allocateAttributeListContents):
19248 Use the managedAttributeListsMutex to make this function callable from any thread.
19250 (WebKit::managedKeychainItemContents):
19251 Make this an atomically initialized static.
19253 (WebKit::managedKeychainItemContentsMutex):
19254 Add an atomically initialized mutex.
19256 (WebKit::allocateKeychainItemContentData):
19257 Use the managedAttributeListsMutex to make this function callable from any thread.
19259 (WebKit::webFreeAttributeListContent):
19260 Use locking so this can be called from any thread.
19262 (WebKit::webFreeKeychainItemContent):
19265 (WebKit::responseMap):
19266 Add responseMap thread-safe singleton for holding incoming responses.
19268 (WebKit::generateSecKeychainItemRequestID):
19269 Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19271 (WebKit::didReceiveSecKeychainItemResponse):
19272 Pass the response over the response map.
19274 (WebKit::sendSeqKeychainItemRequest):
19275 Send a request message and wait for a response using ResponseMap::waitForResponse.
19277 (WebKit::webSecKeychainItemCopyContent):
19278 Send a request using sendSeqKeychainItemRequest.
19280 (WebKit::webSecKeychainItemCreateFromContent):
19283 (WebKit::webSecKeychainItemModifyContent):
19286 * WebProcess/mac/KeychainShimResponseMap.h:
19287 New thread-safe helper class that stores a map of responses and lets client wait for a response
19290 (KeychainShimResponseMap::waitForResponse):
19291 Wait until the response is available in the hash map, then return it.
19293 (KeychainShimResponseMap::didReceiveResponse):
19294 Add the response to the hash map and signal the condition variable.
19296 * WebProcess/mac/SecItemShimMethods.h:
19297 * WebProcess/mac/SecItemShimMethods.mm:
19298 (WebKit::responseMap):
19299 Add responseMap thread-safe singleton for holding incoming responses.
19301 (WebKit::generateSecItemRequestID):
19302 Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19304 (WebKit::didReceiveSecItemResponse):
19305 Pass the response over the response map.
19307 (WebKit::sendSeqItemRequest):
19308 Send a request message and wait for a response using ResponseMap::waitForResponse.
19310 (WebKit::webSecItemCopyMatching):
19311 Send a request using sendSeqItemRequest.
19313 (WebKit::webSecItemAdd):
19316 (WebKit::webSecItemUpdate):
19319 (WebKit::webSecItemDelete):
19322 * WebProcess/mac/WebProcessMac.mm:
19323 (WebKit::WebProcess::secItemResponse):
19324 Call didReceiveSecItemResponse.
19326 (WebKit::WebProcess::secKeychainItemResponse):
19327 Call didReceiveSecKeychainItemResponse.
19329 2012-01-10 Anders Carlsson <andersca@apple.com>
19331 DispatchOnConnectionQueue messages should have a Connection parameter
19332 https://bugs.webkit.org/show_bug.cgi?id=75986
19334 Reviewed by Adam Roben.
19336 Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection
19337 parameter, making it easier to send messages back over that connection.
19339 * Platform/CoreIPC/HandleMessage.h:
19340 (CoreIPC::callMemberFunction):
19341 (CoreIPC::handleMessageOnConnectionQueue):
19342 * Scripts/webkit2/messages.py:
19343 (async_case_statement):
19344 (generate_message_handler):
19345 * Scripts/webkit2/messages_unittest.py:
19346 * WebProcess/WebPage/EventDispatcher.cpp:
19347 (WebKit::EventDispatcher::wheelEvent):
19348 (WebKit::EventDispatcher::gestureEvent):
19349 * WebProcess/WebPage/EventDispatcher.h:
19350 * WebProcess/WebProcess.cpp:
19351 (WebKit::WebProcess::pluginProcessCrashed):
19352 * WebProcess/WebProcess.h:
19354 2012-01-10 Chris Marrin <cmarrin@apple.com>
19356 Turn off the FilterTrigger in WebKit and WebKit2
19357 https://bugs.webkit.org/show_bug.cgi?id=75914
19359 Reviewed by Simon Fraser.
19361 Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
19363 * WebProcess/WebCoreSupport/WebChromeClient.h:
19364 (WebKit::WebChromeClient::allowedCompositingTriggers):
19366 2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
19368 Unreviewed potential Mac WK2 build fix.
19370 * UIProcess/PageClient.h: forward declare WebGestureEvent.
19372 2012-01-10 Csaba Osztrogonác <ossy@webkit.org>
19374 Unreviewed, rolling out an accidental commit r104569.
19376 * Shared/EditorState.cpp:
19377 (WebKit::EditorState::encode):
19378 (WebKit::EditorState::decode):
19379 * Shared/EditorState.h:
19380 * UIProcess/API/qt/qquickwebview.cpp:
19381 (QQuickWebView::inputMethodQuery):
19382 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19383 (WebKit::WebEditorClient::respondToChangedSelection):
19384 * WebProcess/WebPage/WebPage.cpp:
19385 (WebKit::WebPage::editorState):
19387 2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
19389 Unreviewed potential Mac WK2 build fix.
19391 * UIProcess/API/mac/PageClientImpl.h:
19392 * UIProcess/API/mac/PageClientImpl.mm:
19393 (WebKit::PageClientImpl::doneWithGestureEvent):
19395 2012-01-10 Rafael Brandao <rafael.lobo@openbossa.org>
19397 [Qt][WK2] Add font-related API tests for QWebPreferences
19398 https://bugs.webkit.org/show_bug.cgi?id=75739
19400 Reviewed by Zoltan Herczeg.
19402 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
19403 * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added.
19405 2012-01-10 Simon Hausmann <simon.hausmann@nokia.com>
19407 [Qt] Fix failing WK2 layout tests after r104557
19409 Reviewed by Kenneth Rohde Christiansen.
19411 * UIProcess/WebPageProxy.cpp:
19412 (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not
19413 handle mouseDown as gesture event.
19415 2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
19417 Unreviewed buildfix.
19419 * UIProcess/WebPageProxy.h:
19421 2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
19423 Implement the input panel request/close handling
19425 Reviewed by Simon Hausmann.
19427 With the current patch we only request the input panel as a
19428 response to a user tap. Close requests, on the other hand,
19429 is always respected.
19431 As multiple show/hide requests can happen while processing
19432 the tap gesture, input panel visibility changes are postponed
19433 until the tap gesture ends.
19435 The input panel will become visible if the WebCore editor is
19436 in canEdit mode and thus work for content-editable, meaning
19437 that it won't close the input panel if you click on a link
19438 (eg. editCommand) while in content-editable mode.
19440 * UIProcess/PageClient.h:
19441 * UIProcess/WebPageProxy.cpp:
19442 (WebKit::WebPageProxy::handleGestureEvent):
19443 (WebKit::WebPageProxy::editorStateChanged):
19444 (WebKit::WebPageProxy::didReceiveEvent):
19446 Add a new doneWithGestureEvent method to the PageClient
19447 as well as add a updateTextInputState similar to that of mac.
19449 * UIProcess/WebPageProxy.h:
19450 * UIProcess/qt/QtPageClient.cpp:
19451 (QtPageClient::updateTextInputState):
19452 (QtPageClient::doneWithGestureEvent):
19454 Propagate the new events to the Qt EventHandler.
19456 * UIProcess/qt/QtPageClient.h:
19457 * UIProcess/qt/QtWebPageEventHandler.cpp:
19458 * UIProcess/qt/QtWebPageEventHandler.h:
19459 (QtWebPageEventHandler::QtWebPageEventHandler):
19460 (QtWebPageEventHandler::handleSingleTapEvent):
19461 (setInputPanelVisible):
19462 (QtWebPageEventHandler::updateTextInputState):
19463 (QtWebPageEventHandler::doneWithGestureEvent):
19465 Handle postponing of the input method visibility change
19466 and the actual showing/hiding.
19468 2012-01-10 Eunmi Lee <eunmi15.lee@samsung.com>
19470 [EFL][WK2] Remove codes to move and resize the clip.
19471 https://bugs.webkit.org/show_bug.cgi?id=75428
19473 Reviewed by Andreas Kling.
19475 Remove codes to move and resize the clip because clip is not used now.
19476 We have to show whole area of evas_object_image so we don't have to
19478 In the WebKit1 Efl, the clip is used to clip the area to show during
19479 weak zoom, so we can use codes to manipulate the clip when we want to
19480 implement weak zoom for WebKit2 Efl.
19482 * UIProcess/API/efl/ewk_view.cpp:
19483 (_ewk_view_smart_calculate):
19485 2012-01-09 Andras Becsi <andras.becsi@nokia.com>
19487 [Qt][WK2] Pinch zoom should affect the page size
19488 https://bugs.webkit.org/show_bug.cgi?id=74601
19490 Reviewed by Kenneth Rohde Christiansen.
19492 The current implementation uses the scale property of the QQuickWebPage
19493 to scale the page in response to pinch gestures.
19494 However for layout and anchoring to work correctly in QML, pinching needs
19495 to change the page size.
19496 This patch applies the pinch scale to the page size and to the transformation
19497 matrix of the drawing area.
19498 Thus the page item's coordinate system is no longer a direct representation
19499 of the WebCore::Page coordinate system and it is no longer suitable as
19500 an inertial frame of reference for input events. The event propagation had
19501 to be moved to the QQuickWebView and the positions translated to content
19502 coordinates when NativeWebEvents are created.
19503 Re-landing with fixed event delivery for the test infrastructure.
19505 * Shared/NativeWebMouseEvent.h:
19506 * Shared/NativeWebTouchEvent.h:
19507 * Shared/NativeWebWheelEvent.h:
19508 * Shared/qt/NativeWebMouseEventQt.cpp:
19509 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
19510 * Shared/qt/NativeWebTouchEventQt.cpp:
19511 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
19512 * Shared/qt/NativeWebWheelEventQt.cpp:
19513 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
19514 * Shared/qt/WebEventFactoryQt.cpp:
19515 (WebKit::WebEventFactory::createWebMouseEvent):
19516 (WebKit::WebEventFactory::createWebWheelEvent):
19517 (WebKit::WebEventFactory::createWebTouchEvent):
19518 * Shared/qt/WebEventFactoryQt.h:
19519 * UIProcess/API/qt/qquickwebpage.cpp:
19520 (QQuickWebPage::geometryChanged):
19521 (QQuickWebPagePrivate::QQuickWebPagePrivate):
19522 (QQuickWebPagePrivate::paintToCurrentGLContext):
19523 (QQuickWebPage::usesTraditionalDesktopBehaviour):
19524 (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
19525 (QQuickWebPage::eventHandler):
19526 (QQuickWebPage::setContentSize):
19527 (QQuickWebPage::contentSize):
19528 (QQuickWebPage::setContentScale):
19529 (QQuickWebPage::contentScale):
19530 (QQuickWebPage::transformFromItem):
19531 (QQuickWebPage::transformToItem):
19532 (QQuickWebPagePrivate::updateSize):
19533 * UIProcess/API/qt/qquickwebpage_p.h:
19534 * UIProcess/API/qt/qquickwebpage_p_p.h:
19535 * UIProcess/API/qt/qquickwebview.cpp:
19536 (QQuickWebViewPrivate::enableMouseEvents):
19537 (QQuickWebViewPrivate::disableMouseEvents):
19538 (QQuickWebViewPrivate::loadDidCommit):
19539 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
19540 (QQuickWebViewPrivate::didChangeContentsSize):
19541 (QQuickWebViewPrivate::didChangeViewportProperties):
19542 (QQuickWebViewPrivate::pageDidRequestScroll):
19543 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
19544 (QQuickWebViewPrivate::PostTransitionState::apply):
19545 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
19546 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
19547 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
19548 (QQuickWebView::mapToWebContent):
19549 (QQuickWebView::mapRectToWebContent):
19550 (QQuickWebView::mapFromWebContent):
19551 (QQuickWebView::mapRectFromWebContent):
19552 (QQuickWebView::geometryChanged):
19553 (QQuickWebView::keyPressEvent):
19554 (QQuickWebView::keyReleaseEvent):
19555 (QQuickWebView::inputMethodEvent):
19556 (QQuickWebView::focusInEvent):
19557 (QQuickWebView::focusOutEvent):
19558 (QQuickWebView::touchEvent):
19559 (QQuickWebView::mousePressEvent):
19560 (QQuickWebView::mouseMoveEvent):
19561 (QQuickWebView::mouseReleaseEvent):
19562 (QQuickWebView::mouseDoubleClickEvent):
19563 (QQuickWebView::wheelEvent):
19564 (QQuickWebView::hoverEnterEvent):
19565 (QQuickWebView::hoverMoveEvent):
19566 (QQuickWebView::hoverLeaveEvent):
19567 (QQuickWebView::dragMoveEvent):
19568 (QQuickWebView::dragEnterEvent):
19569 (QQuickWebView::dragLeaveEvent):
19570 (QQuickWebView::dropEvent):
19571 (QQuickWebView::event):
19572 * UIProcess/API/qt/qquickwebview_p.h:
19573 * UIProcess/API/qt/qquickwebview_p_p.h:
19574 * UIProcess/API/qt/qwebviewportinfo.cpp:
19575 (QWebViewportInfo::contentsSize):
19576 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19577 (tst_QQuickWebView::scrollRequest):
19578 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
19579 (WebKit::QtPinchGestureRecognizer::recognize):
19580 * UIProcess/qt/QtViewportInteractionEngine.cpp:
19581 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
19582 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
19583 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
19584 (WebKit::QtViewportInteractionEngine::event):
19585 (WebKit::QtViewportInteractionEngine::wheelEvent):
19586 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
19587 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
19588 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
19589 (WebKit::QtViewportInteractionEngine::applyConstraints):
19590 (WebKit::QtViewportInteractionEngine::currentCSSScale):
19591 (WebKit::QtViewportInteractionEngine::panGestureStarted):
19592 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
19593 (WebKit::QtViewportInteractionEngine::panGestureEnded):
19594 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
19595 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
19596 (WebKit::QtViewportInteractionEngine::scaleContent):
19597 * UIProcess/qt/QtViewportInteractionEngine.h:
19598 * UIProcess/qt/QtWebPageEventHandler.cpp:
19599 (QtWebPageEventHandler::handleEvent):
19600 (QtWebPageEventHandler::handleMouseMoveEvent):
19601 (QtWebPageEventHandler::handleMousePressEvent):
19602 (QtWebPageEventHandler::handleMouseReleaseEvent):
19603 (QtWebPageEventHandler::handleWheelEvent):
19604 (QtWebPageEventHandler::handleHoverLeaveEvent):
19605 (QtWebPageEventHandler::handleHoverMoveEvent):
19606 (QtWebPageEventHandler::handleDragEnterEvent):
19607 (QtWebPageEventHandler::handleDragMoveEvent):
19608 (QtWebPageEventHandler::handleDropEvent):
19609 (QtWebPageEventHandler::handleSingleTapEvent):
19610 (QtWebPageEventHandler::handleDoubleTapEvent):
19611 (QtWebPageEventHandler::touchEvent):
19612 * UIProcess/qt/QtWebPageEventHandler.h:
19614 2012-01-09 Eunmi Lee <eunmi15.lee@samsung.com>
19616 [EFL][WK2] Set color_set function to the clipped smart class.
19617 https://bugs.webkit.org/show_bug.cgi?id=75286
19619 Reviewed by Andreas Kling.
19621 Set _ewk_view_smart_color_set() function to the clipped smart class's color_set,
19622 so application can set webpage's background color using evas_object_color_set() API.
19624 * UIProcess/API/efl/ewk_view.cpp:
19625 (_ewk_view_smart_color_set):
19626 (ewk_view_smart_class_init):
19628 2012-01-08 Dan Bernstein <mitz@apple.com>
19630 REGRESSION (r103859): WKViews leak
19631 https://bugs.webkit.org/show_bug.cgi?id=75805
19633 The flags changed event monitor added in r103859 was retaining the WKView (as it references
19634 self in the handler block), causing it to leak.
19636 * UIProcess/API/mac/WKView.mm:
19637 (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here...
19638 (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event
19639 monitor to here from...
19640 (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here.
19642 2012-01-06 Mark Rowe <mrowe@apple.com>
19644 REGRESSION (WebKit2): Save as PDF no longer generates links to URLs
19645 <http://webkit.org/b/65076> / <rdar://problem/9606246>
19647 WebKit2 printing works by having the web process render the page content to a PDF. The PDF
19648 data is then shipped to the UI process which will render it in to the printing graphics context.
19649 Links were being lost because the API used to do the rendering of the PDF in to the printing
19650 graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the
19651 PDF content received from the web process.
19653 To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context.
19654 PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and
19655 add links in to the printing graphics context.
19657 Reviewed by Alexey Proskuryakov.
19659 * UIProcess/API/mac/WKPrintingView.h:
19660 * UIProcess/API/mac/WKPrintingView.mm:
19661 (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily.
19662 (pdfDocumentClass): Ditto.
19663 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types.
19664 Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink
19666 (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument.
19667 (-[WKPrintingView drawRect:]): Ditto.
19668 * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled.
19670 2012-01-06 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
19672 [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload
19673 https://bugs.webkit.org/show_bug.cgi?id=75746
19675 Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent
19676 layers from ~LayerTreeHostQt(). This replaces r103760 which
19677 causes leaks of GraphicsLayerTextureMapper objects on UI side.
19679 Reviewed by Noam Rosenthal.
19681 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19682 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19683 (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
19684 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
19685 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
19686 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
19688 2012-01-06 Alexey Proskuryakov <ap@apple.com>
19690 [Mac] Thread verifier assertions when printing
19691 https://bugs.webkit.org/show_bug.cgi?id=75738
19693 Reviewed by Sam Weinig.
19695 * UIProcess/API/mac/WKPrintingView.mm:
19696 (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get
19697 deref'ed from a secondary one.
19698 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client,
19699 which only expects that on main thread.
19700 (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main
19703 2012-01-06 Alexey Proskuryakov <ap@apple.com>
19705 Need to allow SCNetworkReachability service in sandbox profile
19706 https://bugs.webkit.org/show_bug.cgi?id=75724
19707 <rdar://problem/10652415>
19709 Reviewed by Mark Rowe.
19711 * WebProcess/com.apple.WebProcess.sb:
19713 2012-01-06 Benjamin Poulain <bpoulain@apple.com>
19715 [Mac] Sort the resources of WebKit2.xcodeproj
19716 https://bugs.webkit.org/show_bug.cgi?id=75636
19718 Reviewed by Andreas Kling.
19720 * WebKit2.xcodeproj/project.pbxproj:
19722 2012-01-06 Rafael Brandao <rafael.lobo@openbossa.org>
19724 [Qt][WK2] QQuickWebView breaks when an empty url is loaded
19725 https://bugs.webkit.org/show_bug.cgi?id=75445
19727 Reviewed by Tor Arne Vestbø.
19729 * UIProcess/API/qt/qquickwebview.cpp:
19730 (QQuickWebView::load):
19731 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
19732 an empty url is ignored. 'about:blank' should be used instead to load an empty page.
19733 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19735 2012-01-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
19737 [Qt] Move listing of include paths and libs to pri files in sources
19739 Includepaths are sometimes modified by non-Qt contributors so keeping
19740 them in files inside Sources makes it more likely that they are updated
19741 along with project files for the other ports.
19743 Using pri files instead of prf files for this also has the benefit that
19744 the include() from the main target file can be parsed and followed by
19745 Qt Creator -- something that does not work with load().
19747 Dependency from a target to a library through the WEBKIT variable are
19748 handled through forwarding-files in Tools/qmake/mkspecs/modules, which
19749 set the source root of the module and include the right pri file.
19751 Ideally we'd use the variant of include() that takes an optional
19752 namespace to read the variables into, or the fromfile() function,
19753 but both of these add an overhead of about 40% on the total qmake
19754 runtime, due to making a deep copy of all the variables in the
19755 project or re-reading all the prf files from scratch.
19757 Reviewed by Simon Hausmann.
19761 * WebKit2.pri: Renamed from Tools/qmake/mkspecs/features/webkit2.prf.
19763 2012-01-06 Zeno Albisser <zeno@webkit.org>
19765 [Qt][WK2] Add test for application URL schemes.
19766 https://bugs.webkit.org/show_bug.cgi?id=74933
19768 Reviewed by Kenneth Rohde Christiansen.
19770 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added.
19771 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19773 2012-01-05 Dan Bernstein <mitz@apple.com>
19775 <rdar://problem/10633760> Update copyright strings
19777 Reviewed by Mark Rowe.
19780 * PluginProcess/Info.plist:
19781 * WebProcess/Info.plist:
19783 2012-01-05 Anders Carlsson <andersca@apple.com>
19785 Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
19786 https://bugs.webkit.org/show_bug.cgi?id=75667
19787 <rdar://problem/10389454>
19789 Reviewed by Kevin Decker.
19791 NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map
19792 whose plug-in has a null frame, we'd crash.
19794 The plug-in will have a null frame if the plug-in view is destroyed because its containing frame has been removed from the document,
19795 and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame
19796 (see PluginView::unprotectPluginFromDestruction).
19798 The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global
19799 object, causing a null dereference. The reason we were trying to get at the frame's global object was to create a Strong handle to
19800 a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on
19801 each JSNPObject which will end up releasing the underlying NPObject.
19803 However, it turns out that we don't need to stick the JSNPObject in a vector; we can just get the underlying NPObject directly and
19804 stick that in a vector and then iterate over the NPObjects, releasing them.
19806 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
19807 (WebKit::NPRuntimeObjectMap::invalidate):
19809 2012-01-05 Alexey Proskuryakov <ap@apple.com>
19811 REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
19812 https://bugs.webkit.org/show_bug.cgi?id=75578
19814 Reviewed by Daniel Bates.
19816 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
19817 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
19818 Check for a correct struct member existence.
19820 2012-01-05 Alexey Proskuryakov <ap@apple.com>
19822 WK2: Safari fails to open a PostScript file in Preview from context menu
19823 https://bugs.webkit.org/show_bug.cgi?id=75643
19824 <rdar://problem/9823430>
19826 Reviewed by Dan Bernstein.
19828 * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData):
19829 Append ".pdf" to file name when converting data, as suggested file name is created for
19830 original MIME type.
19832 2012-01-05 Zeno Albisser <zeno@webkit.org>
19834 [Qt][WK2] Implement custom URL schemes defined in QML.
19835 https://bugs.webkit.org/show_bug.cgi?id=74931
19837 Allow creation of custom UrlSchemeDelegates from QML.
19838 A UrlSchemeDelegate contains a handler signal that is triggered
19839 when a url matching the defined scheme is requested.
19840 To allow for this a derivation of QNetworkAccessManager
19842 The request is then handled in QML/JS and a reply
19843 is sent back from the UIProcess to the WebProcess.
19845 Reviewed by Kenneth Rohde Christiansen.
19847 * Shared/qt/QtNetworkReplyData.cpp: Added.
19848 (WebKit::QtNetworkReplyData::QtNetworkReplyData):
19849 (WebKit::QtNetworkReplyData::encode):
19850 (WebKit::QtNetworkReplyData::decode):
19851 * Shared/qt/QtNetworkReplyData.h: Added.
19852 * Shared/qt/QtNetworkRequestData.cpp: Added.
19853 (WebKit::QtNetworkRequestData::QtNetworkRequestData):
19854 (WebKit::QtNetworkRequestData::encode):
19855 (WebKit::QtNetworkRequestData::decode):
19856 * Shared/qt/QtNetworkRequestData.h: Added.
19858 * UIProcess/API/qt/qquicknetworkreply.cpp: Added.
19859 (QQuickNetworkReply::QQuickNetworkReply):
19860 (QQuickNetworkReply::contentType):
19861 (QQuickNetworkReply::setContentType):
19862 (QQuickNetworkReply::operation):
19863 (QQuickNetworkReply::setOperation):
19864 (QQuickNetworkReply::contentDisposition):
19865 (QQuickNetworkReply::setContentDisposition):
19866 (QQuickNetworkReply::location):
19867 (QQuickNetworkReply::setLocation):
19868 (QQuickNetworkReply::lastModified):
19869 (QQuickNetworkReply::setLastModified):
19870 (QQuickNetworkReply::cookie):
19871 (QQuickNetworkReply::setCookie):
19872 (QQuickNetworkReply::userAgent):
19873 (QQuickNetworkReply::setUserAgent):
19874 (QQuickNetworkReply::server):
19875 (QQuickNetworkReply::setServer):
19876 (QQuickNetworkReply::data):
19877 (QQuickNetworkReply::setData):
19878 (QQuickNetworkReply::send):
19879 (QQuickNetworkReply::networkRequestData):
19880 (QQuickNetworkReply::setNetworkRequestData):
19881 (QQuickNetworkReply::networkReplyData):
19882 * UIProcess/API/qt/qquicknetworkreply_p.h: Added.
19883 * UIProcess/API/qt/qquicknetworkrequest_p.h: Added.
19884 * UIProcess/API/qt/qquickurlschemedelegate.cpp: Added.
19885 (QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate):
19886 (QQuickUrlSchemeDelegate::scheme):
19887 (QQuickUrlSchemeDelegate::setScheme):
19888 (QQuickUrlSchemeDelegate::request):
19889 (QQuickUrlSchemeDelegate::reply):
19890 * UIProcess/API/qt/qquickurlschemedelegate_p.h: Added.
19891 * UIProcess/API/qt/qquickwebview.cpp:
19892 (QQuickWebViewExperimental::QQuickWebViewExperimental):
19893 (QQuickWebViewExperimental::schemeDelegates_At):
19894 (QQuickWebViewExperimental::schemeDelegates_Append):
19895 (QQuickWebViewExperimental::schemeDelegates_Count):
19896 (QQuickWebViewExperimental::schemeDelegates_Clear):
19897 (QQuickWebViewExperimental::schemeDelegates):
19898 (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
19899 (QQuickWebViewExperimental::sendApplicationSchemeReply):
19900 * UIProcess/API/qt/qquickwebview_p.h:
19901 * UIProcess/WebPageProxy.h:
19902 * UIProcess/WebPageProxy.messages.in:
19903 * UIProcess/qt/QtPageClient.cpp:
19904 (QtPageClient::handleApplicationSchemeRequest):
19905 * UIProcess/qt/QtPageClient.h:
19906 * UIProcess/qt/WebPageProxyQt.cpp:
19907 (WebKit::WebPageProxy::registerApplicationScheme):
19908 (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
19909 (WebKit::WebPageProxy::sendApplicationSchemeReply):
19910 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19911 (WebKit::WebFrameLoaderClient::createNetworkingContext):
19912 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19913 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19914 * WebProcess/WebPage/WebPage.h:
19915 * WebProcess/WebPage/WebPage.messages.in:
19916 * WebProcess/WebPage/qt/WebPageQt.cpp:
19917 (WebKit::WebPage::registerApplicationScheme):
19918 (WebKit::WebPage::receivedApplicationSchemeRequest):
19919 (WebKit::WebPage::applicationSchemeReply):
19920 * WebProcess/qt/QtNetworkAccessManager.cpp: Added.
19921 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
19922 (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
19923 (WebKit::QtNetworkAccessManager::createRequest):
19924 (WebKit::QtNetworkAccessManager::registerApplicationScheme):
19925 * WebProcess/qt/QtNetworkAccessManager.h: Added.
19926 * WebProcess/qt/QtNetworkReply.cpp: Added.
19927 (WebKit::QtNetworkReply::QtNetworkReply):
19928 (WebKit::QtNetworkReply::setData):
19929 (WebKit::QtNetworkReply::setReplyData):
19930 (WebKit::QtNetworkReply::readData):
19931 (WebKit::QtNetworkReply::bytesAvailable):
19932 (WebKit::QtNetworkReply::setHeader):
19933 (WebKit::QtNetworkReply::abort):
19934 (WebKit::QtNetworkReply::close):
19935 (WebKit::QtNetworkReply::setReadBufferSize):
19936 (WebKit::QtNetworkReply::canReadLine):
19937 (WebKit::QtNetworkReply::finalize):
19938 * WebProcess/qt/QtNetworkReply.h: Added.
19939 * WebProcess/qt/WebProcessQt.cpp:
19940 (WebKit::WebProcess::platformInitializeWebProcess):
19942 2012-01-05 Fady Samuel <fsamuel@chromium.org>
19944 Move scalePageBy from eventSender to window.internals
19945 https://bugs.webkit.org/show_bug.cgi?id=64512
19947 Reviewed by Simon Fraser.
19950 * win/WebKit2CFLite.def:
19952 2012-01-05 Alexander Færøy <alexander.faeroy@nokia.com>
19954 Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
19955 https://bugs.webkit.org/show_bug.cgi?id=75550
19957 Make the WebKit2 FrameNetworkingContext implementation store the
19958 WebFrame instead of the WebCore::Frame as this is needed for the Qt
19959 port to implement a.o. HTTP autentication and SSL support.
19961 As the WebFrameNetworkingContext is partly shared across all WebKit2 ports,
19962 all port specific files have been modified.
19964 For the Qt implementation of FrameNetworkingContext, we also set a
19965 property to the originatingObject for the page ID. We also switch to
19966 using an OwnPtr instead of a raw C++ pointer for the
19967 m_originatingObject member.
19969 Based on original patch by Peter Hartmann.
19971 Reviewed by Kenneth Rohde Christiansen.
19973 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19974 (WebKit::WebFrameLoaderClient::createNetworkingContext):
19975 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
19976 (WebFrameNetworkingContext::create):
19977 (WebFrameNetworkingContext::WebFrameNetworkingContext):
19978 * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h:
19979 (WebFrameNetworkingContext::create):
19980 (WebFrameNetworkingContext::WebFrameNetworkingContext):
19981 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
19982 (WebKit::WebFrameNetworkingContext::create):
19983 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
19984 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19985 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
19986 (WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext):
19987 (WebCore::WebFrameNetworkingContext::create):
19988 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19989 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
19990 (WebFrameNetworkingContext::create):
19991 (WebFrameNetworkingContext::WebFrameNetworkingContext):
19993 2012-01-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
19995 [Qt] Implement QQuickWebView::inputMethodQuery
19997 Reviewed by Simon Hausmann.
19999 Implement the current Qt5 queries of inputMethodQuery.
20001 * UIProcess/API/qt/qquickwebview.cpp:
20002 (QQuickWebView::inputMethodQuery):
20003 * UIProcess/API/qt/qquickwebview_p.h:
20005 2012-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
20007 [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
20008 https://bugs.webkit.org/show_bug.cgi?id=75248
20010 Reviewed by Gustavo Noronha Silva.
20012 It uses the page zoom factor unconditionally for now.
20014 * UIProcess/API/gtk/WebKitWebView.cpp:
20015 (webkitWebViewSetProperty):
20016 (webkitWebViewGetProperty):
20017 (webkit_web_view_class_init): Add WebKitWebView:zoom-level
20019 (webkit_web_view_set_zoom_level): Set current zoom level.
20020 (webkit_web_view_get_zoom_level): Get current zoom level.
20021 * UIProcess/API/gtk/WebKitWebView.h:
20022 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
20023 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20024 (testWebViewZoomLevel):
20027 2012-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
20029 [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
20030 https://bugs.webkit.org/show_bug.cgi?id=75433
20032 Reviewed by Martin Robinson.
20034 * UIProcess/API/gtk/WebKitWebView.cpp:
20035 (webkitWebViewLoadFail): Use webkit_web_view_replace_content().
20036 (webkitWebViewLoadChanged): Do not emit load-changed signal when
20038 (webkitWebViewLoadFailed): Do not emit load-failed signal when
20040 (webkitWebViewSetEstimatedLoadProgress): Do not emit
20041 notify::estimated-load-progress signal when replacing content.
20042 (webkit_web_view_replace_content):
20043 * UIProcess/API/gtk/WebKitWebView.h:
20044 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
20045 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20047 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20048 (replaceContentTitleChangedCallback):
20049 (replaceContentLoadCallback):
20050 (testWebViewReplaceContent):
20052 * UIProcess/API/gtk/tests/WebViewTest.cpp:
20053 (WebViewTest::replaceContent):
20054 * UIProcess/API/gtk/tests/WebViewTest.h:
20056 2012-01-05 Keunsoon Lee <keunsoon.lee@samsung.com>
20058 [WK2][EFL] creating dummy functions for Download class on Efl port.
20059 https://bugs.webkit.org/show_bug.cgi?id=75246
20061 dummy functions for Download class on Efl port
20063 Reviewed by Hajime Morita.
20065 * PlatformEfl.cmake: add new file to compile
20066 * WebProcess/Downloads/efl: Added.
20067 * WebProcess/Downloads/efl/DownloadEfl.cpp: Added.
20068 (WebKit::Download::start):
20069 (WebKit::Download::startWithHandle):
20070 (WebKit::Download::cancel):
20071 (WebKit::Download::platformInvalidate):
20072 (WebKit::Download::didDecideDestination):
20073 (WebKit::Download::platformDidFinish):
20074 (WebKit::Download::receivedCredential):
20075 (WebKit::Download::receivedRequestToContinueWithoutCredential):
20076 (WebKit::Download::receivedCancellation):
20077 (WebKit::Download::useCredential):
20078 (WebKit::Download::continueWithoutCredential):
20079 (WebKit::Download::cancelAuthenticationChallenge):
20081 2012-01-04 Dan Bernstein <mitz@apple.com>
20083 Allow WebProcess to launch a client process and become its first WebProcess.
20085 This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
20087 Reviewed by Anders Carlsson.
20089 * PluginProcess/mac/PluginProcessMainMac.mm:
20090 (WebKit::PluginProcessMain): Added a newline to stderr output.
20091 * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
20092 (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
20093 of the environment variable that optionally tells a UI processs to look for a preexisting
20094 web process instead of launching a new one.
20095 (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
20096 environment variable that tells a UI process the type of the preexisting web process
20097 indicated by the other variable.
20098 * UIProcess/Launcher/mac/EnvironmentVariables.h:
20099 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
20100 (WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
20101 the aforementioned environment variables are set and the preexisting process has not been
20103 * WebProcess/mac/WebProcessMainMac.mm:
20104 (WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
20105 and if present, launch the specified executable, setting variables in its environment that
20106 tell it to use this preexisting web process, then wait for it to send a send right to its
20109 2012-01-04 Alexey Proskuryakov <ap@apple.com>
20111 First sentence is missing or clipped when printing a inline PDF
20112 https://bugs.webkit.org/show_bug.cgi?id=75514
20113 <rdar://problem/10640680>
20115 Reviewed by Dan Bernstein.
20117 * UIProcess/WebPageProxy.cpp:
20118 (WebKit::WebPageProxy::headerHeight):
20119 (WebKit::WebPageProxy::footerHeight):
20120 (WebKit::WebPageProxy::drawHeader):
20121 (WebKit::WebPageProxy::drawFooter):
20122 Do not ask the client about headers and footers when printing a PDF.
20124 2012-01-04 Alexander Færøy <alexander.faeroy@nokia.com>
20126 [Qt] Fix test regressions after r104025
20127 https://bugs.webkit.org/show_bug.cgi?id=75545
20129 Reviewed by Kenneth Rohde Christiansen.
20131 * WebProcess/WebPage/WebPage.cpp:
20132 (WebKit::WebPage::editorState):
20134 2012-01-04 Andras Becsi <andras.becsi@nokia.com>
20136 REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
20137 https://bugs.webkit.org/show_bug.cgi?id=75542
20140 [Qt][WK2] Pinch zoom should affect the page size
20141 https://bugs.webkit.org/show_bug.cgi?id=74601
20143 Unreviewed roll-out.
20145 * Shared/NativeWebMouseEvent.h:
20146 * Shared/NativeWebTouchEvent.h:
20147 * Shared/NativeWebWheelEvent.h:
20148 * Shared/qt/NativeWebMouseEventQt.cpp:
20149 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20150 * Shared/qt/NativeWebTouchEventQt.cpp:
20151 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20152 * Shared/qt/NativeWebWheelEventQt.cpp:
20153 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20154 * Shared/qt/WebEventFactoryQt.cpp:
20155 (WebKit::WebEventFactory::createWebMouseEvent):
20156 (WebKit::WebEventFactory::createWebWheelEvent):
20157 (WebKit::WebEventFactory::createWebTouchEvent):
20158 * Shared/qt/WebEventFactoryQt.h:
20159 * UIProcess/API/qt/qquickwebpage.cpp:
20160 (QQuickWebPage::keyPressEvent):
20161 (QQuickWebPage::keyReleaseEvent):
20162 (QQuickWebPage::inputMethodEvent):
20163 (QQuickWebPage::focusInEvent):
20164 (QQuickWebPage::focusOutEvent):
20165 (QQuickWebPage::mousePressEvent):
20166 (QQuickWebPage::mouseMoveEvent):
20167 (QQuickWebPage::mouseReleaseEvent):
20168 (QQuickWebPage::mouseDoubleClickEvent):
20169 (QQuickWebPage::wheelEvent):
20170 (QQuickWebPage::hoverEnterEvent):
20171 (QQuickWebPage::hoverMoveEvent):
20172 (QQuickWebPage::hoverLeaveEvent):
20173 (QQuickWebPage::dragMoveEvent):
20174 (QQuickWebPage::dragEnterEvent):
20175 (QQuickWebPage::dragLeaveEvent):
20176 (QQuickWebPage::dropEvent):
20177 (QQuickWebPage::geometryChanged):
20178 (QQuickWebPage::event):
20179 (QQuickWebPage::touchEvent):
20180 (QQuickWebPagePrivate::QQuickWebPagePrivate):
20181 (QQuickWebPagePrivate::paintToCurrentGLContext):
20182 * UIProcess/API/qt/qquickwebpage_p.h:
20183 * UIProcess/API/qt/qquickwebpage_p_p.h:
20184 * UIProcess/API/qt/qquickwebview.cpp:
20185 (QQuickWebViewPrivate::enableMouseEvents):
20186 (QQuickWebViewPrivate::disableMouseEvents):
20187 (QQuickWebViewPrivate::loadDidCommit):
20188 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20189 (QQuickWebViewPrivate::didChangeContentsSize):
20190 (QQuickWebViewPrivate::didChangeViewportProperties):
20191 (QQuickWebViewPrivate::pageDidRequestScroll):
20192 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20193 (QQuickWebViewPrivate::PostTransitionState::apply):
20194 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20195 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20196 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20197 (QQuickWebView::geometryChanged):
20198 (QQuickWebView::focusInEvent):
20199 (QQuickWebView::focusOutEvent):
20200 * UIProcess/API/qt/qquickwebview_p.h:
20201 * UIProcess/API/qt/qquickwebview_p_p.h:
20202 * UIProcess/API/qt/qwebviewportinfo.cpp:
20203 (QWebViewportInfo::contentsSize):
20204 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20205 (tst_QQuickWebView::scrollRequest):
20206 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20207 (WebKit::QtPinchGestureRecognizer::recognize):
20208 * UIProcess/qt/QtViewportInteractionEngine.cpp:
20209 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20210 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20211 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20212 (WebKit::QtViewportInteractionEngine::event):
20213 (WebKit::QtViewportInteractionEngine::wheelEvent):
20214 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20215 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20216 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20217 (WebKit::QtViewportInteractionEngine::applyConstraints):
20218 (WebKit::QtViewportInteractionEngine::currentCSSScale):
20219 (WebKit::QtViewportInteractionEngine::panGestureStarted):
20220 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20221 (WebKit::QtViewportInteractionEngine::panGestureEnded):
20222 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20223 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20224 (WebKit::QtViewportInteractionEngine::scaleContent):
20225 * UIProcess/qt/QtViewportInteractionEngine.h:
20226 * UIProcess/qt/QtWebPageEventHandler.cpp:
20227 (QtWebPageEventHandler::handleEvent):
20228 (QtWebPageEventHandler::handleMouseMoveEvent):
20229 (QtWebPageEventHandler::handleMousePressEvent):
20230 (QtWebPageEventHandler::handleMouseReleaseEvent):
20231 (QtWebPageEventHandler::handleWheelEvent):
20232 (QtWebPageEventHandler::handleHoverLeaveEvent):
20233 (QtWebPageEventHandler::handleHoverMoveEvent):
20234 (QtWebPageEventHandler::handleDragEnterEvent):
20235 (QtWebPageEventHandler::handleDragMoveEvent):
20236 (QtWebPageEventHandler::handleDropEvent):
20237 (QtWebPageEventHandler::handleSingleTapEvent):
20238 (QtWebPageEventHandler::handleDoubleTapEvent):
20239 (QtWebPageEventHandler::touchEvent):
20240 * UIProcess/qt/QtWebPageEventHandler.h:
20242 2012-01-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
20244 [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
20246 The custom qmake variable 'WEBKIT' is used for signaling that a
20247 target depends in some way on other subproject of the WebKit
20248 project. For now this is limited to the set of intermediate
20249 libraries: wtf, javascriptcore, webcore, and webkit2.
20251 This replaces the previous convension of using load(foo) for
20252 just include paths, and CONFIG += foo to also link against foo.
20254 Adding a dependency results in additional include paths being
20255 available, and potentially linking to the library. This is
20256 decided by the build system based on conditions such as what
20257 kind of target is being built and the general build config.
20259 An advantage to his approach is that it simplifies the individual
20260 foo.prf files, for example by allowing us to use INCLUDEPATH +=
20261 and LIBS += as normal instead of prepending.
20263 Reviewed by Simon Hausmann.
20266 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
20268 2012-01-03 Andras Becsi <andras.becsi@nokia.com>
20270 [Qt][WK2] Pinch zoom should affect the page size
20271 https://bugs.webkit.org/show_bug.cgi?id=74601
20273 Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
20275 The current implementation uses the scale property of the QQuickWebPage
20276 to scale the page in response to pinch gestures.
20277 However for layout and anchoring to work correctly in QML, pinching needs
20278 to change the page size.
20279 This patch applies the pinch scale to the page size and to the transformation
20280 matrix of the drawing area.
20281 Thus the page item's coordinate system is no longer a direct representation
20282 of the WebCore::Page coordinate system and it is no longer suitable as
20283 an inertial frame of reference for input events. The event propagation had
20284 to be moved to the QQuickWebView and the positions translated to content
20285 coordinates when NativeWebEvents are created.
20287 * Shared/NativeWebMouseEvent.h:
20288 * Shared/NativeWebTouchEvent.h:
20289 * Shared/NativeWebWheelEvent.h:
20290 * Shared/qt/NativeWebMouseEventQt.cpp:
20291 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20292 * Shared/qt/NativeWebTouchEventQt.cpp:
20293 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20294 * Shared/qt/NativeWebWheelEventQt.cpp:
20295 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20296 * Shared/qt/WebEventFactoryQt.cpp:
20297 (WebKit::WebEventFactory::createWebMouseEvent):
20298 (WebKit::WebEventFactory::createWebWheelEvent):
20299 (WebKit::WebEventFactory::createWebTouchEvent):
20300 * Shared/qt/WebEventFactoryQt.h:
20301 * UIProcess/API/qt/qquickwebpage.cpp:
20302 (QQuickWebPage::geometryChanged):
20303 (QQuickWebPagePrivate::QQuickWebPagePrivate):
20304 (QQuickWebPagePrivate::paintToCurrentGLContext):
20305 (QQuickWebPage::usesTraditionalDesktopBehaviour):
20306 (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
20307 (QQuickWebPage::eventHandler):
20308 (QQuickWebPage::setContentSize):
20309 (QQuickWebPage::contentSize):
20310 (QQuickWebPage::setContentScale):
20311 (QQuickWebPage::contentScale):
20312 (QQuickWebPage::transformFromItem):
20313 (QQuickWebPage::transformToItem):
20314 (QQuickWebPagePrivate::updateSize):
20315 * UIProcess/API/qt/qquickwebpage_p.h:
20316 * UIProcess/API/qt/qquickwebpage_p_p.h:
20317 * UIProcess/API/qt/qquickwebview.cpp:
20318 (QQuickWebViewPrivate::enableMouseEvents):
20319 (QQuickWebViewPrivate::disableMouseEvents):
20320 (QQuickWebViewPrivate::loadDidCommit):
20321 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20322 (QQuickWebViewPrivate::didChangeContentsSize):
20323 (QQuickWebViewPrivate::didChangeViewportProperties):
20324 (QQuickWebViewPrivate::pageDidRequestScroll):
20325 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20326 (QQuickWebViewPrivate::PostTransitionState::apply):
20327 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20328 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20329 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20330 (QQuickWebView::mapToWebContent):
20331 (QQuickWebView::mapRectToWebContent):
20332 (QQuickWebView::mapFromWebContent):
20333 (QQuickWebView::mapRectFromWebContent):
20334 (QQuickWebView::geometryChanged):
20335 (QQuickWebView::keyPressEvent):
20336 (QQuickWebView::keyReleaseEvent):
20337 (QQuickWebView::inputMethodEvent):
20338 (QQuickWebView::focusInEvent):
20339 (QQuickWebView::focusOutEvent):
20340 (QQuickWebView::touchEvent):
20341 (QQuickWebView::mousePressEvent):
20342 (QQuickWebView::mouseMoveEvent):
20343 (QQuickWebView::mouseReleaseEvent):
20344 (QQuickWebView::mouseDoubleClickEvent):
20345 (QQuickWebView::wheelEvent):
20346 (QQuickWebView::hoverEnterEvent):
20347 (QQuickWebView::hoverMoveEvent):
20348 (QQuickWebView::hoverLeaveEvent):
20349 (QQuickWebView::dragMoveEvent):
20350 (QQuickWebView::dragEnterEvent):
20351 (QQuickWebView::dragLeaveEvent):
20352 (QQuickWebView::dropEvent):
20353 (QQuickWebView::event):
20354 * UIProcess/API/qt/qquickwebview_p.h:
20355 * UIProcess/API/qt/qquickwebview_p_p.h:
20356 * UIProcess/API/qt/qwebviewportinfo.cpp:
20357 (QWebViewportInfo::contentsSize):
20358 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20359 (tst_QQuickWebView::scrollRequest):
20360 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20361 (WebKit::QtPinchGestureRecognizer::recognize):
20362 * UIProcess/qt/QtViewportInteractionEngine.cpp:
20363 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20364 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20365 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20366 (WebKit::QtViewportInteractionEngine::event):
20367 (WebKit::QtViewportInteractionEngine::wheelEvent):
20368 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20369 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20370 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20371 (WebKit::QtViewportInteractionEngine::applyConstraints):
20372 (WebKit::QtViewportInteractionEngine::currentCSSScale):
20373 (WebKit::QtViewportInteractionEngine::panGestureStarted):
20374 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20375 (WebKit::QtViewportInteractionEngine::panGestureEnded):
20376 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20377 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20378 (WebKit::QtViewportInteractionEngine::scaleContent):
20379 * UIProcess/qt/QtViewportInteractionEngine.h:
20380 * UIProcess/qt/QtWebPageEventHandler.cpp:
20381 (QtWebPageEventHandler::handleEvent):
20382 (QtWebPageEventHandler::handleMouseMoveEvent):
20383 (QtWebPageEventHandler::handleMousePressEvent):
20384 (QtWebPageEventHandler::handleMouseReleaseEvent):
20385 (QtWebPageEventHandler::handleWheelEvent):
20386 (QtWebPageEventHandler::handleHoverLeaveEvent):
20387 (QtWebPageEventHandler::handleHoverMoveEvent):
20388 (QtWebPageEventHandler::handleDragEnterEvent):
20389 (QtWebPageEventHandler::handleDragMoveEvent):
20390 (QtWebPageEventHandler::handleDropEvent):
20391 (QtWebPageEventHandler::handleSingleTapEvent):
20392 (QtWebPageEventHandler::handleDoubleTapEvent):
20393 (QtWebPageEventHandler::touchEvent):
20394 * UIProcess/qt/QtWebPageEventHandler.h:
20396 2012-01-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
20398 [Qt] Clean up Qt specific part of editorState()
20400 Reviewed by Simon Hausmann.
20402 Use unsigned instead of int.
20403 No need to clone the range as we don't modify it.
20404 Support selections which include a composition.
20405 If we are not in editable content make sure to use the document element
20406 as the scope for calculating the positions and lengths.
20407 Remove compositionStart/Length as there cannot be a selection and
20408 composition at the same time.
20410 Only tested manually as we don't have everything in place yet
20411 to properly test this.
20413 * Shared/EditorState.h:
20414 * WebProcess/WebPage/WebPage.cpp:
20415 (WebKit::WebPage::editorState):
20417 2012-01-04 Mihnea Ovidenie <mihnea@adobe.com>
20419 [Mac]Fix build after changeset 103997
20420 https://bugs.webkit.org/show_bug.cgi?id=75530
20422 Reviewed by Andreas Kling.
20424 * UIProcess/API/mac/WKView.mm:
20426 2012-01-03 Carlos Garcia Campos <cgarcia@igalia.com>
20428 [GTK] Scrollbars are drawn behind the window resize grip
20429 https://bugs.webkit.org/show_bug.cgi?id=75384
20431 Reviewed by Martin Robinson.
20433 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
20434 (webkitWebViewBaseNotifyResizerSizeForWindow): Get the size of the
20435 main window resize grip and send it to the page proxy if it
20436 overlaps with the view.
20437 (toplevelWindowResizeGripVisibilityChanged): Call
20438 webkitWebViewBaseNotifyResizerSizeForWindow().
20439 (webkitWebViewBaseRealize): Get the toplevel window and connect to
20440 notify::resize-grip-visible signal.
20441 (webkitWebViewBaseSizeAllocate): Call
20442 webkitWebViewBaseNotifyResizerSizeForWindow().
20444 2012-01-03 Jon Lee <jonlee@apple.com>
20446 Leak of WebNotificationClient when page is destroyed
20447 https://bugs.webkit.org/show_bug.cgi?id=74980
20448 <rdar://problem/10611231>
20450 Reviewed by Mark Rowe.
20452 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
20453 (WebKit::WebNotificationClient::notificationControllerDestroyed): Delete the instance.
20454 * WebProcess/WebCoreSupport/WebNotificationClient.h:
20456 2012-01-03 Sam Weinig <sam@webkit.org>
20458 Remove unnecessary forward declaration of Function
20459 https://bugs.webkit.org/show_bug.cgi?id=75485
20461 Reviewed by Dan Bernstein.
20463 * Platform/WorkQueue.h:
20465 2012-01-03 Carlos Garcia Campos <cgarcia@igalia.com>
20467 [GTK] Simplify loader client WebKit2 GTK+ API
20468 https://bugs.webkit.org/show_bug.cgi?id=74605
20470 Reviewed by Gustavo Noronha Silva.
20472 Remove WebKitWebLoaderClient from public API keeping it as a
20473 private object. Loading API has been reduced to two signals in
20476 * GNUmakefile.am: Remove WebKitWebLoaderClientPrivate.h.
20477 * UIProcess/API/gtk/WebKitDefines.h: Remove forward delcarations
20478 that are no longer needed.
20479 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
20480 (didStartProvisionalLoadForFrame): Emit
20481 WebKitWebView::load-changed signal with Started event.
20482 (didReceiveServerRedirectForProvisionalLoadForFrame): Emit
20483 WebKitWebView::load-changed signal with Redirected event.
20484 (didFailProvisionalLoadWithErrorForFrame): Emit
20485 WebKitWebView::load-failed signal with Started event.
20486 (didCommitLoadForFrame): Emit WebKitWebView::load-changed signal
20487 with Committed event.
20488 (didFinishLoadForFrame): Emit WebKitWebView::load-changed signal
20489 with Finished event.
20490 (didFailLoadWithErrorForFrame): Emit WebKitWebView::load-failed
20491 signal with Committed event.
20492 (webkit_web_loader_client_init):
20493 (webkit_web_loader_client_class_init):
20494 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove public API and
20495 move private API here.
20496 * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Removed.
20497 * UIProcess/API/gtk/WebKitWebView.cpp:
20498 (webkitWebViewLoadFail): Default implementation of
20499 WebKitWebView::load-failed signal to show a custom error page.
20500 (webkit_web_view_class_init): Add load-changed and load-failed
20502 (webkitWebViewLoadChanged): Emit WebKitWebView::load-changed with
20504 (webkitWebViewLoadFailed): Emit WebKitWebView::load-failed signal
20505 with the given event, failing uri and error.
20506 * UIProcess/API/gtk/WebKitWebView.h:
20507 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
20508 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Remove loader
20510 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Remove loader
20512 * UIProcess/API/gtk/docs/webkit2gtk.types: Remove
20513 webkit_web_loader_client_get_type.
20514 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
20515 (loadChangedCallback):
20516 (loadFailedCallback):
20517 (LoadTrackingTest::LoadTrackingTest):
20518 (LoadTrackingTest::~LoadTrackingTest):
20519 (LoadTrackingTest::provisionalLoadStarted):
20520 (LoadTrackingTest::provisionalLoadReceivedServerRedirect):
20521 (LoadTrackingTest::provisionalLoadFailed):
20522 (LoadTrackingTest::loadCommitted):
20523 (LoadTrackingTest::loadFinished):
20524 (LoadTrackingTest::loadFailed):
20525 * UIProcess/API/gtk/tests/LoadTrackingTest.h:
20526 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20527 (testLoadingError):
20528 (LoadStopTrackingTest::loadCommitted):
20529 (LoadStopTrackingTest::loadFailed):
20530 (testLoadCancelled):
20531 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20533 * UIProcess/API/gtk/webkit2.h: Remove loader client header.
20534 * UIProcess/API/gtk/webkit2marshal.list:
20536 2012-01-03 Rafael Brandao <rafael.lobo@openbossa.org>
20538 [Qt][WK2] tst_favIconLoad.qml crashes on debug mode
20539 https://bugs.webkit.org/show_bug.cgi?id=75448
20541 Reviewed by Kenneth Rohde Christiansen.
20543 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Loads
20544 "about:blank" instead of an empty url between tests to clean favicon.
20546 2012-01-02 Dan Bernstein <mitz@apple.com>
20548 Fixed a typo I made in r103871.
20550 Fixes <http://webkit.org/b/75450> Inline PDF doesn't preview correctly when attempting to print its frame
20552 * WebProcess/WebPage/WebPage.cpp:
20553 (WebKit::WebPage::drawRectToPDF): Changed USE(GC) to USE(CG).
20555 2012-01-02 Andy Estes <aestes@apple.com>
20557 Fix the Windows build (again).
20559 * Platform/CoreIPC/Connection.h:
20561 2012-01-02 Sam Weinig <sam@webkit.org>
20565 * Platform/CoreIPC/Connection.h:
20566 * Platform/CoreIPC/win/ConnectionWin.cpp:
20567 * Platform/RunLoop.h:
20568 Missing declarations/includes of BinarySemaphore.
20570 2012-01-02 Sam Weinig <sam@webkit.org>
20572 Move dispatchSentMessagesUntil out of the RunLoop class.
20573 https://bugs.webkit.org/show_bug.cgi?id=75320
20575 Reviewed by Dan Bernstein.
20577 * Platform/CoreIPC/Connection.cpp:
20578 (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentWin32Messages):
20579 * Platform/CoreIPC/Connection.h:
20580 * Platform/CoreIPC/win/ConnectionWin.cpp:
20581 (CoreIPC::Connection::dispatchSentMessagesUntil):
20582 * Platform/win/RunLoopWin.cpp:
20584 2012-01-02 Dan Bernstein <mitz@apple.com>
20588 * Platform/CoreIPC/mac/ConnectionMac.cpp:
20589 * Platform/mac/SharedMemoryMac.cpp:
20591 2012-01-02 Nikolas Zimmermann <nzimmermann@rim.com>
20593 Not reviewed. Fix build on Lion, by including mach_error.h in two places that need it.
20595 * PluginProcess/mac/PluginProcessMainMac.mm:
20596 * WebProcess/mac/WebProcessMainMac.mm:
20598 2012-01-01 Dan Bernstein <mitz@apple.com>
20600 EnvironmentUtilities::stripValuesEndingWithString enters an infinite loop if the search value
20601 occurs a component other than the first.
20603 Reviewed by Anders Carlsson.
20605 * Platform/unix/EnvironmentUtilities.cpp:
20606 (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Changed to start the search for
20607 the next colon after the current colon.
20609 2012-01-01 Dan Bernstein <mitz@apple.com>
20611 Improved reproting of kernel return codes.
20613 Reviewed by Anders Carlsson.
20615 * Platform/CoreIPC/mac/ConnectionMac.cpp:
20616 (CoreIPC::Connection::exceptionSourceEventHandler): Added the error string to the log message.
20617 * Platform/mac/SharedMemoryMac.cpp:
20618 (WebKit::SharedMemory::create): Ditto.
20619 * PluginProcess/mac/PluginProcessMainMac.mm:
20620 (WebKit::PluginProcessMain): Ditto. Also changed to log to stderr.
20621 * WebProcess/mac/WebProcessMainMac.mm:
20622 (WebKit::WebProcessMain): Ditto.
20624 2011-12-31 Dan Bernstein <mitz@apple.com>
20626 Continue trying to fix the ASSERT-enabled Windows build after r103858.
20628 * WebProcess/WebPage/WebPage.cpp:
20629 (WebKit::WebPage::drawRectToPDF):
20630 (WebKit::WebPage::drawPagesToPDF):
20632 2011-12-31 Dan Bernstein <mitz@apple.com>
20634 Start trying to fix the Windows build after r103858.
20636 * WebProcess/WebPage/WebPage.cpp:
20637 (WebKit::drawPDFPage):
20639 2011-12-31 Dan Bernstein <mitz@apple.com>
20641 <rdar://problem/10463059> Cannot print USPS shipping labels
20642 http://webkit.org/b/72801
20644 Reviewed by Anders Carlsson and Alexey Proskuryakov.
20646 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
20647 (appendValuesInPDFNameSubtreeToVector): Copied from WebKit/mac/WebView/WebPDFDocumentExtras.mm.
20648 (getAllValuesInPDFNameTree): Ditto.
20649 (getAllScriptsInPDFDocument): Copied allScriptsInPDFDocument() from WebPDFDocumentExtras.mm
20650 and changed it to append to a Vector<RetainPtr<CFStringRef> >.
20651 (WebKit::BuiltInPDFView::create): Changed to take a WebFrame* rather than a Page*.
20652 (WebKit::BuiltInPDFView::BuiltInPDFView): Ditto. Updated initializer accordingly.
20653 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Copied and adapted code from
20654 -[WebPDFRepresentation finishedLoadingWithDataSource:] to run scripts from the PDF with a
20655 Doc object as the this object.
20656 (WebKit::BuiltInPDFView::initialize): Adapted for the change from having a Page* to having
20658 (WebKit::BuiltInPDFView::destroy): Ditto.
20659 (WebKit::BuiltInPDFView::isActive): Ditto.
20660 (WebKit::jsPDFDocInitialize): Added. Refs the BuiltInPDFView which is the private object for
20662 (WebKit::jsPDFDocFinalize): Added. Derefs the BuiltInPDFView for this Doc.
20663 (WebKit::BuiltInPDFView::jsPDFDocPrint): Added. Calls WebCore::Chrome::print().
20664 (WebKit::BuiltInPDFView::makeJSPDFDoc): Copied from WebKit/mac/WebView/WebJSPDFDoc.mm and
20665 modified to use this BuiltInPDFView as the private object of the Doc being made.
20666 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20667 (WebKit::BuiltInPDFView::disconnectFromPage): Adapted for the change from having a Page* to
20668 having a WebFrame*.
20669 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20670 (WebKit::WebFrameLoaderClient::createPlugin): Pass the WebFrame to WebPage::createPlugin().
20671 * WebProcess/WebPage/WebPage.cpp:
20672 (WebKit::WebPage::createPlugin): Added a WebFrame* parameter, which is used when creating
20674 * WebProcess/WebPage/WebPage.h:
20676 2011-12-31 Dan Bernstein <mitz@apple.com>
20678 <rdar://problem/8553040> REGRESSION (WebKit2): Safari status text doesn't change when you change the modifier keys without moving the mouse
20679 https://bugs.webkit.org/show_bug.cgi?id=75404
20681 Reviewed by Jon Honeycutt.
20683 * UIProcess/API/mac/WKView.mm:
20684 (-[WKView dealloc]): Remove the flags changed event monitor.
20685 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Added. Similarly to
20686 -[WebHTMLView _postFlagsChangedEvent:], creates a mouse moved event and passes it to
20688 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Create a local event monitor for flags
20691 2011-12-31 Dan Bernstein <mitz@apple.com>
20693 <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
20694 <http://webkit.org/b/75232>
20696 Reviewed by Alexey Proskuryakov.
20698 * UIProcess/API/C/WKPage.cpp:
20699 (WKPageDrawPagesToPDF): Added WKPrintInfo parameter, which is passed through as a PrintInfo
20700 to the WebPageProxy.
20701 * UIProcess/API/C/WKPagePrivate.h:
20702 * UIProcess/API/mac/WKPrintingView.mm:
20703 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Changed to pass the PrintInfo
20704 down to WebPageProxy::drawPagesToPDF.
20705 (-[WKPrintingView _drawPreview:]): Changed to pass the PrintInfo down to
20706 WebPageProxy::drawRectToPDF.
20707 * UIProcess/API/mac/WKView.mm:
20708 (-[WKView canChangeFrameLayout:]): Changed to use WebFrameProxy::isDisplayingPDFDocument, which
20709 works for subframes as well.
20710 (-[WKView printOperationWithPrintInfo:forFrame:]): Added a FIXME.
20711 * UIProcess/WebFrameProxy.cpp:
20712 (WebKit::WebFrameProxy::isDisplayingPDFDocument): Added.
20713 * UIProcess/WebFrameProxy.h:
20714 * UIProcess/WebPageProxy.cpp:
20715 (WebKit::WebPageProxy::drawRectToPDF): Added a PrintInfo parameter, which is passed through to
20717 (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
20718 * UIProcess/WebPageProxy.h:
20719 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20720 Added an override of pdfDocumentForPrinting() which returns the PDFDocument.
20721 * WebProcess/Plugins/Plugin.h:
20722 (WebKit::Plugin::pdfDocumentForPrinting): Added. This base class implementation returns 0.
20723 * WebProcess/Plugins/PluginView.h:
20724 (WebKit::PluginView::pdfDocumentForPrinting): Added. Calls through to the Plugin.
20725 * WebProcess/WebPage/WebPage.cpp:
20726 (WebKit::pdfDocumentForPrintingFrame): Added this helper function. If the frame is displaying
20727 a plug-in document, allows the plug-in to provide a PDF document for printing.
20728 (WebKit::WebPage::beginPrinting): Added an early return if the frame provides a PDF document
20730 (WebKit::WebPage::computePagesForPrinting): If the frame provides a PDF document for printing,
20731 create for each page in the PDF document a page rect with the size available for printing.
20732 (WebKit::drawPDFPage): Added this helper function, which draws a page from the PDF document
20733 into one of the aforementioned page rects. It rotates the PDF page 90 degrees if necessary to
20734 better match the aspect ratio of the paper, then it centers it on the paper. This matches the
20735 behavior of a PDFView when printed with default settings.
20736 (WebKit::WebPage::drawRectToPDF): If the frame provides a PDF document for printing, draw the
20737 PDF pages falling within the requested rect.
20738 (WebKit::WebPage::drawPagesToPDF): If the frame provides a PDF document for printing, draw
20739 the requested pages.
20740 * WebProcess/WebPage/WebPage.h:
20741 * WebProcess/WebPage/WebPage.messages.in: Added a PrintInfo parameter to DrawRectToPDF and
20744 2011-12-30 Dan Bernstein <mitz@apple.com>
20746 EnvironmentUtilities::stripValuesEndingWithString fails when the variable ends with the search value
20747 https://bugs.webkit.org/show_bug.cgi?id=75389
20749 Reviewed by Anders Carlsson.
20751 * Platform/unix/EnvironmentUtilities.cpp:
20752 (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Fixed an off-by-1 error when
20753 examining the character after the match.
20755 2011-12-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
20757 [Qt] Remove unused m_signalListeners from WorkQueue
20758 https://bugs.webkit.org/show_bug.cgi?id=75354
20760 Reviewed by Andreas Kling.
20762 This is unused since r76507.
20764 * Platform/WorkQueue.h:
20765 * Platform/qt/WorkQueueQt.cpp:
20766 (WorkQueue::platformInvalidate):
20768 2011-12-29 Carlos Garcia Campos <cgarcia@igalia.com>
20770 [GTK] Context menu is hidden right after showing it when first menu item is not disabled
20771 https://bugs.webkit.org/show_bug.cgi?id=75357
20773 Reviewed by Martin Robinson.
20775 The problem is that we are passing GDK_CURRENT_TIME (which is 0)
20776 to gtk_popup_menu, because the events are async and
20777 gtk_get_current_event is NULL when calling gtk_menu_popup. GtkMenu
20778 has a timeout to decide whether the press-release was fast enough
20779 and ignore the button release event in that case. That way, a
20780 normal right click shows the menu while a long press hides the
20781 menu when the button is released. So, we need to know the real time
20782 when the right button was pressed and pass it to gtk_popup_menu.
20784 * UIProcess/WebPageProxy.h: Make
20785 currentlyProcessedMouseDownEvent() public.
20786 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
20787 (WebKit::WebContextMenuProxyGtk::showContextMenu): Use
20788 WebPageProxy::currentlyProcessedMouseDownEvent() to get the
20789 current mouse event and pass its button number and time to
20792 2011-12-29 Carlos Garcia Campos <cgarcia@igalia.com>
20794 [GTK] Fix several conding style issues in WebKit2 GTK+ code
20795 https://bugs.webkit.org/show_bug.cgi?id=75339
20797 Reviewed by Martin Robinson.
20799 In addition to the WebKit coding style, code in UIProcess/API/gtk
20800 should follow style and conventions described here
20801 http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
20803 * UIProcess/API/gtk/WebKitSettings.cpp: Remove trailing whitespaces.
20804 (webkit_settings_class_init): Remove trailing whitespaces, fix
20805 indentation issues in API doc comments, add missing trailing to
20807 (webkit_settings_set_enable_fullscreen): Move the code after
20808 get_enable_fullscreen() for consistency.
20809 * UIProcess/API/gtk/WebKitSettings.h: Remove trailing
20810 whitespaces. Fix * placement and line up parameters.
20811 * UIProcess/API/gtk/WebKitWebView.cpp: Remove several empty lines.
20812 (webkit_web_view_class_init): Mark property nicks and blurbs for translation.
20813 (webkitWebViewSetTitle): Remove trailing whitespaces.
20814 * UIProcess/API/gtk/WebKitWebView.h: Line up parameters.
20815 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Use the angle-bracket
20816 form for including file from WebCore and wtf. Use GRefPtr for
20817 GtkIMContext and bool instead of gboolean. Use the placement new
20818 syntax for private struct instead of new/delete.
20819 (webkitWebViewBaseRealize):
20820 (webkitWebViewBaseFinalize):
20821 (webkit_web_view_base_init):
20822 (webkitWebViewBaseFocusInEvent):
20823 (webkitWebViewBaseFocusOutEvent):
20824 (webkitWebViewBaseKeyPressEvent): Remove trailing whitespaces.
20825 (webkitWebViewBaseKeyReleaseEvent):
20826 (webkit_web_view_base_class_init):
20827 (webkitWebViewBaseGetIMContext):
20829 2011-12-28 Balazs Kelemen <kbalazs@webkit.org>
20831 [Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests
20832 https://bugs.webkit.org/show_bug.cgi?id=75000
20834 Reviewed by Noam Rosenthal.
20836 Don't adopt a tile client that belongs to a parent layer.
20837 This is unnecessary and also unsafe because we can live
20838 through that client.
20840 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
20841 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
20843 2011-12-27 Dan Bernstein <mitz@apple.com>
20845 [mac] Stop using bootstrap_look_up2
20846 https://bugs.webkit.org/show_bug.cgi?id=75280
20848 Reviewed by Mark Rowe.
20850 * PluginProcess/mac/PluginProcessMainMac.mm:
20851 (WebKit::PluginProcessMain): Changed to use bootstrap_look_up() instead of
20852 bootstrap_look_up2().
20853 * WebProcess/mac/WebProcessMainMac.mm:
20854 (WebKit::WebProcessMain): Ditto.
20856 2011-12-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
20858 [Qt] Make the inputMethodEvent set or confirm the composition
20859 https://bugs.webkit.org/show_bug.cgi?id=75256
20861 Reviewed by Chang Shu.
20863 * UIProcess/qt/QtWebPageEventHandler.cpp:
20864 (QtWebPageEventHandler::inputMethodEvent):
20866 2011-12-26 Mark Rowe <mrowe@apple.com>
20868 <http://webkit.org/b/75196> REGRESSION(r103643): Command-clicking a link no longer opens a new tab.
20870 r103643 contained some botched copy-paste code that caused the state of the Command key
20871 to be lost when translating from a WebKit2 event to a WebCore event.
20873 Reviewed by Dan Bernstein.
20875 * Shared/WebEventConversion.cpp:
20876 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Test for the correct modifier.
20877 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): Ditto.
20878 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): Ditto.
20879 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Ditto.
20880 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): Ditto.
20882 2011-12-26 Carlos Garcia Campos <cgarcia@igalia.com>
20884 Fix a crash in WebProcess when starting a download not initiated by a WebPage
20885 https://bugs.webkit.org/show_bug.cgi?id=75225
20887 Reviewed by Darin Adler.
20889 * WebProcess/WebProcess.cpp:
20890 (WebKit::WebProcess::downloadRequest): Check initiatingPage is not
20891 NULL before using it.
20893 2011-12-25 Dan Bernstein <mitz@apple.com>
20895 Find indicators overlap when a match spans multiple text boxes
20896 https://bugs.webkit.org/show_bug.cgi?id=75220
20898 Reviewed by Darin Adler.
20900 * UIProcess/FindIndicator.cpp:
20901 (WebKit::findIndicatorsForTextRectsOverlap): Added this helper function that checks for
20902 pairwise intersections between all indicator rects.
20903 (WebKit::FindIndicator::FindIndicator): Changed to use a single rect (the union of all text
20904 rects) if any two indicator rects would otherwise overlap. This is similar to what Safari
20905 does, and it eliminates overlapping rects for adjacent text boxes. In rare cases (such as when
20906 a match spans two lines and adjacent text boxes on one of those lines) it results in a find
20907 indicator that is too large and obscures some non-match text.
20908 * UIProcess/FindIndicator.h:
20910 2011-12-21 Sam Weinig <sam@webkit.org>
20912 Start extracting platform specific bits out of PlatformEvents
20913 https://bugs.webkit.org/show_bug.cgi?id=75063
20915 Reviewed by Anders Carlsson.
20917 * Shared/WebEventConversion.cpp:
20918 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
20919 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
20920 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
20921 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
20922 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
20923 * UIProcess/API/mac/WKView.mm:
20924 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
20925 (InitWebCoreSystemInterface):
20927 2011-12-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
20929 [Qt] [WK2] Use HashMap instead of Vector in the builtin bundle
20930 https://bugs.webkit.org/show_bug.cgi?id=75112
20932 Reviewed by Andreas Kling.
20934 Fix my own FIXME now that HashMap have support to hold OwnPtr as value.
20936 * WebProcess/qt/QtBuiltinBundle.cpp:
20937 (WebKit::QtBuiltinBundle::didCreatePage):
20938 (WebKit::QtBuiltinBundle::willDestroyPage):
20939 (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
20940 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
20941 * WebProcess/qt/QtBuiltinBundle.h:
20943 2011-12-22 Anders Carlsson <andersca@apple.com>
20945 Remove the last of the WebKit2 display throttling
20946 https://bugs.webkit.org/show_bug.cgi?id=75109
20948 Reviewed by Adam Roben.
20950 The code to do display throttling in WebKit2 is complex and doesn't really help us except
20951 on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20953 * WebProcess/WebPage/DrawingAreaImpl.cpp:
20954 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
20955 (WebKit::DrawingAreaImpl::displayTimerFired):
20956 (WebKit::DrawingAreaImpl::display):
20957 * WebProcess/WebPage/DrawingAreaImpl.h:
20958 * WebProcess/WebPage/WebPage.cpp:
20959 (WebKit::WebPage::wheelEvent):
20960 (WebKit::WebPage::wheelEventSyncForTesting):
20962 2011-12-22 Anders Carlsson <andersca@apple.com>
20964 Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
20965 https://bugs.webkit.org/show_bug.cgi?id=75107
20967 Reviewed by Adam Roben.
20969 This is another step towards removing the display throttling in WebKit2.
20971 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20972 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
20973 * WebProcess/WebCoreSupport/WebChromeClient.h:
20975 2011-12-22 Anders Carlsson <andersca@apple.com>
20977 Remove didStartRubberBand and didCompleteRubberBand callbacks
20978 https://bugs.webkit.org/show_bug.cgi?id=75102
20980 Reviewed by Adam Roben.
20982 The code to do display throttling in WebKit2 is complex and doesn't really help us except
20983 on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20985 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20986 * WebProcess/WebCoreSupport/WebChromeClient.h:
20988 2011-12-22 Ryuan Choi <ryuan.choi@samsung.com>, Tomasz Morawski <t.morawski@samsung.com>
20990 [EFL][WK2] Add an option to build WebKit2.
20991 https://bugs.webkit.org/show_bug.cgi?id=61999
20993 Reviewed by Eric Seidel.
20995 Add build script for WebKit2 on EFL port.
20998 * PlatformEfl.cmake: Added.
21000 2011-12-21 Eunmi Lee <eunmi15.lee@samsung.com>
21002 [EFL][WK2] Add efl port's ewk_view files
21003 https://bugs.webkit.org/show_bug.cgi?id=61915
21005 Reviewed by Eric Seidel.
21007 This is the initial version of WebKit2 EFL port's ewk_view.
21008 The ewk_view is Evas_Object to show the rendered web contents.
21010 * UIProcess/API/efl/ewk_view.cpp: Added.
21011 (_ewk_view_smart_changed):
21012 (_ewk_view_smart_focus_in):
21013 (_ewk_view_smart_focus_out):
21014 (_ewk_view_smart_mouse_wheel):
21015 (_ewk_view_smart_mouse_down):
21016 (_ewk_view_smart_mouse_up):
21017 (_ewk_view_smart_mouse_move):
21018 (_ewk_view_smart_key_down):
21019 (_ewk_view_smart_key_up):
21020 (_ewk_view_on_focus_in):
21021 (_ewk_view_on_focus_out):
21022 (_ewk_view_on_mouse_wheel):
21023 (_ewk_view_on_mouse_down):
21024 (_ewk_view_on_mouse_up):
21025 (_ewk_view_on_mouse_move):
21026 (_ewk_view_on_key_down):
21027 (_ewk_view_on_key_up):
21028 (_ewk_view_priv_new):
21029 (_ewk_view_priv_del):
21030 (_ewk_view_smart_add):
21031 (_ewk_view_smart_del):
21032 (_ewk_view_smart_resize):
21033 (_ewk_view_smart_move):
21034 (_ewk_view_smart_calculate):
21035 (_ewk_view_smart_show):
21036 (_ewk_view_smart_hide):
21037 (ewk_view_smart_class_init):
21038 (_ewk_view_smart_class_new):
21040 (ewk_view_page_get):
21041 * UIProcess/API/efl/ewk_view.h: Added.
21043 2011-12-21 Timothy Hatcher <timothy@apple.com>
21045 Web Inspector: suppress incremental rendering and use application chrome mode
21047 https://webkit.org/b/75026
21049 Reviewed by Joseph Pecoraro.
21051 * UIProcess/WebInspectorProxy.cpp:
21052 (WebKit::createInspectorPageGroup): Set suppress incremental rendering and use application chrome mode.
21054 2011-12-21 Sam Weinig <sam@webkit.org>
21056 Cleanup up clients when deallocating WebKit2 API objects
21057 https://bugs.webkit.org/show_bug.cgi?id=75014
21059 Reviewed by Adam Roben.
21061 * UIProcess/API/mac/WKBrowsingContextController.mm:
21062 (-[WKBrowsingContextController dealloc]):
21063 * UIProcess/API/mac/WKConnection.mm:
21064 (-[WKConnection dealloc]):
21065 Clear clients on dealloc.
21067 2011-12-21 Rafael Brandao <rafael.lobo@openbossa.org>
21069 [Qt][WK2] Add tests for favicon and fix icon url decoding issue
21070 https://bugs.webkit.org/show_bug.cgi?id=74967
21072 Reviewed by Simon Hausmann.
21074 * UIProcess/API/qt/qwebiconimageprovider.cpp: We already receive the url
21075 without the percent encoding and we should access WebIconDatabase with
21076 an encoded url. Added a test to cover this behavior.
21077 (QWebIconImageProvider::requestImage):
21078 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Added.
21079 * UIProcess/API/qt/tests/qmltests/common/favicon.html: Added.
21080 * UIProcess/API/qt/tests/qmltests/common/favicon.png: Added.
21081 * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Added.
21082 * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Added.
21083 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
21085 2011-12-21 Sam Weinig <sam@webkit.org>
21087 Exception thrown when running WKBrowsingContextLoadDelegateTest.SimpleLoad test
21088 https://bugs.webkit.org/show_bug.cgi?id=75012
21090 Reviewed by Adam Roben.
21092 * UIProcess/API/mac/WKProcessGroup.mm:
21093 (-[WKProcessGroup dealloc]):
21094 Clear the WKContext's connection client.
21096 2011-12-21 Michael Brüning <michael.bruning@nokia.com>
21098 [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
21099 https://bugs.webkit.org/show_bug.cgi?id=73994
21101 Reviewed by Kenneth Rohde Christiansen.
21103 Added a viewport meta tag so that the view is actually scrollable and
21104 does not get scaled to not be scrollable. Corrected the style
21105 definition for the <div> tag. Removed unneeded text in div
21107 Rolled back changes some of the changes from the previous patch
21108 (r102453) because they weren't necessary.
21110 * UIProcess/API/qt/tests/html/scroll.html:
21111 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21112 (tst_QQuickWebView::scrollRequest): Partially rolled back changes.
21114 2011-12-21 Jessie Berlin <jberlin@apple.com>
21118 Replace all instances of "WebPropupMenuProxy" with "WebPopupMenuProxy".
21120 * UIProcess/win/WebPopupMenuProxyWin.cpp:
21121 (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21122 (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21124 2011-12-20 Anders Carlsson <andersca@apple.com>
21126 Add ScrollableArea::contentsResized and have it call the scroll animator
21127 https://bugs.webkit.org/show_bug.cgi?id=74966
21129 Reviewed by Sam Weinig.
21131 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21132 (WebKit::BuiltInPDFView::scrollbarStyleChanged):
21134 2011-12-20 Anders Carlsson <andersca@apple.com>
21136 Try to fix the Windows build.
21138 * UIProcess/win/WebPopupMenuProxyWin.cpp:
21139 (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21140 (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21142 2011-12-20 Simon Hausmann <simon.hausmann@nokia.com>
21144 [Qt][WK2] Remove statusBarMessageChanged
21145 https://bugs.webkit.org/show_bug.cgi?id=74405
21147 Reviewed by Tor Arne Vestbø.
21149 Removing support for window.status updates from the public
21150 QML API. See bug for details.
21152 * UIProcess/API/qt/qquickwebview_p.h:
21153 * UIProcess/qt/QtWebPageUIClient.cpp:
21154 (QtWebPageUIClient::QtWebPageUIClient):
21155 * UIProcess/qt/QtWebPageUIClient.h:
21157 2011-12-20 Anders Carlsson <andersca@apple.com>
21159 Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
21160 https://bugs.webkit.org/show_bug.cgi?id=74951
21162 Reviewed by Sam Weinig.
21164 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21165 (WebKit::BuiltInPDFView::paint):
21166 (WebKit::BuiltInPDFView::handleMouseEvent):
21167 (WebKit::BuiltInPDFView::handleMouseEnterEvent):
21168 (WebKit::BuiltInPDFView::handleMouseLeaveEvent):
21170 2011-12-20 Brent Fulgham <bfulgham@webkit.org>
21172 [WinCairo] Unreviewed build fix.
21174 * win/WebKit2CFLite.def: Add missing export declaration.
21176 2011-12-20 Simon Hausmann <simon.hausmann@nokia.com>
21178 [Qt] Build fix for gcc used on WK2 build bot.
21180 * UIProcess/qt/QtWebPagePolicyClient.cpp:
21181 (QtWebPagePolicyClient::decidePolicyForNavigationAction): Don't do case:
21182 with values outside the range of the type. Instead switch() on the int instead.
21184 2011-12-20 Rafael Brandao <rafael.lobo@openbossa.org>
21186 [Qt] Extend QQuickWebview::navigationRequested API
21187 https://bugs.webkit.org/show_bug.cgi?id=73818
21189 Reviewed by Simon Hausmann.
21191 Added url of the originating frame on QWebNavigationRequest,
21192 accessible via 'request.originatingUrl' on QML. Download action
21193 was moved to experimental, so in order to use it you should set
21194 'request.action = WebViewExperimental.DownloadRequest' on QML.
21196 * UIProcess/API/qt/qquickwebview_p.h:
21197 * UIProcess/API/qt/qwebnavigationrequest.cpp:
21198 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
21199 (QWebNavigationRequest::QWebNavigationRequest):
21200 (QWebNavigationRequest::originatingUrl):
21201 * UIProcess/API/qt/qwebnavigationrequest_p.h:
21202 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
21203 Tests were modified a bit to reuse urls and also added a test case to check
21204 originating url once a request is done.
21205 * UIProcess/qt/QtWebPagePolicyClient.cpp:
21206 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
21207 * UIProcess/qt/QtWebPagePolicyClient.h:
21209 2011-12-20 Balazs Kelemen <kbalazs@webkit.org>
21211 [Qt] WK2 Debugging quirks need some improvement
21212 https://bugs.webkit.org/show_bug.cgi?id=74859
21214 Reviewed by Simon Hausmann.
21216 Improvements added to make debugging WebKit2 more
21217 confortable and efficient:
21218 1. Unify debugging quirks. From now all of them are controlled
21219 by the QT_WEBKIT2_DEBUG environment variable.
21220 2. Disable crash handlers for WebKitTestRunner if debugging quirks
21221 are used to make it possible to use postmortem debugging via core dumps
21222 which is extremely useful for debugging bugs triggered by layout tests.
21223 3. Disable test timeout for WebKitTestRunner if debugging quirks
21224 are used because that makes debugging impossible.
21226 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21227 (WebKit::QtWebProcess::setupChildProcess):
21228 * WebProcess/qt/WebProcessMainQt.cpp:
21229 (WebKit::WebProcessMainQt):
21231 2011-12-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
21233 [Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl() API test
21234 https://bugs.webkit.org/show_bug.cgi?id=74923
21236 Rubber-stamped by Csaba Osztrogonác.
21238 Fixing API usage after http://trac.webkit.org/changeset/103310.
21240 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21241 (tst_QQuickWebView::loadNonexistentFileUrl):
21243 2011-12-20 Simon Hausmann <simon.hausmann@nokia.com>
21245 [Qt] Favicon support should work with multiple web contexts
21246 https://bugs.webkit.org/show_bug.cgi?id=74922
21248 Reviewed by Tor Arne Vestbø.
21250 * UIProcess/API/qt/qquickwebview.cpp:
21251 (QQuickWebViewPrivate::initialize): Remove unnecessary use of QtWebContext::defaultContext(). There is
21252 already a member variable "context" which is the correct one.
21253 (QQuickWebViewPrivate::setIcon): Ditto.
21254 * UIProcess/API/qt/qwebiconimageprovider.cpp:
21255 (QWebIconImageProvider::requestImage): Extract the context id from the image id and use it to
21256 query the correct icon database.
21257 * UIProcess/qt/QtWebContext.cpp: Provide a mapping from id to qtwebcontext.
21258 (WebKit::generateContextID):
21259 (WebKit::QtWebContext::QtWebContext):
21260 (WebKit::QtWebContext::~QtWebContext):
21261 (WebKit::QtWebContext::contextByID):
21262 (WebKit::QtWebContext::initialize):
21263 * UIProcess/qt/QtWebContext.h:
21264 (WebKit::QtWebContext::context):
21265 (WebKit::QtWebContext::contextID):
21266 * UIProcess/qt/QtWebIconDatabaseClient.cpp:
21267 (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21268 (QtWebIconDatabaseClient::requestIconForPageURL): Store the context id in the icon url.
21269 * UIProcess/qt/QtWebIconDatabaseClient.h:
21271 2011-12-20 Rafael Brandao <rafael.lobo@openbossa.org>
21273 [Qt][WK2] Implement favicon support
21274 https://bugs.webkit.org/show_bug.cgi?id=71082
21276 Reviewed by Simon Hausmann.
21278 Added attribute to QQuickWebView named "icon" that should be used
21279 as source for QQuickImage in order to display it. All images
21280 pointing to it will refresh when the icon is ready. We also use IDs
21281 to make it possible to handle different icons for the same page URL
21282 at different times (i.e. dynamically changing favicon).
21284 IconDatabase storage lies on UIProcess and the synchronous call for
21285 the icon that happens on WebIconDatabase won't need to send any message
21286 to WebProcess. The part of IconDatabase on WebProcess handles the download
21287 of the resource whenever it is needed. Then the content downloaded is sent
21288 through IPC to the actual database, on UIProcess.
21291 * UIProcess/API/qt/qquickwebview.cpp:
21292 (QQuickWebViewPrivate::initialize):
21293 (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
21294 (QQuickWebViewPrivate::setIcon):
21295 (QQuickWebView::icon):
21296 * UIProcess/API/qt/qquickwebview_p.h:
21297 * UIProcess/API/qt/qquickwebview_p_p.h:
21298 * UIProcess/API/qt/qwebiconimageprovider.cpp: Added.
21299 (QWebIconImageProvider::QWebIconImageProvider):
21300 (QWebIconImageProvider::~QWebIconImageProvider):
21301 (QWebIconImageProvider::requestImage):
21302 * UIProcess/API/qt/qwebiconimageprovider_p.h: Added.
21303 * UIProcess/WebContext.h:
21304 * UIProcess/WebIconDatabase.cpp:
21305 (WebKit::WebIconDatabase::synchronousIconURLForPageURL):
21306 (WebKit::WebIconDatabase::imageForPageURL): Added iconSize parameter
21307 and a default value for it to not break the old usage. The support for
21308 multiple sizes of favicons is still missing on WebCore.
21309 * UIProcess/WebIconDatabase.h:
21310 * UIProcess/qt/QtWebContext.cpp:
21311 (WebKit::QtWebContext::initialize):
21312 * UIProcess/qt/QtWebContext.h:
21313 (WebKit::QtWebContext::iconDatabase):
21314 * UIProcess/qt/QtWebIconDatabaseClient.cpp: Added.
21315 (toQtWebIconDatabaseClient):
21316 (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21317 (QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
21318 (QtWebIconDatabaseClient::didChangeIconForPageURL):
21319 (QtWebIconDatabaseClient::iconImageForPageURL):
21320 (QtWebIconDatabaseClient::iconURLHashForPageURL):
21321 (QtWebIconDatabaseClient::requestIconForPageURL):
21322 (QtWebIconDatabaseClient::retainIconForPageURL):
21323 (QtWebIconDatabaseClient::releaseIconForPageURL):
21324 * UIProcess/qt/QtWebIconDatabaseClient.h: Added.
21325 * UIProcess/qt/QtWebPageLoadClient.cpp:
21326 (QtWebPageLoadClient::didStartProgress):
21328 2011-12-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
21330 [Qt] Improve QQuickWebView error handling API
21331 https://bugs.webkit.org/show_bug.cgi?id=73815
21333 Reviewed by Simon Hausmann.
21335 Modifying loadFail signal to include the error description
21336 and changing the ErrorType enum to ErrorDomain, to stay aligned
21337 with ResourceError API itself.
21339 * UIProcess/API/qt/qquickwebview_p.h:
21340 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
21341 * UIProcess/qt/QtWebPageLoadClient.cpp:
21342 (QtWebPageLoadClient::dispatchLoadFailed):
21344 2011-12-19 Sam Weinig <sam@webkit.org>
21346 Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
21347 https://bugs.webkit.org/show_bug.cgi?id=74907
21349 Reviewed by Dan Bernstein.
21351 * UIProcess/API/mac/WKView.mm:
21352 Add implementations for scrollLineDown: and scrollLineUp: using our
21355 2011-12-19 Sam Weinig <sam@webkit.org>
21357 More PlatformEvent cleanup
21358 https://bugs.webkit.org/show_bug.cgi?id=74831
21360 Reviewed by Dan Bernstein.
21362 * WebProcess/WebPage/WebPage.cpp:
21363 (WebKit::handleContextMenuEvent):
21364 Update to use new names, access style.
21366 2011-12-16 Jon Lee <jonlee@apple.com>
21368 [WK2] Extend show notification API to include the source page
21369 https://bugs.webkit.org/show_bug.cgi?id=74751
21370 <rdar://problem/10514541>
21372 Reviewed by John Sullivan.
21374 We add the source page that dispatched the notification in the API for convenience. In order to include the page,
21375 we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy.
21377 * WebProcess/Notifications/WebNotificationManager.cpp:
21378 (WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy.
21380 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message.
21381 * UIProcess/WebPageProxy.messages.in: Add a showNotification() message.
21383 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
21384 (WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy.
21385 * UIProcess/Notifications/WebNotificationManagerProxy.h:
21387 * UIProcess/API/C/WKNotificationProvider.h:
21388 * UIProcess/Notifications/WebNotificationProvider.cpp:
21389 (WebKit::WebNotificationProvider::show):
21390 * UIProcess/Notifications/WebNotificationProvider.h:
21391 * UIProcess/WebPageProxy.cpp:
21392 (WebKit::WebPageProxy::showNotification):
21393 * UIProcess/WebPageProxy.h:
21395 2011-12-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
21397 [Qt][WK2] QWebDownloadItems are leaking
21398 https://bugs.webkit.org/show_bug.cgi?id=74618
21400 Reviewed by Kenneth Rohde Christiansen.
21402 QWebDownloadItems are leaking when WebProcess raises a
21403 download failure before sending didReceiveResponse back to UIProcess.
21404 This can happen when QtFileDownloader fails in determineFilename(), for instance.
21405 It happens when QtDownloadManager::downloadFailed() is reached
21406 and has an "empty" downloadItem, which means we never got to
21407 QtDownloadManager::downloadReceivedResponse(). At this point
21408 QQuickWebView::downloadRequested() signal hasn't been emitted and
21409 the downloadItem will have null parent. Therefore, it will leak
21410 unless we delete it ourselves.
21412 * UIProcess/qt/QtDownloadManager.cpp:
21413 (WebKit::QtDownloadManager::downloadFailed):
21415 2011-12-19 Anders Carlsson <andersca@apple.com>
21417 Send gesture events through the event dispatcher and scrolling coordinator
21418 https://bugs.webkit.org/show_bug.cgi?id=74879
21420 Reviewed by Andreas Kling.
21422 * UIProcess/WebPageProxy.cpp:
21423 (WebKit::WebPageProxy::handleGestureEvent):
21424 Use the EventDispatcher message.
21426 * WebProcess/WebPage/EventDispatcher.cpp:
21427 (WebKit::EventDispatcher::gestureEvent):
21428 Try to send the event to the scrolling coordinator first before dispatching it on the main thread.
21430 (WebKit::EventDispatcher::dispatchGestureEvent):
21431 Just call through to the WebPageProxy.
21433 * WebProcess/WebPage/EventDispatcher.h:
21434 * WebProcess/WebPage/EventDispatcher.messages.in:
21435 * WebProcess/WebPage/WebPage.h:
21436 * WebProcess/WebPage/WebPage.messages.in:
21437 Move the GestureEvent message from WebPage to EventDispatcher.
21439 2011-12-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
21441 [Qt] Setting QWebPreferences affect multiple WebViews
21442 https://bugs.webkit.org/show_bug.cgi?id=71559
21444 Reviewed by Kenneth Rohde Christiansen.
21446 The QWebPreferences are per WebView, but the actual implementation
21447 in WebKit2 make them per page group. Currently we share only one
21448 page group between all the views, so if we set preferences
21449 to one WebView the preferences are shared between them all, generating
21450 unexpected behavior. This patch fixes this by making each WebView have
21451 its own page group.
21453 * UIProcess/API/qt/qquickwebview.cpp:
21454 (QQuickWebViewPrivate::QQuickWebViewPrivate):
21455 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
21457 2011-12-19 Eric Carlson <eric.carlson@apple.com>
21459 Enable <track> for Mac build
21460 https://bugs.webkit.org/show_bug.cgi?id=74838
21462 Reviewed by Darin Adler.
21464 * Configurations/FeatureDefines.xcconfig:
21466 2011-12-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
21468 [Qt] [WK2] Fix build error due to unused variables
21469 https://bugs.webkit.org/show_bug.cgi?id=74862
21471 Reviewed by Kenneth Rohde Christiansen.
21473 * UIProcess/qt/QtWebPageEventHandler.cpp:
21474 (QtWebPageEventHandler::inputMethodEvent):
21476 2011-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
21478 [Qt] Add methods for setting, cancelling and confirming the composition
21480 Reviewed by Simon Hausmann.
21482 * UIProcess/WebPageProxy.h:
21483 * UIProcess/qt/WebPageProxyQt.cpp:
21484 (WebKit::WebPageProxy::setComposition):
21485 (WebKit::WebPageProxy::confirmComposition):
21486 (WebKit::WebPageProxy::cancelComposition):
21487 * WebProcess/WebPage/WebPage.h:
21488 * WebProcess/WebPage/WebPage.messages.in:
21489 * WebProcess/WebPage/qt/WebPageQt.cpp:
21490 (WebKit::targetFrameForEditing):
21491 (WebKit::WebPage::confirmComposition):
21492 (WebKit::WebPage::setComposition):
21493 (WebKit::WebPage::cancelComposition):
21495 2011-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
21497 First stab at upstreaming our virtual keyboard code
21499 Reviewed by Simon Hausmann.
21501 Add basic implementation of inputMethodEvent
21503 * UIProcess/qt/QtWebPageEventHandler.cpp:
21504 (QtWebPageEventHandler::handleEvent):
21505 (QtWebPageEventHandler::inputMethodEvent):
21506 * UIProcess/qt/QtWebPageEventHandler.h:
21508 2011-12-19 Simon Hausmann <simon.hausmann@nokia.com>
21510 [Qt][WK2] Add support for modal event loop processing for WTR
21511 https://bugs.webkit.org/show_bug.cgi?id=74852
21513 Reviewed by Kenneth Rohde Christiansen.
21515 Add support for nested event loops, used by WebPage::runModal().
21517 * Platform/qt/RunLoopQt.cpp:
21521 2011-12-18 Sam Weinig <sam@webkit.org>
21523 Another attempt to fix the windows build.
21525 * Platform/win/WorkQueueWin.cpp:
21526 (WorkQueue::performWorkOnRegisteredWorkThread):
21527 (WorkQueue::dispatch):
21529 2011-12-18 Sam Weinig <sam@webkit.org>
21531 Try to fix the windows build.
21533 * Platform/win/WorkQueueWin.cpp:
21534 (WorkQueue::performWorkOnRegisteredWorkThread):
21536 2011-12-18 Sam Weinig <sam@webkit.org>
21538 Remove now unused WorkItem.h
21539 https://bugs.webkit.org/show_bug.cgi?id=74818
21541 Reviewed by Andreas Kling.
21544 * Platform/CoreIPC/Connection.cpp:
21545 * Platform/RunLoop.cpp:
21546 * Platform/RunLoop.h:
21547 * Platform/WorkItem.h: Removed.
21548 * Platform/gtk/RunLoopGtk.cpp:
21549 * Platform/mac/RunLoopMac.mm:
21550 * Platform/mac/WorkQueueMac.cpp:
21551 (WorkQueue::platformInvalidate):
21552 * Platform/qt/RunLoopQt.cpp:
21553 * Platform/win/RunLoopWin.cpp:
21555 * UIProcess/ResponsivenessTimer.cpp:
21556 * WebKit2.xcodeproj/project.pbxproj:
21557 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21558 * win/WebKit2.vcproj:
21560 2011-12-18 Anders Carlsson <andersca@apple.com>
21562 Set the main frame view scroll position asynchronously
21563 https://bugs.webkit.org/show_bug.cgi?id=74823
21565 Reviewed by Sam Weinig.
21567 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21568 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21569 Don't make the background red.
21571 2011-12-18 Sam Weinig <sam@webkit.org>
21573 Move timestamp down from PlatformEvent subclasses to the base class
21574 https://bugs.webkit.org/show_bug.cgi?id=74805
21576 Reviewed by Anders Carlsson.
21578 * Shared/WebEventConversion.cpp:
21579 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21580 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21581 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21582 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21583 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21585 2011-12-18 Anders Carlsson <andersca@apple.com>
21587 Add a scrolling thread to the scrolling coordinator
21588 https://bugs.webkit.org/show_bug.cgi?id=74814
21590 Reviewed by Andreas Kling.
21592 Check if the scrolling coordinator can handle the wheel event before dispatching it
21593 to the main thread.
21595 * WebProcess/WebPage/EventDispatcher.cpp:
21596 (WebKit::EventDispatcher::wheelEvent):
21598 2011-12-18 Anders Carlsson <andersca@apple.com>
21600 EventDispatcher should keep track of all scrolling coordinators
21601 https://bugs.webkit.org/show_bug.cgi?id=74810
21603 Reviewed by Andreas Kling.
21605 * WebProcess/WebPage/EventDispatcher.cpp:
21606 (WebKit::EventDispatcher::addScrollingCoordinatorForPage):
21607 Get the scrolling coordinator from the WebCore page and add it to the map.
21609 (WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
21610 Remove the scrolling coordinator from the map.
21612 (WebKit::EventDispatcher::sendDidHandleEvent):
21613 Add a new helper function, currently unused.
21615 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21616 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21617 Add the scrolling coordinator.
21619 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21620 Remove the scrolling coordinator.
21622 * WebProcess/WebProcess.h:
21623 (WebKit::WebProcess::eventDispatcher):
21626 2011-12-16 Anders Carlsson <andersca@apple.com>
21628 Move everyone off of WorkItem
21629 https://bugs.webkit.org/show_bug.cgi?id=74773
21631 Reviewed by Darin Adler.
21633 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
21634 (CoreIPC::Connection::open):
21635 (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
21636 * Platform/CoreIPC/win/ConnectionWin.cpp:
21637 (CoreIPC::Connection::open):
21638 * Platform/RunLoop.cpp:
21639 (RunLoop::performWork):
21640 (RunLoop::dispatch):
21641 * Platform/RunLoop.h:
21642 * Platform/WorkQueue.cpp:
21643 * Platform/WorkQueue.h:
21644 (WorkQueue::WorkItemWin::function):
21645 * Platform/gtk/WorkQueueGtk.cpp:
21646 (WorkQueue::EventSource::EventSource):
21647 (WorkQueue::EventSource::executeEventSource):
21648 (WorkQueue::registerEventSourceHandler):
21649 (WorkQueue::dispatchOnSource):
21650 (WorkQueue::dispatch):
21651 (WorkQueue::dispatchAfterDelay):
21652 (WorkQueue::dispatchOnTermination):
21653 * Platform/mac/WorkQueueMac.cpp:
21654 (WorkQueue::executeFunction):
21655 (WorkQueue::dispatch):
21656 (WorkQueue::dispatchAfterDelay):
21657 * Platform/qt/WorkQueueQt.cpp:
21658 (WorkQueue::WorkItemQt::WorkItemQt):
21659 (WorkQueue::WorkItemQt::~WorkItemQt):
21660 (WorkQueue::WorkItemQt::execute):
21661 (WorkQueue::registerSocketEventHandler):
21662 (WorkQueue::dispatch):
21663 (WorkQueue::dispatchAfterDelay):
21664 (WorkQueue::dispatchOnTermination):
21665 * Platform/win/RunLoopWin.cpp:
21667 * Platform/win/WorkQueueWin.cpp:
21668 (WorkQueue::WorkItemWin::WorkItemWin):
21669 (WorkQueue::WorkItemWin::create):
21670 (WorkQueue::HandleWorkItem::HandleWorkItem):
21671 (WorkQueue::HandleWorkItem::createByAdoptingHandle):
21672 (WorkQueue::registerHandle):
21673 (WorkQueue::dispatch):
21674 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
21675 (WebKit::ProcessLauncher::launchProcess):
21676 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21677 (WebKit::ProcessLauncher::launchProcess):
21678 * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
21679 (WebKit::ProcessLauncher::launchProcess):
21680 * WebProcess/mac/CoreIPCClientRunLoop.mm:
21681 (WebKit::callOnCoreIPCClientRunLoopAndWait):
21683 2011-12-17 Sam Weinig <sam@webkit.org>
21685 Make PlatformTouchEvent inherit from PlatformEvent
21686 https://bugs.webkit.org/show_bug.cgi?id=74777
21688 Reviewed by Andreas Kling.
21690 * Shared/WebEventConversion.cpp:
21691 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21692 Add PlatformEvent prefix to enum types.
21694 2011-12-16 Anders Carlsson <andersca@apple.com>
21696 Convert more WorkItems over to WTF::Functions
21697 https://bugs.webkit.org/show_bug.cgi?id=74770
21699 Reviewed by Andreas Kling.
21701 * Platform/WorkQueue.cpp:
21702 (WorkQueue::dispatchAfterDelay):
21703 * Platform/WorkQueue.h:
21704 * Shared/ChildProcess.cpp:
21705 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
21706 * UIProcess/Launcher/ThreadLauncher.cpp:
21707 (WebKit::ThreadLauncher::launchThread):
21708 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
21709 (WebKit::ProcessLauncher::launchProcess):
21710 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21711 (WebKit::NetscapePlugin::pluginThreadAsyncCall):
21712 * WebProcess/Plugins/PluginView.cpp:
21713 (WebKit::derefPluginView):
21714 (WebKit::PluginView::unprotectPluginFromDestruction):
21716 2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com>
21720 Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
21721 static data members across DLL boundaries were getting garbage in their pointers.
21725 2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
21727 Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
21728 https://bugs.webkit.org/show_bug.cgi?id=74748
21730 Reviewed by Eric Seidel.
21732 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21733 (WebKit::WebEditorClient::registerUndoStep):
21734 (WebKit::WebEditorClient::registerRedoStep):
21735 * WebProcess/WebCoreSupport/WebEditorClient.h:
21737 2011-12-16 Anders Carlsson <andersca@apple.com>
21739 Add a pretty dumb tile cache to WebTileCacheLayer
21740 https://bugs.webkit.org/show_bug.cgi?id=74753
21742 Reviewed by Simon Fraser.
21744 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21745 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21746 Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
21748 2011-12-16 Anders Carlsson <andersca@apple.com>
21750 TiledCoreAnimationDrawingArea should enable the scrolling coordinator
21751 https://bugs.webkit.org/show_bug.cgi?id=74724
21753 Reviewed by Adam Roben.
21755 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21756 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21758 2011-12-16 Sam Weinig <sam@webkit.org>
21760 Give PlatformEvents a base class
21761 https://bugs.webkit.org/show_bug.cgi?id=74685
21763 Reviewed by Anders Carlsson.
21765 Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
21766 and PlatformGestureEvent and move Type enumeration and modifiers down to it.
21768 * Shared/WebEventConversion.cpp:
21769 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21770 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21771 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21772 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21773 * WebKit2.xcodeproj/project.pbxproj:
21774 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
21775 (WebKit::WebEditorClient::handleKeyboardEvent):
21776 * WebProcess/WebPage/WebPage.cpp:
21777 (WebKit::handleMouseEvent):
21778 (WebKit::WebPage::setInitialFocus):
21779 (WebKit::WebPage::handleEditingKeyboardEvent):
21780 (WebKit::WebPage::dragEnded):
21781 * WebProcess/WebPage/mac/WebPageMac.mm:
21782 (WebKit::WebPage::executeKeypressCommandsInternal):
21783 (WebKit::WebPage::handleEditingKeyboardEvent):
21785 2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
21787 Only EditCommandComposition should implement unapply and reapply
21788 https://bugs.webkit.org/show_bug.cgi?id=74490
21790 Reviewed by Eric Seidel.
21792 Renamed WebEditCommand to WebUndoStep and made necessary changes.
21793 Everything on WebProcess side should have the correct name now.
21795 Names in the proxy and UIProcess are to be updated in a follow up.
21800 * WebKit2.xcodeproj/project.pbxproj:
21801 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21802 (WebKit::WebEditorClient::registerCommandForUndo):
21803 (WebKit::WebEditorClient::registerCommandForRedo):
21804 * WebProcess/WebCoreSupport/WebEditorClient.h:
21805 * WebProcess/WebPage/WebEditCommand.cpp: Removed.
21806 * WebProcess/WebPage/WebEditCommand.h: Removed.
21807 * WebProcess/WebPage/WebPage.cpp:
21808 (WebKit::WebPage::webUndoStep):
21809 (WebKit::WebPage::addWebUndoStep):
21810 (WebKit::WebPage::removeWebEditCommand):
21811 (WebKit::WebPage::unapplyEditCommand):
21812 (WebKit::WebPage::reapplyEditCommand):
21813 * WebProcess/WebPage/WebPage.h:
21814 * WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
21815 (WebKit::generateUndoStep):
21816 (WebKit::WebUndoStep::create):
21817 * WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
21818 (WebKit::WebUndoStep::entry):
21819 (WebKit::WebUndoStep::entryID):
21820 (WebKit::WebUndoStep::WebUndoStep):
21821 * win/WebKit2.vcproj:
21823 2011-12-16 Simon Hausmann <simon.hausmann@nokia.com>
21825 [Qt] Eliminate dependency to QUndoStack
21826 https://bugs.webkit.org/show_bug.cgi?id=74691
21828 Reviewed by Kenneth Rohde Christiansen.
21830 Replaced the QUndoStack with two vectors. When calling unapply()
21831 on the edit command proxy, it will automatically re-register itself
21834 * UIProcess/qt/QtWebUndoController.cpp:
21835 (QtWebUndoController::registerEditCommand):
21836 (QtWebUndoController::clearAllEditCommands):
21837 (QtWebUndoController::canUndoRedo):
21838 (QtWebUndoController::executeUndoRedo):
21839 * UIProcess/qt/QtWebUndoController.h:
21841 2011-12-16 Rafael Brandao <rafael.lobo@openbossa.org>
21843 [Qt][WK2] Move webView.page into experimental
21844 https://bugs.webkit.org/show_bug.cgi?id=74406
21846 Reviewed by Simon Hausmann.
21848 * UIProcess/API/qt/qquickwebview.cpp:
21849 (QQuickWebViewExperimental::page):
21850 * UIProcess/API/qt/qquickwebview_p.h:
21851 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21852 (tst_QQuickWebView::accessPage):
21854 2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com>
21856 De-virtualize destructors
21857 https://bugs.webkit.org/show_bug.cgi?id=74331
21859 Reviewed by Geoffrey Garen.
21861 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
21862 * WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
21863 (WebKit::JSNPObject::destroy):
21864 * WebProcess/Plugins/Netscape/JSNPObject.h:
21865 * win/WebKit2.def: Add/remove necessary symbols.
21866 * win/WebKit2CFLite.def: Ditto.
21868 2011-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
21870 [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
21871 https://bugs.webkit.org/show_bug.cgi?id=74713
21873 Reviewed by Gustavo Noronha Silva.
21875 Most of the members are bools, so it reduces the memory footprint.
21877 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
21879 2011-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
21881 [GTK] Window frame should be 0x0 when the toplevel window is not visible
21882 https://bugs.webkit.org/show_bug.cgi?id=74709
21884 Reviewed by Gustavo Noronha Silva.
21886 * UIProcess/API/gtk/WebKitUIClient.cpp:
21887 (getWindowFrame): Check also whether the toplevel is visible
21888 before getting its size and position.
21890 2011-12-16 Michael Bruning <michael.bruning@nokia.com>
21892 [qt][wk2] Viewport info panel shows wrong current scale
21893 https://bugs.webkit.org/show_bug.cgi?id=74613
21895 Reviewed by Kenneth Rohde Christiansen.
21897 * UIProcess/API/qt/qwebviewportinfo.cpp:
21898 (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
21899 added emission of currenScaleUpdated signal when the viewport constraints
21901 (QWebViewportInfo::didUpdateViewportConstraints):
21902 * UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
21903 currentScale to QVariant as it depends on the viewport interaction engine
21905 * UIProcess/qt/QtViewportInteractionEngine.cpp:
21906 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
21907 to use currentCSSScale for getting the current css scale.
21908 (WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
21909 * UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
21911 2011-12-15 Martin Robinson <mrobinson@igalia.com>
21913 Fix 'make dist' in preparation for the GTK+ release.
21915 * GNUmakefile.am: Add missing header.
21917 2011-12-15 Anders Carlsson <andersca@apple.com>
21919 Add support for accelerated compositing to the tiled Core Animation drawing area
21920 https://bugs.webkit.org/show_bug.cgi?id=74675
21922 Reviewed by Andreas Kling.
21924 Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
21926 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21927 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21928 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21929 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21930 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
21931 (WebKit::TiledCoreAnimationDrawingArea::scroll):
21932 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
21933 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
21934 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21935 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
21937 2011-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
21939 Unreviewed, rolling out r102652 and r102717.
21940 http://trac.webkit.org/changeset/102652
21941 http://trac.webkit.org/changeset/102717
21942 https://bugs.webkit.org/show_bug.cgi?id=74674
21944 Broke too many webs. (Requested by kling on #webkit).
21946 * UIProcess/API/mac/WKView.mm:
21947 (-[WKView _updateWindowAndViewFrames]):
21948 * UIProcess/WebPageProxy.h:
21949 * UIProcess/mac/WebPageProxyMac.mm:
21950 (WebKit::WebPageProxy::windowAndViewFramesChanged):
21951 * WebProcess/Plugins/PluginView.cpp:
21952 (WebKit::PluginView::windowAndViewFramesChanged):
21953 * WebProcess/Plugins/PluginView.h:
21954 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
21955 (WebKit::WebChromeClient::windowRect):
21956 * WebProcess/WebPage/WebPage.cpp:
21957 (WebKit::WebPage::windowAndViewFramesChanged):
21958 * WebProcess/WebPage/WebPage.h:
21959 (WebKit::WebPage::windowFrameInScreenCoordinates):
21960 (WebKit::WebPage::viewFrameInWindowCoordinates):
21961 (WebKit::WebPage::accessibilityPosition):
21962 * WebProcess/WebPage/WebPage.messages.in:
21963 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
21964 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
21966 2011-12-15 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
21968 [GTK] New API test for WindowProperties fails
21969 https://bugs.webkit.org/show_bug.cgi?id=74630
21971 Reviewed by Martin Robinson.
21973 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
21974 (WindowProperties::viewReadyToShow): assert each member to make
21975 assertion error messages more useful, and avoid asserting x and y,
21976 since we are getting bad values from WebCore, for some reason.
21977 (testWebViewWindowProperties): use smaller values that fit inside the
21978 800x600 screen used by the bots.
21980 2011-12-15 Anders Carlsson <andersca@apple.com>
21982 EventDispatcher should handle wheel events on the connection queue
21983 https://bugs.webkit.org/show_bug.cgi?id=74627
21985 Reviewed by Andreas Kling.
21987 Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
21988 immediately bounces them to the main thread (for now).
21990 * UIProcess/WebPageProxy.cpp:
21991 (WebKit::WebPageProxy::handleWheelEvent):
21992 (WebKit::WebPageProxy::didReceiveEvent):
21993 * WebProcess/WebPage/EventDispatcher.cpp:
21994 (WebKit::EventDispatcher::wheelEvent):
21995 (WebKit::EventDispatcher::dispatchWheelEvent):
21996 * WebProcess/WebPage/EventDispatcher.h:
21997 * WebProcess/WebPage/EventDispatcher.messages.in:
21998 * WebProcess/WebPage/WebPage.h:
22000 2011-12-15 Jon Lee <jonlee@apple.com>
22002 [WK2] Extend WebNotification to include its origin
22003 https://bugs.webkit.org/show_bug.cgi?id=74615
22004 <rdar://problem/10587164>
22006 Reviewed by Sam Weinig.
22008 * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
22010 * Shared/API/c/WKSecurityOrigin.cpp:
22011 (WKSecurityOriginCopyDatabaseIdentifier):
22013 * UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.
22014 (WebKit::WebNotification::create):
22015 (WebKit::WebNotification::origin):
22016 * UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.
22017 (WebKit::WebNotification::WebNotification):
22019 * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
22020 * UIProcess/API/C/WKNotification.cpp:
22021 (WKNotificationGetSecurityOrigin):
22023 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the
22024 origin of the notification.
22025 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
22026 (WebKit::WebNotificationManagerProxy::show):
22027 * UIProcess/Notifications/WebNotificationManagerProxy.h:
22028 * WebProcess/Notifications/WebNotificationManager.cpp:
22029 (WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
22032 2011-12-15 Rafael Brandao <rafael.lobo@openbossa.org>
22034 [Qt][WK2] Add test for download policy on navigation request
22035 https://bugs.webkit.org/show_bug.cgi?id=74541
22037 Reviewed by Tor Arne Vestbø.
22039 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
22040 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a
22041 downloadFinished signal to finish the test.
22043 2011-12-15 Anders Carlsson <andersca@apple.com>
22045 Move WorkQueue Mach handlers over to WTF::Function
22046 https://bugs.webkit.org/show_bug.cgi?id=74620
22048 Reviewed by Sam Weinig.
22050 * Platform/CoreIPC/mac/ConnectionMac.cpp:
22051 (CoreIPC::Connection::open):
22052 (CoreIPC::Connection::initializeDeadNameSource):
22053 * Platform/WorkQueue.h:
22054 * Platform/mac/WorkQueueMac.cpp:
22055 (WorkQueue::EventSource::EventSource):
22056 (WorkQueue::EventSource::eventHandler):
22057 (WorkQueue::registerMachPortEventHandler):
22059 2011-12-14 Anders Carlsson <andersca@apple.com>
22061 Add WTF::Function to wtf/Forward.h
22062 https://bugs.webkit.org/show_bug.cgi?id=74576
22064 Reviewed by Adam Roben.
22066 * Platform/RunLoop.h:
22067 * Platform/WorkQueue.h:
22068 Remove forward declarations and just include wtf/Forward.h.
22070 2011-12-15 Rafael Brandao <rafael.lobo@openbossa.org>
22072 [Qt][WK2] Move WebPreferences into experimental
22073 https://bugs.webkit.org/show_bug.cgi?id=74404
22075 Reviewed by Tor Arne Vestbø.
22077 * UIProcess/API/qt/qquickwebview.cpp:
22078 (QQuickWebViewExperimental::preferences):
22079 * UIProcess/API/qt/qquickwebview_p.h:
22080 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
22081 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
22083 2011-12-15 Carlos Garcia Campos <cgarcia@igalia.com>
22085 [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API
22086 https://bugs.webkit.org/show_bug.cgi?id=74595
22088 Reviewed by Gustavo Noronha Silva.
22090 * GNUmakefile.am: Add new files to compilation.
22091 * UIProcess/API/gtk/WebKitUIClient.cpp:
22092 (createNewPage): Pass the dictionary containing the window
22093 features to webkitWebViewCreateNewPage().
22094 (toolbarsAreVisible): Return
22095 WebKitWindowProperties:toolbar-visible.
22096 (setToolbarsAreVisible): Set
22097 WebKitWindowProperties:toolbar-visible.
22098 (menuBarIsVisible): Return WebKitWindowProperties:menu-visible.
22099 (setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible.
22100 (statusBarIsVisible): Return
22101 WebKitWindowProperties:status-visible.
22102 (setStatusBarIsVisible): Set
22103 WebKitWindowProperties:status-visible.
22104 (isResizable): Return WebKitWindowProperties:resizable.
22105 (setIsResizable): Set WebKitWindowProperties:resizable.
22106 (getWindowFrame): Return WebKitWindowProperties:geometry.
22107 (setWindowFrame): Set WebKitWindowProperties:geometry.
22108 (webkitUIClientAttachUIClientToPage): Initialize the UI client for
22110 * UIProcess/API/gtk/WebKitWebView.cpp:
22111 (webkit_web_view_init): Create a WebKitWindowProperties object for
22113 (webkit_web_view_class_init):
22114 (webkitWebViewCreateNewPage): Update the WebKitWindowProperties
22115 object using the window features dictionary.
22116 (webkit_web_view_get_window_properties): Return the
22117 WebKitWindowProperties object of the view.
22118 * UIProcess/API/gtk/WebKitWebView.h:
22119 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22120 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Added.
22121 (webkitWindowPropertiesFinalize):
22122 (webkitWindowPropertiesGetProperty):
22123 (webkitWindowPropertiesSetProperty):
22124 (webkit_window_properties_class_init):
22125 (webkit_window_properties_init):
22126 (webkitWindowPropertiesCreate): Create a new
22127 WebKitWindowProperties object.
22128 (webkitWindowPropertiesSetGeometry):
22129 (webkitWindowPropertiesSetToolbarVisible):
22130 (webkitWindowPropertiesSetMenubarVisible):
22131 (webkitWindowPropertiesSetStatusbarVisible):
22132 (webkitWindowPropertiesSetLocationbarVisible):
22133 (webkitWindowPropertiesSetScrollbarsVisible):
22134 (webkitWindowPropertiesSetResizable):
22135 (webkitWindowPropertiesSetFullscreen):
22136 (webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the
22137 window features dictionary and update the WebKitWindowProperties
22138 object accordingly.
22139 (webkit_window_properties_get_geometry):
22140 (webkit_window_properties_get_toolbar_visible):
22141 (webkit_window_properties_get_statusbar_visible):
22142 (webkit_window_properties_get_scrollbars_visible):
22143 (webkit_window_properties_get_menubar_visible):
22144 (webkit_window_properties_get_locationbar_visible):
22145 (webkit_window_properties_get_resizable):
22146 (webkit_window_properties_get_fullscreen):
22147 * UIProcess/API/gtk/WebKitWindowProperties.h: Added.
22148 * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h.
22149 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
22150 WebKitWindowProperties.
22151 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
22152 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
22153 webkit_window_properties_get_type.
22154 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22155 (WindowProperties::windowPropertiesNotifyCallback):
22156 (WindowProperties::viewReadyToShow):
22157 (WindowProperties::viewCreate):
22158 (WindowProperties::setExpectedWindowProperties):
22159 (testWebViewWindowProperties):
22161 * UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h.
22162 * UIProcess/WebUIClient.cpp:
22163 (WebKit::WebUIClient::createNewPage): Add also "locationBarVisible"
22164 to the window features dictionary.
22166 2011-12-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22168 [Qt] [WK2] Remove QtWebPageProxy
22169 https://bugs.webkit.org/show_bug.cgi?id=74540
22171 Reviewed by Kenneth Rohde Christiansen.
22173 Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in
22174 QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom
22175 and user agent setting). Since those wrappers are unused, they were removed. The
22176 signal in the class was also unused.
22178 This patch also remove the code from WebContextMenuProxyQt, it was remains of a
22179 previous QMenu-based implementation. We want to rewrite this code for QML anyway,
22180 so I reverted to an empty state.
22182 Farewell, QtWebPageProxy!
22185 * UIProcess/API/qt/qquickwebpage.cpp:
22186 * UIProcess/API/qt/qquickwebpage_p.h:
22187 * UIProcess/API/qt/qquickwebview.cpp:
22188 (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22189 (QQuickWebViewPrivate::initialize):
22190 (QQuickWebViewPrivate::processDidCrash):
22191 (QQuickWebViewPrivate::createDrawingAreaProxy):
22192 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22193 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22194 (QQuickWebViewPrivate::_q_onVisibleChanged):
22195 (QQuickWebViewPrivate::updateViewportSize):
22196 (QQuickWebViewPrivate::computeViewportConstraints):
22197 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22198 (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22199 (QQuickWebViewExperimental::postMessage):
22200 (QQuickWebView::load):
22201 (QQuickWebView::goBack):
22202 (QQuickWebView::goForward):
22203 (QQuickWebView::stop):
22204 (QQuickWebView::reload):
22205 (QQuickWebView::url):
22206 (QQuickWebView::canGoBack):
22207 (QQuickWebView::canGoForward):
22208 (QQuickWebView::loading):
22209 (QQuickWebView::canReload):
22210 (QQuickWebView::title):
22211 (QQuickWebView::pageRef):
22212 (QQuickWebView::loadHtml):
22213 * UIProcess/API/qt/qquickwebview_p.h:
22214 * UIProcess/API/qt/qquickwebview_p_p.h:
22215 * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22216 * UIProcess/API/qt/qwebpreferences.cpp:
22217 (QWebPreferencesPrivate::preferencesRef):
22218 * UIProcess/PageClient.h:
22219 * UIProcess/qt/QtPageClient.cpp:
22220 (QtPageClient::QtPageClient):
22221 (QtPageClient::initialize):
22222 (QtPageClient::createPopupMenuProxy):
22223 (QtPageClient::createContextMenuProxy):
22224 * UIProcess/qt/QtPageClient.h:
22225 * UIProcess/qt/QtWebPageProxy.cpp: Removed.
22226 * UIProcess/qt/QtWebPageProxy.h: Removed.
22227 * UIProcess/qt/WebContextMenuProxyQt.cpp:
22228 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
22229 (WebKit::WebContextMenuProxyQt::create):
22230 (WebKit::WebContextMenuProxyQt::showContextMenu):
22231 (WebKit::WebContextMenuProxyQt::hideContextMenu):
22232 * UIProcess/qt/WebContextMenuProxyQt.h:
22234 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
22236 [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
22237 https://bugs.webkit.org/show_bug.cgi?id=74602
22239 Reviewed by Kenneth Rohde Christiansen.
22241 For shared memory Qt was using shm_open, Gtk was using files in /tmp. There
22242 is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior
22243 method of opening shared memory. So this patch makes SharedMemoryUnix.cpp
22244 truly Qt and Gtk independent.
22246 * Platform/unix/SharedMemoryUnix.cpp:
22247 (WebKit::SharedMemory::create):
22249 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
22251 [Qt] Cleanup: Remove unnecessary const_cast
22253 Reviewed by Kenneth Christiansen.
22255 * UIProcess/API/qt/qquickwebview.cpp:
22256 (QQuickWebView::preferences):
22258 2011-12-15 Michael Brüning <michael.bruning@nokia.com>
22260 [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
22261 https://bugs.webkit.org/show_bug.cgi?id=72893
22263 Reviewed by Kenneth Rohde Christiansen.
22265 This patch extends QQuickWebViewExperimental by a property named
22266 viewportInfo, which contains the viewport scalability and
22267 layout and contents size information. This property is exposed to
22268 QML through the experimental extension for QQuickWebView.
22271 * UIProcess/API/qt/qquickwebview.cpp:
22272 (QQuickWebViewPrivate::didChangeContentsSize):
22273 (QQuickWebViewPrivate::computeViewportConstraints):
22274 (QQuickWebViewPrivate::PostTransitionState::apply): Added applying
22275 contentsSize to viewportInfo.
22276 (QQuickWebViewExperimental::QQuickWebViewExperimental):
22277 (QQuickWebViewExperimental::viewportInfo):
22278 * UIProcess/API/qt/qquickwebview_p.h:
22279 * UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply
22280 to qquickwebview.cpp. Added friend QWebViewportInfo.
22281 * UIProcess/API/qt/qwebviewportinfo.cpp: Added.
22282 (QWebViewportInfo::QWebViewportInfo):
22283 (QWebViewportInfo::~QWebViewportInfo):
22284 (QWebViewportInfo::contentsSize):
22285 (QWebViewportInfo::currentScale):
22286 (QWebViewportInfo::devicePixelRatio):
22287 (QWebViewportInfo::initialScale):
22288 (QWebViewportInfo::minimumScale):
22289 (QWebViewportInfo::maximumScale):
22290 (QWebViewportInfo::isScalable):
22291 (QWebViewportInfo::layoutSize):
22292 (QWebViewportInfo::didUpdateContentsSize):
22293 (QWebViewportInfo::didUpdateCurrentScale):
22294 (QWebViewportInfo::didUpdateViewportConstraints):
22295 * UIProcess/API/qt/qwebviewportinfo_p.h: Added.
22296 * UIProcess/qt/QtViewportInteractionEngine.h:
22297 (WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize.
22298 (WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints.
22300 2011-12-15 Simon Hausmann <simon.hausmann@nokia.com>
22302 [WK2] WebPage::m_useFixedLayout variable unininitialized
22303 https://bugs.webkit.org/show_bug.cgi?id=74596
22305 Reviewed by Kenneth Rohde Christiansen.
22307 * WebProcess/WebPage/WebPage.cpp:
22308 (WebKit::WebPage::WebPage): Avoid uninitialized use through
22309 initialization in the constructor.
22311 2011-12-15 Alexander Færøy <ahf@0x90.dk>
22313 [Qt] r102849 broke the Qt build on Mac OS X.
22314 https://bugs.webkit.org/show_bug.cgi?id=74594
22316 Reviewed by Simon Hausmann.
22318 The __APPLE__ macro is defined on all standard OS X compilers, which
22319 leads to various CoreGraphics headers to be included in the Qt build.
22323 2011-12-14 Jing Zhao <jingzhao@chromium.org>
22325 Opening two popup menus by dispatchEvent() makes problems.
22326 https://bugs.webkit.org/show_bug.cgi?id=73304
22328 Reviewed by Kent Tamura.
22330 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22331 (WebKit::WebChromeClient::hasOpenedPopup): Not implemented.
22332 * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
22334 2011-12-14 Sam Weinig <weinig@apple.com>
22336 Remove whitespace from InheritedPropertySheets attributes in
22337 vsprops files to appease the Visual Studio project migrator.
22339 Reviewed by Adam Roben.
22341 * win/WebKit2Debug.vsprops:
22342 * win/WebKit2DebugAll.vsprops:
22343 * win/WebKit2DebugCairoCFLite.vsprops:
22344 * win/WebKit2Production.vsprops:
22345 * win/WebKit2Release.vsprops:
22346 * win/WebKit2ReleaseCairoCFLite.vsprops:
22347 * win/WebKit2WebProcessDebug.vsprops:
22348 * win/WebKit2WebProcessDebugAll.vsprops:
22349 * win/WebKit2WebProcessDebugCairoCFLite.vsprops:
22350 * win/WebKit2WebProcessProduction.vsprops:
22351 * win/WebKit2WebProcessRelease.vsprops:
22352 * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
22354 2011-12-14 Anders Carlsson <andersca@apple.com>
22356 Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects
22357 https://bugs.webkit.org/show_bug.cgi?id=74574
22359 Reviewed by Sam Weinig.
22361 * Platform/CoreIPC/Connection.cpp:
22362 (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
22363 (CoreIPC::Connection::addQueueClient):
22364 (CoreIPC::Connection::removeQueueClient):
22365 (CoreIPC::Connection::invalidate):
22366 (CoreIPC::Connection::sendMessage):
22367 (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
22368 (CoreIPC::Connection::connectionDidClose):
22369 (CoreIPC::Connection::enqueueIncomingMessage):
22370 Switch over to dispatch.
22372 * Platform/RunLoop.cpp:
22373 (RunLoop::dispatch):
22374 Create a FunctionWorkItem and call scheduleWork.
22376 * Platform/RunLoop.h:
22379 * Platform/WorkItem.h:
22380 (FunctionWorkItem::FunctionWorkItem):
22381 (FunctionWorkItem::execute):
22382 (WorkItem::create):
22383 Add a helper work item that wraps a WTF::Function.
22385 * Platform/WorkQueue.cpp:
22386 (WorkQueue::dispatch):
22387 Create a FunctionWorkItem and call scheduleWork.
22389 * Platform/WorkQueue.h:
22392 * UIProcess/Launcher/ProcessLauncher.cpp:
22393 (WebKit::ProcessLauncher::ProcessLauncher):
22394 Switch over to dispatch.
22396 2011-12-14 Hajime Morrita <morrita@chromium.org>
22398 JS_INLINE and WTF_INLINE should be visible from WebCore
22399 https://bugs.webkit.org/show_bug.cgi?id=73191
22401 Reviewed by Kevin Ollivier.
22403 Removed macro definitions which is now provided by Platform.h
22407 2011-12-14 Alexey Proskuryakov <ap@apple.com>
22409 [Mac] Sandbox violation opening AppleSNBFBUserClient
22410 https://bugs.webkit.org/show_bug.cgi?id=74560
22411 <rdar://problem/10410896>
22413 Reviewed by Darin Adler.
22415 * WebProcess/com.apple.WebProcess.sb: Just allow it.
22417 2011-12-13 Jon Lee <jonlee@apple.com>
22419 Enable notifications on Mac.
22421 Reviewed by Sam Weinig.
22423 * Configurations/FeatureDefines.xcconfig:
22425 2011-12-14 Mark Rowe <mrowe@apple.com>
22427 <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy
22429 Reviewed by Anders Carlsson.
22431 * PluginProcess/PluginControllerProxy.cpp:
22432 (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error.
22434 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22436 [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy
22437 https://bugs.webkit.org/show_bug.cgi?id=74525
22439 Reviewed by Luiz Agostini.
22441 This patch also uses internal WebKit API to set the Accelerate Compositing
22442 directly instead of going thru QWebPreferencesPrivate. The previous approach was
22443 always causing the QWebPreferences to be created making the "lazy initialization"
22446 * UIProcess/API/qt/qquickwebview.cpp:
22447 (QQuickWebViewPrivate::QQuickWebViewPrivate):
22448 (QQuickWebViewPrivate::initialize):
22449 (QQuickWebViewPrivate::navigatorQtObjectEnabled):
22450 (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22451 (QQuickWebViewExperimental::postMessage):
22452 (QQuickWebView::preferences):
22453 * UIProcess/API/qt/qquickwebview_p_p.h:
22454 * UIProcess/API/qt/qwebpreferences.cpp:
22455 (QWebPreferencesPrivate::createPreferences):
22456 (QWebPreferencesPrivate::testAttribute):
22457 (QWebPreferencesPrivate::setAttribute):
22458 (QWebPreferences::navigatorQtObjectEnabled):
22459 (QWebPreferences::setNavigatorQtObjectEnabled):
22460 (QWebPreferencesPrivate::preferencesRef):
22461 * UIProcess/API/qt/qwebpreferences_p_p.h:
22462 * UIProcess/qt/QtWebPageProxy.cpp:
22463 (QtWebPageProxy::QtWebPageProxy):
22464 * UIProcess/qt/QtWebPageProxy.h:
22466 2011-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
22468 [GTK] Page size should be 0,0 when view widget is not realized
22469 https://bugs.webkit.org/show_bug.cgi?id=74523
22471 Reviewed by Martin Robinson.
22473 We currently return 1,1 because GTK+ initializes widget allocation
22476 * UIProcess/API/gtk/PageClientImpl.cpp:
22477 (WebKit::PageClientImpl::viewSize): Check whether widget is
22478 realized and return IntSize() in that case.
22480 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22482 [Qt] [WK2] Move download handling out of QtWebPageProxy
22483 https://bugs.webkit.org/show_bug.cgi?id=74506
22485 Reviewed by Kenneth Rohde Christiansen.
22487 Also moves the creation of QtWebContext out of QtWebPageProxy.
22489 * UIProcess/API/qt/qquickwebview.cpp:
22490 (QQuickWebViewPrivate::initialize):
22491 (QQuickWebViewPrivate::handleDownloadRequest):
22492 (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
22493 * UIProcess/API/qt/qquickwebview_p.h:
22494 * UIProcess/API/qt/qquickwebview_p_p.h:
22495 * UIProcess/API/qt/qwebdownloaditem_p.h:
22496 * UIProcess/qt/QtPageClient.cpp:
22497 (QtPageClient::handleDownloadRequest):
22498 * UIProcess/qt/QtPageClient.h:
22499 * UIProcess/qt/QtWebPageProxy.cpp:
22500 (QtWebPageProxy::QtWebPageProxy):
22501 * UIProcess/qt/QtWebPageProxy.h:
22503 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22505 [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView
22506 https://bugs.webkit.org/show_bug.cgi?id=74442
22508 Reviewed by Simon Hausmann.
22510 QWebNavigationHistory used QtWebPageProxy to be QObject parent of the inner models,
22511 this patch change that to use OwnPtr instead. When creating the history object we pass
22512 only the WKPageRef and let it get the backForwardList.
22514 * UIProcess/API/qt/qquickwebview.cpp:
22515 (QQuickWebViewPrivate::initialize):
22516 (QQuickWebViewPrivate::didChangeBackForwardList):
22517 (QQuickWebViewExperimental::navigationHistory):
22518 (QQuickWebViewExperimental::goForwardTo):
22519 (QQuickWebViewExperimental::goBackTo):
22520 * UIProcess/API/qt/qquickwebview_p_p.h:
22521 * UIProcess/API/qt/qwebnavigationhistory.cpp:
22522 (QWebNavigationListModelPrivate::createWebNavigationModel):
22523 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
22524 (QWebNavigationHistoryPrivate::createHistory):
22525 (QWebNavigationHistoryPrivate::goBackTo):
22526 (QWebNavigationHistoryPrivate::goForwardTo):
22527 (QWebNavigationListModel::QWebNavigationListModel):
22528 (QWebNavigationHistory::backItems):
22529 (QWebNavigationHistory::forwardItems):
22530 * UIProcess/API/qt/qwebnavigationhistory_p.h:
22531 * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22532 * UIProcess/qt/QtWebPageProxy.cpp:
22533 (QtWebPageProxy::QtWebPageProxy):
22534 * UIProcess/qt/QtWebPageProxy.h:
22536 2011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22538 [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy
22539 https://bugs.webkit.org/show_bug.cgi?id=74414
22541 Reviewed by Simon Hausmann.
22543 This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid
22544 the WebPage having a backpointer to the QQuickWebView.
22547 * UIProcess/API/qt/qquickwebpage.cpp:
22548 (QQuickWebPage::geometryChanged):
22549 (QQuickWebPage::event):
22550 (QQuickWebPagePrivate::QQuickWebPagePrivate):
22551 (QQuickWebPagePrivate::initialize):
22552 (QQuickWebPagePrivate::setDrawingAreaSize):
22553 (QQuickWebPagePrivate::paintToCurrentGLContext):
22554 (QQuickWebPagePrivate::resetPaintNode):
22555 * UIProcess/API/qt/qquickwebpage_p.h:
22556 * UIProcess/API/qt/qquickwebpage_p_p.h:
22557 * UIProcess/API/qt/qquickwebview.cpp:
22558 (QQuickWebViewPrivate::initialize):
22559 (QQuickWebViewPrivate::initializeDesktop):
22560 (QQuickWebViewPrivate::initializeTouch):
22561 (QQuickWebViewPrivate::_q_resume):
22562 (QQuickWebViewPrivate::processDidCrash):
22563 (QQuickWebViewPrivate::didRelaunchProcess):
22564 (QQuickWebViewPrivate::createDrawingAreaProxy):
22565 (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22566 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22567 (QQuickWebViewPrivate::updateViewportSize):
22568 * UIProcess/API/qt/qquickwebview_p_p.h:
22569 * UIProcess/qt/QtPageClient.cpp:
22570 (QtPageClient::createDrawingAreaProxy):
22571 * UIProcess/qt/QtPageClient.h:
22572 (QtPageClient::findStringInCustomRepresentation):
22573 (QtPageClient::countStringMatchesInCustomRepresentation):
22574 * UIProcess/qt/QtWebPageEventHandler.cpp:
22575 (QtWebPageEventHandler::QtWebPageEventHandler):
22576 (QtWebPageEventHandler::startDrag):
22577 * UIProcess/qt/QtWebPageEventHandler.h:
22578 * UIProcess/qt/QtWebPageProxy.cpp:
22579 (QtWebPageProxy::init):
22580 * UIProcess/qt/QtWebPageProxy.h:
22582 2011-12-13 Gustavo Noronha Silva <gns@gnome.org>
22584 Unreviewed build fix.
22586 * GNUmakefile.am: make sure we do not derreference the target link
22587 if it already exists, and replace it with the new one instead,
22588 otherwise we end up with a gtk link inside
22589 Source/WebKit2/UIProcess/API/gtk, which causes the documentation
22590 build to produce warnings, and make the build fail.
22592 2011-12-13 Andreas Kling <kling@webkit.org>
22594 REGRESSION (r102652): New window opens with zero size at produbanco.com
22595 <http://webkit.org/b/74418> and <rdar://problem/10565998>
22597 Reviewed by Anders Carlsson.
22599 Don't use the cached window frame if it's empty (meaning we haven't received
22600 a WindowAndViewFramesChanged message yet.) Instead use the synchronous
22601 GetWindowFrame (WP->UIP) message.
22603 This situation occurs when opening a new window via window.open(), in which
22604 WebCore::createWindow() will query the windowRect() on the new window.
22606 I spent a long time trying to write a layout test for this but couldn't come
22607 up with something reliable. The windowRect() is non-empty before we get a
22608 chance to run JS in/on the new window, and we can't check against the
22609 requested geometry since it varies depending on whether the window manager
22610 has shown the new window yet.
22612 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22613 (WebKit::WebChromeClient::windowRect):
22615 2011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22617 [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
22618 https://bugs.webkit.org/show_bug.cgi?id=74407
22620 Reviewed by Simon Hausmann.
22622 * UIProcess/API/qt/qquickwebview.cpp:
22623 (QQuickWebViewPrivate::QQuickWebViewPrivate):
22624 (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22625 (QQuickWebViewPrivate::initialize):
22626 (QQuickWebViewPrivate::pageDidRequestScroll):
22627 (QQuickWebViewPrivate::processDidCrash):
22628 (QQuickWebViewPrivate::didRelaunchProcess):
22629 (QQuickWebViewPrivate::viewSize):
22630 (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
22631 (QQuickWebViewExperimental::QQuickWebViewExperimental):
22632 (QQuickWebView::QQuickWebView):
22633 * UIProcess/API/qt/qquickwebview_p_p.h:
22634 * UIProcess/qt/QtPageClient.cpp:
22635 (QtPageClient::QtPageClient):
22636 (QtPageClient::setViewNeedsDisplay):
22637 (QtPageClient::pageDidRequestScroll):
22638 (QtPageClient::processDidCrash):
22639 (QtPageClient::didRelaunchProcess):
22640 (QtPageClient::didChangeContentsSize):
22641 (QtPageClient::didChangeViewportProperties):
22642 (QtPageClient::createPopupMenuProxy):
22643 (QtPageClient::didReceiveMessageFromNavigatorQtObject):
22644 (QtPageClient::viewSize):
22645 (QtPageClient::isViewFocused):
22646 (QtPageClient::isViewVisible):
22647 * UIProcess/qt/QtPageClient.h:
22648 (QtPageClient::initialize):
22649 * UIProcess/qt/QtWebPageProxy.cpp:
22650 (QtWebPageProxy::QtWebPageProxy):
22651 * UIProcess/qt/QtWebPageProxy.h:
22653 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
22655 [GTK] Add support for javascript dialogs in WebKit2 GTK+ API
22656 https://bugs.webkit.org/show_bug.cgi?id=71362
22658 Reviewed by Martin Robinson.
22660 * UIProcess/API/gtk/WebKitUIClient.cpp:
22661 (runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert().
22662 (runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm().
22663 (runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt().
22664 (webkitUIClientAttachUIClientToPage): Add implementation for
22665 runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt
22667 * UIProcess/API/gtk/WebKitWebView.cpp:
22668 (webkitWebViewCreateJavaScriptDialog): Helper function to create
22669 javascript dialogs.
22670 (webkitWebViewScriptAlert): Default implementation of signal
22671 WebKitWebView::script-alert that shows a message dialog.
22672 (webkitWebViewScriptConfirm): Default implementation of signal
22673 WebKitWebView::script-confirm that shows a question dialog.
22674 (webkitWebViewScriptPrompt): Default implementation of signal
22675 WebKitWebView::script-prompt that shows a question dialog with a
22677 (webkit_web_view_class_init):
22678 (webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert.
22679 (webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm.
22680 (webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt.
22681 * UIProcess/API/gtk/WebKitWebView.h:
22682 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22683 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22684 (testWebViewJavaScriptDialogs):
22686 * UIProcess/API/gtk/webkit2marshal.list:
22688 2011-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
22690 [Qt] Make sure that touch events result in the page view gaining focus
22692 Reviewed by Simon Hausmann.
22694 * UIProcess/API/qt/qquickwebpage.cpp:
22695 (QQuickWebPage::touchEvent): Force active focus.
22696 * UIProcess/API/qt/qquickwebview.cpp:
22697 * UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override.
22699 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
22701 [GTK] Initial UI client implementation for WebKit2 GTK +API
22702 https://bugs.webkit.org/show_bug.cgi?id=69753
22704 Reviewed by Martin Robinson.
22706 * GNUmakefile.am: Add new files to compilation.
22707 * UIProcess/API/gtk/WebKitUIClient.cpp: Added.
22708 (createNewPage): Call webkitWebViewCreateNewPage.
22709 (showPage): Call webkitWebViewReadyToShowPage.
22710 (closePage): Call webkitWebViewClosePage.
22711 (webkitUIClientAttachUIClientToPage): Initialize UI client and
22712 attach it to the given page.
22713 (webkit_ui_client_init):
22714 (webkit_ui_client_class_init):
22715 * UIProcess/API/gtk/WebKitUIClient.h: Added.
22716 * UIProcess/API/gtk/WebKitWebView.cpp:
22717 (webkitWebViewCreate): Default implementation of signal
22718 WebKitWebView::create that simply returns NULL.
22719 (webkitWebViewConstructed): Create the default UI client.
22720 (webkitWebViewAccumulatorObjectHandled):
22721 (webkit_web_view_class_init):
22722 (webkitWebViewCreateNewPage): Emit create signal.
22723 (webkitWebViewReadyToShowPage): Emit ready-to-show signal.
22724 (webkitWebViewClosePage): Emit close signal.
22725 * UIProcess/API/gtk/WebKitWebView.h:
22726 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22727 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22728 (testWebViewCreateReadyClose):
22730 * UIProcess/API/gtk/webkit2marshal.list:
22732 2011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22734 [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
22735 https://bugs.webkit.org/show_bug.cgi?id=74395
22737 Reviewed by Simon Hausmann.
22740 * UIProcess/API/qt/qquickwebview.cpp:
22741 (QQuickWebViewPrivate::_q_onVisibleChanged):
22742 (QQuickWebViewPrivate::updateViewportSize):
22743 (QQuickWebViewPrivate::computeViewportConstraints):
22744 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22745 (QQuickWebViewPrivate::webPageProxy):
22746 (QQuickWebView::load):
22747 (QQuickWebView::goBack):
22748 (QQuickWebView::goForward):
22749 (QQuickWebView::stop):
22750 (QQuickWebView::reload):
22751 (QQuickWebView::url):
22752 (QQuickWebView::canGoBack):
22753 (QQuickWebView::canGoForward):
22754 (QQuickWebView::loading):
22755 (QQuickWebView::canReload):
22756 (QQuickWebView::title):
22757 (QQuickWebView::loadHtml):
22758 * UIProcess/API/qt/qquickwebview_p_p.h:
22759 * UIProcess/qt/QtWebPageProxy.cpp:
22760 (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
22761 * UIProcess/qt/QtWebPageProxy.h:
22763 2011-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
22765 Unreviewed. Fix GTK+ build after r102640.
22767 * GNUmakefile.am: Add DownloadProxy sources again.
22769 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
22771 [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
22772 https://bugs.webkit.org/show_bug.cgi?id=74364
22774 Reviewed by Simon Hausmann.
22776 The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we
22777 move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also
22778 make QtWebUndoCommand an implementation detail.
22781 * UIProcess/API/qt/qquickwebview.cpp:
22782 (QQuickWebViewPrivate::QQuickWebViewPrivate):
22783 * UIProcess/API/qt/qquickwebview_p_p.h:
22784 * UIProcess/qt/QtPageClient.cpp:
22785 (QtPageClient::registerEditCommand):
22786 (QtPageClient::clearAllEditCommands):
22787 (QtPageClient::canUndoRedo):
22788 (QtPageClient::executeUndoRedo):
22789 * UIProcess/qt/QtPageClient.h:
22790 (QtPageClient::initialize):
22791 * UIProcess/qt/QtWebPageProxy.cpp:
22792 * UIProcess/qt/QtWebPageProxy.h:
22793 * UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp.
22794 (QtWebUndoCommand::inUndoRedo):
22795 (QtWebUndoCommand::QtWebUndoCommand):
22796 (QtWebUndoCommand::~QtWebUndoCommand):
22797 (QtWebUndoCommand::redo):
22798 (QtWebUndoCommand::undo):
22799 (QtWebUndoController::QtWebUndoController):
22800 (QtWebUndoController::registerEditCommand):
22801 (QtWebUndoController::clearAllEditCommands):
22802 (QtWebUndoController::canUndoRedo):
22803 (QtWebUndoController::executeUndoRedo):
22804 * UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h.
22806 2011-12-12 Andreas Kling <kling@webkit.org>
22808 Resizing Cappuccino is very laggy on WebKit since Safari 5.1
22809 <http://webkit.org/b/71354> and <rdar://problem/10565998>
22811 Reviewed by Anders Carlsson.
22813 On Mac, we already cache the window rect through the WindowAndViewFramesChanged
22814 message, so simply return that in WebChromeClient::windowRect() instead of
22815 sending a synchronous query to the UIProcess.
22817 Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
22818 IntRect/IntPoint to match the ChromeClient::windowRect() return type.
22820 * UIProcess/API/mac/WKView.mm:
22821 (-[WKView _updateWindowAndViewFrames]):
22822 * UIProcess/WebPageProxy.cpp:
22823 (WebKit::WebPageProxy::setWindowFrame):
22824 * UIProcess/WebPageProxy.h:
22825 * UIProcess/mac/WebPageProxyMac.mm:
22826 (WebKit::WebPageProxy::windowAndViewFramesChanged):
22827 * WebProcess/Plugins/PluginView.cpp:
22828 (WebKit::PluginView::windowAndViewFramesChanged):
22829 * WebProcess/Plugins/PluginView.h:
22830 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22831 (WebKit::WebChromeClient::windowRect):
22832 * WebProcess/WebPage/WebPage.cpp:
22833 (WebKit::WebPage::windowAndViewFramesChanged):
22834 * WebProcess/WebPage/WebPage.h:
22835 (WebKit::WebPage::windowFrameInScreenCoordinates):
22836 (WebKit::WebPage::viewFrameInWindowCoordinates):
22837 (WebKit::WebPage::accessibilityPosition):
22838 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
22839 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
22841 2011-12-12 Anders Carlsson <andersca@apple.com>
22843 Add EventDispatcher class to WebKit2
22844 https://bugs.webkit.org/show_bug.cgi?id=74344
22846 Reviewed by Sam Weinig.
22848 The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.
22850 * DerivedSources.make:
22851 * DerivedSources.pri:
22854 * WebKit2.xcodeproj/project.pbxproj:
22855 * win/WebKit2.vcproj:
22858 * Platform/CoreIPC/MessageID.h:
22859 Add EventDispatcher.
22861 * WebProcess/WebConnectionToUIProcess.cpp:
22862 (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
22863 (WebKit::WebConnectionToUIProcess::invalidate):
22864 * WebProcess/WebConnectionToUIProcess.h:
22865 WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
22866 we don't want to add queue clients after the connection has been opened.
22868 * WebProcess/WebPage/EventDispatcher.cpp: Added.
22869 (WebKit::EventDispatcher::EventDispatcher):
22870 (WebKit::EventDispatcher::~EventDispatcher):
22871 (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
22872 (WebKit::EventDispatcher::wheelEvent):
22873 * WebProcess/WebPage/EventDispatcher.h:
22874 * WebProcess/WebPage/EventDispatcher.messages.in: Added.
22875 Add new stub files.
22877 * WebProcess/WebProcess.cpp:
22878 (WebKit::WebProcess::initialize):
22879 Add the event dispatcher as a queue client.
22881 * WebProcess/WebProcess.h:
22882 Add an EventDispatcher member variable to the web process.
22884 2011-12-12 Sam Weinig <sam@webkit.org>
22886 Prefix internal methods in Objective-C API files with an underscore
22887 https://bugs.webkit.org/show_bug.cgi?id=74363
22889 Reviewed by Dan Bernstein.
22891 * UIProcess/API/mac/WKBrowsingContextController.mm:
22892 (-[WKBrowsingContextController _pageRef]):
22893 (-[WKBrowsingContextController loadRequest:]):
22894 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
22895 (-[WKBrowsingContextController stopLoading]):
22896 (-[WKBrowsingContextController reload]):
22897 (-[WKBrowsingContextController reloadFromOrigin]):
22898 (-[WKBrowsingContextController goForward]):
22899 (-[WKBrowsingContextController canGoForward]):
22900 (-[WKBrowsingContextController goBack]):
22901 (-[WKBrowsingContextController canGoBack]):
22902 (-[WKBrowsingContextController activeURL]):
22903 (-[WKBrowsingContextController provisionalURL]):
22904 (-[WKBrowsingContextController committedURL]):
22905 (-[WKBrowsingContextController title]):
22906 (-[WKBrowsingContextController textZoom]):
22907 (-[WKBrowsingContextController setTextZoom:]):
22908 (-[WKBrowsingContextController pageZoom]):
22909 (-[WKBrowsingContextController setPageZoom:]):
22910 (-[WKBrowsingContextController setPaginationMode:]):
22911 (-[WKBrowsingContextController paginationMode]):
22912 (-[WKBrowsingContextController setPageLength:]):
22913 (-[WKBrowsingContextController pageLength]):
22914 (-[WKBrowsingContextController setGapBetweenPages:]):
22915 (-[WKBrowsingContextController gapBetweenPages]):
22916 (-[WKBrowsingContextController pageCount]):
22917 (-[WKBrowsingContextController _initWithPageRef:]):
22918 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
22919 * UIProcess/API/mac/WKBrowsingContextGroup.mm:
22920 (-[WKBrowsingContextGroup allowsJavaScript]):
22921 (-[WKBrowsingContextGroup setAllowsJavaScript:]):
22922 (-[WKBrowsingContextGroup allowsPlugIns]):
22923 (-[WKBrowsingContextGroup setAllowsPlugIns:]):
22924 (-[WKBrowsingContextGroup _pageGroupRef]):
22925 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
22926 * UIProcess/API/mac/WKConnection.mm:
22927 (-[WKConnection _initWithConnectionRef:]):
22928 * UIProcess/API/mac/WKConnectionInternal.h:
22929 * UIProcess/API/mac/WKProcessGroup.mm:
22930 (didCreateConnection):
22931 (-[WKProcessGroup _contextRef]):
22932 * UIProcess/API/mac/WKProcessGroupInternal.h:
22933 * UIProcess/API/mac/WKView.mm:
22934 (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
22935 (-[WKView browsingContextController]):
22937 2011-12-12 Ryosuke Niwa <rniwa@webkit.org>
22939 WebKit code shouldn't be calling applyCommand directly
22940 https://bugs.webkit.org/show_bug.cgi?id=74337
22942 Reviewed by Darin Adler.
22944 * WebProcess/WebPage/WebPage.cpp:
22945 (WebKit::WebPage::replaceSelectionWithText):
22947 2011-12-12 Sam Weinig <sam@webkit.org>
22949 Remove unused getter on WKConnection.
22951 Reviewed by Dan Bernstein.
22953 * UIProcess/API/mac/WKConnection.mm:
22955 2011-12-12 Brady Eidson <beidson@apple.com>
22957 Page cache should support pages with plugins.
22958 <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
22960 Expose a WebKit2 preference for the page cache supporting plugins (on by default).
22962 Reviewed by Anders Carlsson.
22964 * Shared/WebPreferencesStore.h:
22966 * UIProcess/API/C/WKPreferences.cpp:
22967 (WKPreferencesSetPageCacheSupportsPlugins):
22968 (WKPreferencesGetPageCacheSupportsPlugins):
22969 * UIProcess/API/C/WKPreferencesPrivate.h:
22971 * WebProcess/WebPage/WebPage.cpp:
22972 (WebKit::WebPage::updatePreferences):
22974 2011-12-12 Sam Weinig <sam@webkit.org>
22976 Add WKConnection objective-c wrapper around WKConnectionRef
22977 <rdar://problem/10446092>
22978 https://bugs.webkit.org/show_bug.cgi?id=74324
22980 Reviewed by Anders Carlsson.
22982 * UIProcess/API/mac/WKConnection.h: Added.
22983 * UIProcess/API/mac/WKConnection.mm: Added.
22984 (-[WKConnection dealloc]):
22985 (-[WKConnection connectionRef]):
22986 (-[WKConnection delegate]):
22987 (-[WKConnection setDelegate:]):
22988 (didReceiveMessage):
22991 (-[WKConnection initWithConnectionRef:]):
22992 * UIProcess/API/mac/WKConnectionInternal.h: Added.
22995 * UIProcess/API/mac/WKProcessGroup.h:
22996 * UIProcess/API/mac/WKProcessGroup.mm:
22997 (didCreateConnection):
22998 (setUpConnectionClient):
22999 (-[WKProcessGroup initWithInjectedBundleURL:]):
23000 (-[WKProcessGroup delegate]):
23001 (-[WKProcessGroup setDelegate:]):
23002 Add WKProcessGroupDelegate to inform the user of when connections are established.
23004 * WebKit2.xcodeproj/project.pbxproj:
23007 2011-12-12 Anders Carlsson <andersca@apple.com>
23009 Rename QueueClient::willProcessMessageOnClientRunLoop
23010 https://bugs.webkit.org/show_bug.cgi?id=74325
23012 Reviewed by Sam Weinig.
23014 Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
23015 and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
23016 the function is expected to handle the message.
23018 * Platform/CoreIPC/Connection.cpp:
23019 (CoreIPC::Connection::processIncomingMessage):
23020 * Platform/CoreIPC/Connection.h:
23021 * Scripts/webkit2/messages.py:
23022 (async_case_statement):
23023 * Scripts/webkit2/messages_unittest.py:
23024 * WebProcess/WebConnectionToUIProcess.cpp:
23025 (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):
23026 * WebProcess/WebConnectionToUIProcess.h:
23027 * WebProcess/WebProcess.cpp:
23028 (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
23029 * WebProcess/WebProcess.h:
23031 2011-12-12 Alexis Menard <alexis.menard@openbossa.org>
23033 Unreviewed cleanup fix.
23035 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23037 Also remove the files that should be removed.
23039 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23040 * UIProcess/qt/qwkhistory.cpp: Removed.
23041 * UIProcess/qt/qwkhistory.h: Removed.
23042 * UIProcess/qt/qwkhistory_p.h: Removed.
23044 2011-12-12 Michael Bruning <michael.bruning@nokia.com>
23046 [qt][wk2] Postpone scroll effects when page transition is ongoing.
23047 https://bugs.webkit.org/show_bug.cgi?id=74177
23049 Reviewed by Kenneth Rohde Christiansen.
23051 * UIProcess/API/qt/qquickwebview.cpp:
23052 (QQuickWebViewPrivate::scrollPositionRequested):
23053 * UIProcess/API/qt/qquickwebview_p_p.h:
23054 (QQuickWebViewPrivate::PostTransitionState::apply):
23056 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
23058 [Qt][WK2] Remove dead code from QtWebPageProxy
23059 https://bugs.webkit.org/show_bug.cgi?id=74296
23061 Reviewed by Andreas Kling.
23063 * UIProcess/qt/QtWebPageProxy.cpp:
23064 * UIProcess/qt/QtWebPageProxy.h:
23066 2011-12-12 Simon Hausmann <simon.hausmann@nokia.com>
23068 Unreviewed build fix.
23070 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23072 * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23073 (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23074 (QWebNavigationListModelPrivate::createWebNavigationModel):
23075 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23076 (QWebNavigationHistoryPrivate::createHistory):
23077 (QWebNavigationHistoryPrivate::reset):
23078 (QWebNavigationHistoryPrivate::goBackTo):
23079 (QWebNavigationHistoryPrivate::goForwardTo):
23080 (QWebNavigationListModel::QWebNavigationListModel):
23081 (QWebNavigationListModel::~QWebNavigationListModel):
23082 (QWebNavigationListModel::rowCount):
23083 (QWebNavigationListModel::data):
23084 (QWebNavigationHistory::QWebNavigationHistory):
23085 (QWebNavigationHistory::~QWebNavigationHistory):
23086 (QWebNavigationHistory::backItems):
23087 (QWebNavigationHistory::forwardItems):
23088 * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23089 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added.
23091 2011-12-12 Simon Hausmann <simon.hausmann@nokia.com>
23093 [Qt] Move postMessage/messageReceived APIS to experimental
23095 Reviewed by Tor Arne Vestbø.
23097 * UIProcess/API/qt/qquickwebview.cpp:
23098 (QQuickWebViewPrivate::setPageProxy):
23099 (QQuickWebViewExperimental::QQuickWebViewExperimental):
23100 (QQuickWebViewExperimental::postMessage):
23101 * UIProcess/API/qt/qquickwebview_p.h:
23102 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
23104 2011-12-12 Alexis Menard <alexis.menard@openbossa.org>
23106 [Qt][WK2] History is not accessible in QML.
23107 https://bugs.webkit.org/show_bug.cgi?id=73016
23109 Reviewed by Simon Hausmann.
23111 Remove the old qwkhistory and create QWebNavigationHistory which is QML
23112 friendly with data models you can plug to a view in QML
23115 * UIProcess/API/qt/qquickwebview.cpp:
23116 (QQuickWebViewPrivate::didChangeBackForwardList):
23117 (QQuickWebViewExperimental::navigationHistory):
23118 (QQuickWebViewExperimental::goForwardTo):
23119 (QQuickWebViewExperimental::goBackTo):
23120 * UIProcess/API/qt/qquickwebview_p.h:
23121 * UIProcess/API/qt/qquickwebview_p_p.h:
23122 * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23123 (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23124 (QWebNavigationListModelPrivate::createWebNavigationModel):
23125 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23126 (QWebNavigationHistoryPrivate::createHistory):
23127 (QWebNavigationHistoryPrivate::reset):
23128 (QWebNavigationHistoryPrivate::goBackTo):
23129 (QWebNavigationHistoryPrivate::goForwardTo):
23130 (QWebNavigationListModel::QWebNavigationListModel):
23131 (QWebNavigationListModel::~QWebNavigationListModel):
23132 (QWebNavigationListModel::rowCount):
23133 (QWebNavigationListModel::data):
23134 (QWebNavigationHistory::QWebNavigationHistory):
23135 (QWebNavigationHistory::~QWebNavigationHistory):
23136 (QWebNavigationHistory::backItems):
23137 (QWebNavigationHistory::forwardItems):
23138 * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23139 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
23140 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23141 * UIProcess/qt/QtWebPageLoadClient.cpp:
23142 (QtWebPageLoadClient::QtWebPageLoadClient):
23143 (QtWebPageLoadClient::didChangeBackForwardList):
23144 * UIProcess/qt/QtWebPageLoadClient.h:
23145 * UIProcess/qt/QtWebPageProxy.cpp:
23146 (QtWebPageProxy::QtWebPageProxy):
23147 (QtWebPageProxy::~QtWebPageProxy):
23148 (QtWebPageProxy::goBackTo):
23149 (QtWebPageProxy::goForwardTo):
23150 (QtWebPageProxy::navigationHistory):
23151 * UIProcess/qt/QtWebPageProxy.h:
23152 * UIProcess/qt/qwkhistory.cpp: Removed.
23153 * UIProcess/qt/qwkhistory.h: Removed.
23155 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
23157 [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
23158 https://bugs.webkit.org/show_bug.cgi?id=73145
23160 Reviewed by Simon Hausmann.
23162 Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
23163 and call it straight from QtPageClient.
23165 * UIProcess/API/qt/qquickwebview.cpp:
23166 (QQuickWebViewPrivate::QQuickWebViewPrivate):
23167 * UIProcess/qt/QtWebPageEventHandler.cpp:
23168 (dragOperationToDropAction):
23169 (dragOperationToDropActions):
23170 (dropActionToDragOperation):
23171 Now these functions are static inline and not part of QtWebPageEventHandler
23174 (QtWebPageEventHandler::QtWebPageEventHandler):
23175 (QtWebPageEventHandler::startDrag):
23176 * UIProcess/qt/QtWebPageEventHandler.h:
23177 * UIProcess/qt/QtWebPageProxy.cpp:
23178 (QtWebPageProxy::startDrag): removed.
23180 2011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
23182 [Qt] [WK2] Support customizing popup menus with QML
23183 https://bugs.webkit.org/show_bug.cgi?id=73560
23185 Reviewed by Tor Arne Vestbø.
23187 Add a new property 'itemSelector' to WebView (experimental for now) that contains
23188 the QML component used when it needs to spawn a popup menu. For example, <select>
23189 HTML tag may trigger a popup menu.
23191 When loaded the component will have the 'model' available in its context with two
23192 properties: 'elementRect', describing the position of the element which spawned
23193 the item selector, and 'items', which is a model ready to be used by ListView. The
23194 'model' also have methods to accept/reject the selection.
23196 Option groups are available as a property for each row in the 'items' model. This
23197 can be used together with ListView to create sections, as demonstrated in the
23198 MiniBrowser. QML tests were added as well.
23200 The existing Desktop version is removed since after the Qt5 refactoring isn't
23201 working correctly. Once Qt have its own QML components for popup, we hope to use
23202 it as a default if no other popupMenu is specified.
23205 * UIProcess/API/qt/qquickwebview.cpp:
23206 (QQuickWebViewPrivate::QQuickWebViewPrivate):
23207 (QQuickWebViewExperimental::itemSelector):
23208 (QQuickWebViewExperimental::setItemSelector):
23209 * UIProcess/API/qt/qquickwebview_p.h:
23210 * UIProcess/API/qt/qquickwebview_p_p.h:
23211 (QQuickWebViewPrivate::get):
23212 * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
23213 * UIProcess/API/qt/tests/qmltests/common/select.html: Added.
23214 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23215 * UIProcess/qt/QtPageClient.cpp:
23216 * UIProcess/qt/QtWebPageProxy.cpp:
23217 (QtWebPageProxy::createPopupMenuProxy):
23218 * UIProcess/qt/WebPopupMenuProxyQt.cpp:
23219 (WebKit::PopupMenuItemModel::rowCount):
23220 (WebKit::PopupMenuItemModel::Item::Item):
23221 (WebKit::ItemSelectorContextObject::elementRect):
23222 (WebKit::ItemSelectorContextObject::items):
23223 (WebKit::ItemSelectorContextObject::reject):
23224 (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
23225 (WebKit::ItemSelectorContextObject::accept):
23226 (WebKit::createRoleNamesHash):
23227 (WebKit::PopupMenuItemModel::PopupMenuItemModel):
23228 (WebKit::PopupMenuItemModel::data):
23229 (WebKit::PopupMenuItemModel::select):
23230 (WebKit::PopupMenuItemModel::selectedOriginalIndex):
23231 (WebKit::PopupMenuItemModel::buildItems):
23232 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
23233 (WebKit::WebPopupMenuProxyQt::showPopupMenu):
23234 (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
23235 (WebKit::WebPopupMenuProxyQt::selectIndex):
23236 (WebKit::WebPopupMenuProxyQt::createItem):
23237 (WebKit::WebPopupMenuProxyQt::createContext):
23238 (WebKit::WebPopupMenuProxyQt::notifyValueChanged):
23239 * UIProcess/qt/WebPopupMenuProxyQt.h:
23240 (WebKit::WebPopupMenuProxyQt::create):
23241 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
23242 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.
23244 2011-12-11 Gopal Raghavan <gopal.1.raghavan@nokia.com>
23246 [Qt] QQuickWebView missing titleChanged signal tests
23247 https://bugs.webkit.org/show_bug.cgi?id=73923
23249 Reviewed by Simon Hausmann.
23251 Added tests for QQuickWebView tilteChanged signal.
23253 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added.
23254 * UIProcess/API/qt/tests/qmltests/common/test3.html: Added.
23255 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23257 2011-12-11 Anders Carlsson <andersca@apple.com>
23259 Crash when trying to garbage collect JavaScript objects
23260 https://bugs.webkit.org/show_bug.cgi?id=74259
23261 <rdar://problem/10556188>
23263 Reviewed by Sam Weinig.
23265 * UIProcess/WebContext.cpp:
23266 (WebKit::WebContext::garbageCollectJavaScriptObjects):
23267 Use sendToAllProcesses which is more correct and also handles m_process being null.
23269 2011-12-11 Andreas Kling <kling@webkit.org>
23271 WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
23272 <http://webkit.org/b/74209> and <rdar://problem/10438197>
23274 Reviewed by Anders Carlsson.
23276 * Shared/WebEvent.h:
23277 * Shared/WebMouseEvent.cpp:
23279 Remove the WebMouseEvent "copy" constructor that applied a scale factor
23280 to the coordinates of an existing event.
23282 * WebProcess/Plugins/PluginView.cpp:
23283 (WebKit::PluginView::handleEvent):
23285 Pass the WebMouseEvent through to the plugin unmodified.
23287 (WebKit::PluginView::viewGeometryDidChange):
23289 Plumb a complex translate+scale transform through to the plugin, so coordinate
23290 space transformations in will behave correctly with scale factors other than 1.
23292 2011-12-10 Sam Weinig <sam@webkit.org>
23294 Try to fix the windows build.
23296 * win/WebKit2.vcproj:
23298 2011-12-10 Alexis Menard <alexis.menard@openbossa.org>
23300 Unreviewed build fix for Qt.
23302 Build error introduced by r102484.
23306 2011-12-09 Mark Rowe <mrowe@apple.com>
23308 Fix the Snow Leopard build some more.
23310 Move the #if to a location where it will do some good.
23312 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23314 2011-12-09 Mark Rowe <mrowe@apple.com>
23316 Fix the Snow Leopard build.
23318 Wrap some code that is only applicable to Lion and newer in the appropriate #if's.
23320 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
23321 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23322 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23323 (WebKit::ProcessLauncher::launchProcess):
23325 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
23327 [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
23328 https://bugs.webkit.org/show_bug.cgi?id=73826
23330 Reviewed by Tor Arne Vestbø.
23332 Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient.
23335 * UIProcess/API/qt/qquickwebview_p.h:
23336 * UIProcess/API/qt/qwebnavigationrequest.cpp: Added.
23337 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
23338 (QWebNavigationRequestPrivate::~QWebNavigationRequestPrivate):
23339 (QWebNavigationRequest::QWebNavigationRequest):
23340 (QWebNavigationRequest::~QWebNavigationRequest):
23341 (QWebNavigationRequest::setAction):
23342 (QWebNavigationRequest::url):
23343 (QWebNavigationRequest::button):
23344 (QWebNavigationRequest::modifiers):
23345 (QWebNavigationRequest::action):
23346 * UIProcess/API/qt/qwebnavigationrequest_p.h: Added.
23347 * UIProcess/qt/QtWebPagePolicyClient.cpp:
23348 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
23349 (QtWebPagePolicyClient::decidePolicyForResponse):
23351 2011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
23353 [Qt][WK2] Unskip API tests
23354 https://bugs.webkit.org/show_bug.cgi?id=74180
23356 Reviewed by Tor Arne Vestbø.
23358 Unskip API tests for geolocation and javascript dialogs.
23360 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
23361 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
23363 2011-12-07 Mark Rowe <mrowe@apple.com>
23365 <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment
23366 variables provided in LC_DYLD_ENVIRONMENT of main executable binary.
23368 Reviewed by Darin Adler.
23370 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Added.
23371 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Added.
23372 (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor):
23373 (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Parse out the name
23374 and value from the environment string and add an entry to our variable map if the variable
23375 is one that dyld would respect in LC_DYLD_ENVIRONMENT.
23376 (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Look for a LC_DYLD_ENVIRONMENT
23377 load command and extract any environment string that we find within.
23378 (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Iterate over each
23379 load command in the Mach-O file.
23380 (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Determine whether
23381 the Mach-O file is of the correct architecture, and if so then process the load commands
23383 (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Process each architecture of the
23384 Mach-O file in turn.
23385 (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Add our
23386 extracted variables to the passed-in EnvironmentVariables object. We skip adding any
23387 variables that already exist so as to allow variables passed in the environment to override
23388 those that we extract from the executable file.
23389 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23390 (WebKit::ProcessLauncher::launchProcess): Extract the environment variables from the
23391 main binary and add them to the launch environment of our subprocess.
23392 * WebKit2.xcodeproj/project.pbxproj:
23394 2011-12-09 Sam Weinig <sam@webkit.org>
23396 Add WKView implementation for quickLookPreviewItemsAtWindowLocation.
23397 <rdar://problem/10472505>
23399 Reviewed by Dan Bernstein.
23401 * UIProcess/API/mac/WKView.mm:
23402 (-[WKView quickLookPreviewItemsAtWindowLocation:]):
23404 2011-12-09 Allan Sandfeld Jensen <allan.jensen@nokia.com>
23406 [Qt] Open shared memory files with shm_open.
23407 https://bugs.webkit.org/show_bug.cgi?id=74078
23409 Original patch by Kimmo Kinnunen
23411 Reviewed by Kenneth Rohde Christiansen.
23413 Open shared memory files with shm_open. This uses mount point that is
23414 intended to host shared memory files. Typically this is /dev/shm.
23416 This fixes crashes when filesystem that hosts QDir::temp() is full.
23418 This is also more well-defined with respect to question whether SHM
23419 writes to temp dir would cause unintended wear if hosted on flash drives.
23421 This also fixes performance problems regarding QDir::temp() and
23422 mkostemp(), both of which appear to be long operations.
23424 * Platform/unix/SharedMemoryUnix.cpp:
23425 (WebKit::SharedMemory::create):
23427 2011-12-09 Hugo Parente Lima <hugo.lima@openbossa.org>
23429 [Qt] Click's count is limited to three continuous clicks.
23430 https://bugs.webkit.org/show_bug.cgi?id=45666
23432 Reviewed by Kenneth Rohde Christiansen.
23434 Make Qt recognize "infinite" continuous mouse clicks.
23435 handleMouseDoubleClickEvent merged into handleMousePressEvent.
23437 * UIProcess/qt/QtWebPageEventHandler.cpp:
23438 (QtWebPageEventHandler::QtWebPageEventHandler):
23439 (QtWebPageEventHandler::handleEvent):
23440 (QtWebPageEventHandler::handleMousePressEvent):
23441 (QtWebPageEventHandler::timerEvent):
23442 * UIProcess/qt/QtWebPageEventHandler.h:
23444 2011-12-09 Sam Weinig <sam@webkit.org>
23446 Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess
23447 https://bugs.webkit.org/show_bug.cgi?id=74218
23449 Reviewed by Anders Carlsson.
23451 Test: WebKit2.WKConnectionTest in TestWebKitAPI
23453 * Shared/WebConnection.cpp:
23454 (WebKit::WebConnection::forwardDidReceiveMessageToClient):
23455 * Shared/WebConnection.h:
23456 Add helper for connection subclasses to dispatch to the client.
23458 * UIProcess/WebConnectionToWebProcess.cpp:
23459 (WebKit::WebConnectionToWebProcess::didReceiveMessage):
23460 Handle postMessage messages from the WebProcess.
23462 * UIProcess/WebContext.cpp:
23463 (WebKit::WebContext::processDidFinishLaunching):
23464 Dispatch the notification that a connection to the WebProcess has
23467 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
23468 (WKBundleGetApplicationConnection):
23469 * WebProcess/InjectedBundle/API/c/WKBundle.h:
23470 * WebProcess/InjectedBundle/InjectedBundle.cpp:
23471 (WebKit::InjectedBundle::webConnectionToUIProcess):
23472 * WebProcess/InjectedBundle/InjectedBundle.h:
23473 (WebKit::WebProcess::webConnectionToUIProcess):
23474 Add accessor to get the connection to the UIProcess from
23477 * WebProcess/WebConnectionToUIProcess.cpp:
23478 (WebKit::WebConnectionToUIProcess::didReceiveMessage):
23479 Handle postMessage messages from the UIProcess.
23480 * WebProcess/WebProcess.h:
23482 2011-12-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
23484 [Qt] Update WebGraphicLayer's child content scale in all child binding method.
23485 https://bugs.webkit.org/show_bug.cgi?id=74101
23487 Reviewed by Noam Rosenthal.
23489 setChildren is currently the only method propagating the parent layer's content
23490 scale to its children. This need to be done for addChild* as well.
23492 This fixes the overlay layer not being rendered with the right scale when created
23493 until the contents scale is modified again.
23495 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23496 (WebCore::WebGraphicsLayer::setChildren):
23497 (WebCore::WebGraphicsLayer::addChild):
23498 (WebCore::WebGraphicsLayer::addChildAtIndex):
23499 (WebCore::WebGraphicsLayer::addChildAbove):
23500 (WebCore::WebGraphicsLayer::addChildBelow):
23501 (WebCore::WebGraphicsLayer::replaceChild):
23503 2011-12-09 Michael Brüning <michael.bruning@nokia.com>
23505 [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
23506 https://bugs.webkit.org/show_bug.cgi?id=73994
23508 Reviewed by Kenneth Rohde Christiansen.
23510 * UIProcess/API/qt/tests/html/scroll.html: Corrected html and
23511 added some coloring.
23512 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23513 (tst_QQuickWebView::scrollRequest): Corrected calculation
23516 2011-12-09 Simon Hausmann <simon.hausmann@nokia.com>
23518 [Qt] Fix compilation with newly separated Qt 5 QtQuick module
23519 https://bugs.webkit.org/show_bug.cgi?id=73990
23521 Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác.
23523 Fix QtQuick includes after move from QtDeclarative to QtQuick.
23525 * UIProcess/API/qt/qquickwebpage.cpp:
23526 * UIProcess/API/qt/qquickwebpage_p.h:
23527 * UIProcess/API/qt/qquickwebview.cpp:
23528 * UIProcess/API/qt/qquickwebview_p.h:
23529 * UIProcess/API/qt/tests/tests.pri: Tests need symbols from QtQuick, so link library.
23530 * UIProcess/API/qt/tests/testwindow.h:
23531 * UIProcess/qt/QtDialogRunner.cpp:
23532 * UIProcess/qt/QtSGTileNode.cpp:
23533 * UIProcess/qt/QtSGTileNode.h:
23534 * UIProcess/qt/QtSGUpdateQueue.cpp:
23535 * UIProcess/qt/QtViewportInteractionEngine.cpp:
23536 * UIProcess/qt/QtWebPageProxy.cpp:
23537 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
23539 2011-12-09 Nayan Kumar K <nayankk@motorola.com>
23541 [WebKit2][gtk] Re-enable running TestWebKitSettings
23542 https://bugs.webkit.org/show_bug.cgi?id=70135
23544 Reviewed by Martin Robinson.
23546 Re-enable running TestWebKitSettings which was skipped as part
23547 of https://bugs.webkit.org/show_bug.cgi?id=70129 due to the
23548 bug https://bugs.webkit.org/show_bug.cgi?id=70127.
23550 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
23551 (testWebKitSettings): Run testWebKitSettings.
23552 (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings.
23554 2011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
23556 [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
23557 https://bugs.webkit.org/show_bug.cgi?id=73591
23559 Reviewed by Noam Rosenthal.
23561 Implement deallocation of TextureMapper GL objects when QQuickWebPage paint node deallocated.
23562 Also adds purging GraphicsLayer backing stores on WebProcess side in order to force repainting
23563 when page becomes visible and painting resumes and fixes incorrect initialization of view
23566 * UIProcess/API/qt/qquickwebpage.cpp:
23567 (QQuickWebPagePrivate::resetPaintNode):
23568 * UIProcess/API/qt/qquickwebview.cpp:
23569 (QQuickWebViewPrivate::QQuickWebViewPrivate):
23570 * UIProcess/API/qt/tests/html/direct-image-compositing.html: Added.
23571 * UIProcess/API/qt/tests/html/resources/simple_image.png: Added.
23572 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23573 (tst_QQuickWebView::showWebView):
23574 (tst_QQuickWebView::removeFromCanvas):
23575 * UIProcess/DrawingAreaProxy.h:
23576 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
23577 * UIProcess/LayerTreeHostProxy.h:
23578 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23579 (WebKit::LayerTreeHostProxy::purgeGLResources):
23580 * UIProcess/qt/QtWebPageProxy.cpp:
23581 (QtWebPageProxy::purgeGLResources):
23582 * UIProcess/qt/QtWebPageProxy.h:
23583 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23584 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
23585 (WebCore::WebGraphicsLayer::purgeBackingStores):
23586 (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
23587 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
23588 * WebProcess/WebPage/LayerTreeHost.h:
23589 (WebKit::LayerTreeHost::purgeBackingStores):
23590 * WebProcess/WebPage/LayerTreeHost.messages.in:
23591 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
23592 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
23593 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
23594 (WebKit::LayerTreeHostQt::purgeBackingStores):
23595 (WebKit::LayerTreeHostQt::recreateBackingStoreIfNeeded):
23596 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
23598 2011-12-08 Simon Fraser <simon.fraser@apple.com>
23600 Forced compositing mode breaks display of full-page PDFs in WK2
23601 https://bugs.webkit.org/show_bug.cgi?id=74122
23602 <rdar://problem/9550059>
23604 Reviewed by Dan Bernstein.
23606 Full page PDFs are displayed in WK2 in a subview of the WKView. However,
23607 when the WKView is forced to use accelerated compositing, the layer obscures
23610 To fix this we have to drop out of compositing mode when the WKView is showing
23611 a custom representation.
23613 * UIProcess/API/mac/WKView.mm:
23614 (-[WKView _setPageHasCustomRepresentation:]): Tell the drawing area that the view
23615 gained or lost a custom representation.
23616 * UIProcess/DrawingAreaProxy.h:
23617 (WebKit::DrawingAreaProxy::pageCustomRepresentationChanged):
23618 * UIProcess/DrawingAreaProxyImpl.h:
23619 * UIProcess/DrawingAreaProxyImpl.cpp:
23620 (WebKit::DrawingAreaProxyImpl::pageCustomRepresentationChanged): Send a messgae to the web process
23621 to indicate that the custom representation changed.
23622 * WebProcess/WebPage/DrawingArea.h:
23623 (WebKit::DrawingArea::pageCustomRepresentationChanged):
23624 * WebProcess/WebPage/DrawingArea.messages.in:
23625 * WebProcess/WebPage/DrawingAreaImpl.cpp:
23626 (WebKit::DrawingAreaImpl::pageCustomRepresentationChanged): Enter or exit compositing mode
23627 as appropriate when we gain or lost a custom represenetation.
23628 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
23629 * WebProcess/WebPage/DrawingAreaImpl.h:
23631 2011-12-08 Jer Noble <jer.noble@apple.com>
23633 HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly
23634 https://bugs.webkit.org/show_bug.cgi?id=74119
23635 rdar://problem/10356869
23637 Reviewed by Darin Adler.
23639 Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window
23640 coordinates and screen coordinates.
23642 * UIProcess/mac/WKFullScreenWindowController.mm:
23643 (-[WKFullScreenWindowController enterFullScreen:]):
23645 2011-12-08 Csaba Osztrogonác <ossy@webkit.org>
23647 [Qt][WK2] Unreviewed buildfix after r102352.
23649 * DerivedSources.pri:
23651 2011-12-06 Jon Lee <jonlee@apple.com>
23653 [WK2] Add permissions support (73960)
23654 https://bugs.webkit.org/show_bug.cgi?id=73960
23655 <rdar://problem/10357008>
23657 Reviewed by Darin Adler.
23659 * DerivedSources.make: Moved notification files to its own directory. Need to add that path.
23660 * WebKit2.xcodeproj/project.pbxproj: New header and impl files.
23661 * Target.pri: Ditto.
23662 * GNUmakefile.am: Ditto.
23663 * win/WebKit2.vcproj: Ditto.
23664 * win/WebKit2Common.vsprops: Add path to Notifications directory.
23666 Implement permission functions, which go through permission request manager.
23668 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
23669 (WebKit::WebNotificationClient::requestPermission):
23670 (WebKit::WebNotificationClient::cancelRequestsForPermission):
23671 (WebKit::WebNotificationClient::checkPermission):
23673 New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
23676 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added.
23677 (WebKit::generateRequestID):
23678 (WebKit::NotificationPermissionRequestManager::create):
23679 (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
23680 (WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once
23681 policy decision is made.
23682 (WebKit::NotificationPermissionRequestManager::cancelRequest):
23683 (WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous
23684 message to the proxy.
23685 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback.
23686 * WebProcess/Notifications/NotificationPermissionRequestManager.h: Added.
23687 (WebKit::isRequestIDValid): Make sure any provided request IDs are valid.
23689 Added new NotificationPermissionRequest class.
23691 * UIProcess/Notifications/NotificationPermissionRequest.cpp: Added.
23692 (WebKit::NotificationPermissionRequest::create):
23693 (WebKit::NotificationPermissionRequest::NotificationPermissionRequest):
23694 (WebKit::NotificationPermissionRequest::allow): Notify manager of decision.
23695 (WebKit::NotificationPermissionRequest::deny): Ditto.
23696 (WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager.
23697 (WebKit::NotificationPermissionRequest::type):
23698 * UIProcess/Notifications/NotificationPermissionRequest.h: Added.
23700 WKAPI support for NotificationPermissionRequest:
23702 * Shared/API/c/WKBase.h:
23703 * Shared/APIObject.h:
23704 * UIProcess/API/C/WKAPICast.h:
23705 * UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added.
23706 (WKNotificationPermissionRequestGetTypeID):
23707 (WKNotificationPermissionRequestAllow):
23708 (WKNotificationPermissionRequestDeny):
23709 * UIProcess/API/C/WKNotificationPermissionRequest.h: Added.
23711 Other additions to WK API:
23713 * UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy
23714 for a given security origin.
23715 * UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy.
23717 New NotificationPermissionRequestManagerProxy to create requests.
23719 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added.
23720 (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
23721 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
23722 (WebKit::NotificationPermissionRequestManagerProxy::createRequest):
23723 (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
23724 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added.
23726 Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current
23727 JS API retrieves the permission synchronously, so the message needs to be sent synchronously also.
23729 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in.
23730 * UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp.
23731 (WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added.
23732 * UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h.
23733 * UIProcess/WebProcessProxy.cpp:
23734 (WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager.
23736 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp.
23737 (WebKit::WebNotificationManagerProxy::create):
23738 (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
23739 (WebKit::WebNotificationManagerProxy::invalidate):
23740 (WebKit::WebNotificationManagerProxy::initializeProvider):
23741 (WebKit::WebNotificationManagerProxy::didReceiveMessage):
23742 (WebKit::WebNotificationManagerProxy::didReceiveSyncMessage):
23743 (WebKit::WebNotificationManagerProxy::show):
23744 (WebKit::WebNotificationManagerProxy::cancel):
23745 (WebKit::WebNotificationManagerProxy::didDestroyNotification):
23746 (WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider.
23747 (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
23748 (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
23749 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
23750 * UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h.
23751 (WebKit::WebNotificationManagerProxy::clearContext):
23752 (WebKit::WebNotificationManagerProxy::type):
23754 Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to
23755 go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission.
23757 * UIProcess/WebPageProxy.cpp:
23758 (WebKit::WebPageProxy::WebPageProxy):
23759 (WebKit::WebPageProxy::close): Invalidate pending requests.
23760 (WebKit::WebPageProxy::processDidCrash): Ditto.
23761 (WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client.
23762 * UIProcess/WebPageProxy.h:
23763 * UIProcess/WebPageProxy.messages.in:
23765 * UIProcess/WebUIClient.cpp:
23766 (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
23767 * UIProcess/WebUIClient.h:
23769 Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
23770 permission request manager.
23772 * WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision
23773 * WebProcess/WebPage/WebPage.cpp:
23774 (WebKit::WebPage::notificationPermissionRequestManager): Create manager on request.
23775 (WebKit::WebPage::didReceiveNotificationPermissionDecision):
23776 * WebProcess/WebPage/WebPage.h:
23778 Moving files to Notifications/ subdirectory.
23780 * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
23781 * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.
23783 2011-12-08 Nayan Kumar K <nayankk@motorola.com>
23785 [WebKit2] Initialize threading in UI process.
23786 https://bugs.webkit.org/show_bug.cgi?id=70127
23788 Reviewed by Anders Carlsson.
23792 * Shared/APIObject.cpp: Added.
23793 (WebKit::APIObject::APIObject):
23794 * Shared/APIObject.h:
23796 * WebKit2.xcodeproj/project.pbxproj:
23797 * win/WebKit2.vcproj:
23799 2011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
23801 [Qt] [WK2] Directly composited images doesn't render
23802 https://bugs.webkit.org/show_bug.cgi?id=74058
23804 Reviewed by Noam Rosenthal.
23806 Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
23807 and create/assign remote image tiles later during sync.
23809 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23810 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
23811 (WebCore::WebGraphicsLayer::setContentsToImage):
23812 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
23814 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
23816 REGRESSION(r102334): Various Qt WK2 layout tests crash
23818 Reviewed by Tor Arne Vestbø.
23820 * WebProcess/WebPage/WebPage.cpp:
23821 (WebKit::WebPage::editorState): Add missing null pointer check for the editable
23822 element (scope) before calling innerText.
23824 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
23826 [Qt] WebKitTestRunner crashes with debug builds
23827 https://bugs.webkit.org/show_bug.cgi?id=74090
23829 Reviewed by Tor Arne Vestbø.
23831 Export private C++ API style platformInitialize function needed
23834 * UIProcess/API/qt/qquickwebview.cpp:
23835 (QQuickWebView::platformInitialize):
23836 * UIProcess/API/qt/qquickwebview_p.h:
23838 2011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
23840 [Qt] Fix non-animated pinch-zoom scale commit.
23841 https://bugs.webkit.org/show_bug.cgi?id=74007
23843 Reviewed by Kenneth Rohde Christiansen.
23845 The update deferrer object was only destroyed at the end of the animation
23846 and wouldn't be if the pinch-zoom was ended within legal bounds.
23847 This patch also makes sure that the deferrer isn't destroyed and re-created
23848 once the animation is started if it was already there.
23850 * UIProcess/qt/QtViewportInteractionEngine.cpp:
23851 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
23852 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
23853 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
23854 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
23855 * UIProcess/qt/QtViewportInteractionEngine.h:
23857 2011-12-08 Simon Hausmann <simon.hausmann@nokia.com>
23859 REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
23860 https://bugs.webkit.org/show_bug.cgi?id=74077
23862 Reviewed by Kenneth Rohde Christiansen.
23864 Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute
23865 that's tied to the same register 0 (by being the first in the array).
23867 * UIProcess/API/qt/qquickwebpage.cpp:
23868 (PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is
23869 bound to register 0, which is the current vertex.
23870 (PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the
23871 built-in gl_Vertex, which is only present in Desktop GL.
23873 2011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
23875 [Qt] Fix the memory leak of AC layer update message contents on the UI process.
23876 https://bugs.webkit.org/show_bug.cgi?id=74012
23878 Reviewed by Noam Rosenthal.
23880 Since the messages didn't have a virtual destructor, the destructor
23881 of child class members wouldn't be called and would cause the all tile
23882 update buffers, contained in a QImage, to be leaked as well.
23884 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23885 (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):
23887 2011-12-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
23889 Upsteam the Qt changes to the EditorState
23890 https://bugs.webkit.org/show_bug.cgi?id=74080
23892 Reviewed by Simon Hausmann.
23894 We are not doing the serialization manually due to it not being a POD
23895 structure anymore in the case of Qt.
23898 * Shared/EditorState.h:
23899 (WebKit::EditorState::EditorState):
23901 * WebKit2.xcodeproj/project.pbxproj:
23902 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
23903 (WebKit::WebEditorClient::respondToChangedSelection):
23904 * WebProcess/WebPage/WebPage.cpp:
23905 (WebKit::WebPage::editorState):
23906 * win/WebKit2.vcproj:
23908 2011-12-08 Gopal Raghavan <gopal.1.raghavan@nokia.com>
23910 [Qt] cleanup qmlplugin
23911 https://bugs.webkit.org/show_bug.cgi?id=73834
23913 Reviewed by Tor Arne Vestbø.
23915 Removed empty folder qmlplugin.
23917 * UIProcess/API/qt/qmlplugin: Removed.
23919 2011-12-08 Sheriff Bot <webkit.review.bot@gmail.com>
23921 Unreviewed, rolling out r102323.
23922 http://trac.webkit.org/changeset/102323
23923 https://bugs.webkit.org/show_bug.cgi?id=74069
23925 Caused Chromium and GTK build failure (Requested by bashi on
23929 * win/WebKit2CFLite.def:
23931 2011-12-08 Fady Samuel <fsamuel@chromium.org>
23933 Move scalePageBy from eventSender to window.internals
23934 https://bugs.webkit.org/show_bug.cgi?id=64512
23936 Reviewed by Simon Fraser.
23939 * win/WebKit2CFLite.def:
23941 2011-12-07 Mark Rowe <mrowe@apple.com>
23943 Fix the 32-bit build.
23945 Ignore some warnings that only occur in 32-bit.
23947 * PluginProcess/mac/PluginProcessShim.mm:
23948 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
23949 (WebKit::NetscapePluginModule::tryLoad):
23951 2011-12-07 Balazs Kelemen <kbalazs@webkit.org>
23953 ShareableBitmapGtk.cpp has no reason to exist
23954 https://bugs.webkit.org/show_bug.cgi?id=74011
23956 Reviewed by Martin Robinson.
23958 Remove this file since the real implementation is
23959 exists in ShareableBitmapCairo.cpp.
23961 * Shared/gtk/ShareableBitmapGtk.cpp: Removed.
23963 2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn>
23965 Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
23966 https://bugs.webkit.org/show_bug.cgi?id=73986
23968 Reviewed by Kenneth Rohde Christiansen.
23970 * UIProcess/WebContext.cpp:
23971 (WebKit::WebContext::WebContext):
23972 * WebProcess/WebProcess.cpp:
23973 (WebKit::WebProcess::WebProcess):
23975 2011-12-07 Zalan Bujtas <zbujtas@gmail.com>
23977 [Qt][WK2] Enable page cache.
23978 https://bugs.webkit.org/show_bug.cgi?id=73938
23980 Enable WebCore's page cache for Qt port by setting its capacity to 20. This is temporary
23981 and will be replaced by a computed value based on CacheMode. See bug#73918.
23983 Reviewed by Simon Hausmann.
23985 * WebProcess/qt/WebProcessQt.cpp:
23986 (WebKit::WebProcess::platformSetCacheModel):
23988 2011-12-06 Andy Estes <aestes@apple.com>
23990 REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
23991 https://bugs.webkit.org/show_bug.cgi?id=73955
23993 Reviewed by Anders Carlsson.
23995 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
23996 (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
23997 null here if we are initializing the layer tree host in DrawingArea's
23998 ctor (as is the case when accelerated drawing is enabled), before
23999 WebPage has set its m_drawingArea pointer. Since the layer tree cannot
24000 have been frozen at this point, it's safe to enable layer flush
24001 scheduling if drawingArea() is null.
24003 2011-12-06 Alexander Færøy <alexander.faeroy@nokia.com>
24005 [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468
24006 https://bugs.webkit.org/show_bug.cgi?id=73914
24008 Reviewed by Kenneth Rohde Christiansen.
24010 m_suspendCount should always be zero when a pinch gesture is started.
24012 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24013 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24015 2011-12-06 Simon Fraser <simon.fraser@apple.com>
24017 UI process crashes if the Web Process crashes on launch
24018 https://bugs.webkit.org/show_bug.cgi?id=73943
24020 Reviewed by Sam Weinig.
24022 When the Web Process crashes on launch, the WebConnectionToWebProcess
24023 object was getting deleted inside of didClose. Add a protector to
24026 * UIProcess/WebConnectionToWebProcess.cpp:
24027 (WebKit::WebConnectionToWebProcess::didClose):
24029 2011-12-06 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
24031 [Qt] Fix page overlay rendering with AC.
24032 https://bugs.webkit.org/show_bug.cgi?id=73935
24034 Reviewed by Noam Rosenthal.
24036 The inspector node highlight would display old highlights as well
24037 since the overlay is normally rendered right after the page on top
24038 of the same graphics context.
24040 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24041 (WebKit::LayerTreeHostQt::paintContents):
24043 2011-12-06 Michael Brüning <michael.bruning@nokia.com>
24045 [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate
24046 https://bugs.webkit.org/show_bug.cgi?id=73907
24048 Reviewed by Kenneth Rohde Christiansen.
24050 * UIProcess/API/qt/qquickwebview.cpp: Disconnect signals from
24051 QtViewportInteractionEngine in ~QQuickWebViewPrivate.
24052 (QQuickWebViewPrivate::~QQuickWebViewPrivate):
24053 * UIProcess/API/qt/qquickwebview_p_p.h: Remove empty inline implementation of ~QQuickWebViewPrivate.
24055 2011-12-06 Kenneth Rohde Christiansen <kenneth@webkit.org>
24057 [Qt] Add initial support for focusing when entering edit mode.
24059 Reviewed by Simon Hausmann.
24061 Next step would be to properly upstream our EditorState code.
24063 * UIProcess/PageClient.h:
24064 * UIProcess/WebPageProxy.cpp:
24065 (WebKit::WebPageProxy::focusEditableArea):
24066 * UIProcess/WebPageProxy.h:
24067 * UIProcess/WebPageProxy.messages.in:
24068 * UIProcess/qt/QtPageClient.cpp:
24069 (QtPageClient::focusEditableArea):
24070 * UIProcess/qt/QtPageClient.h:
24071 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24072 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
24073 (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
24074 (WebKit::QtViewportInteractionEngine::focusEditableArea):
24075 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
24076 * UIProcess/qt/QtViewportInteractionEngine.h:
24077 * UIProcess/qt/QtWebPageEventHandler.cpp:
24078 (QtWebPageEventHandler::focusEditableArea):
24079 * UIProcess/qt/QtWebPageEventHandler.h:
24080 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
24081 (WebKit::WebEditorClient::respondToChangedSelection):
24082 (WebKit::WebEditorClient::setInputMethodState):
24084 2011-12-06 Alexander Færøy <alexander.faeroy@nokia.com>
24086 [Qt] Fix assertion in QtWebPageEventHandler.cpp
24087 https://bugs.webkit.org/show_bug.cgi?id=73908
24089 Reviewed by Kenneth Rohde Christiansen.
24091 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24092 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
24094 2011-12-05 Igor Oliveira <igor.oliveira@openbossa.org>
24096 [Qt][WK2] Frame is not being showed in the screen when frameLoadCompleted is called
24097 https://bugs.webkit.org/show_bug.cgi?id=73850
24099 WebKit2 has a mechanism to prevent the composited layer tree of the outgoing page
24100 from being torn down or updated until the incoming page has layout. However, for simple
24101 pages, when the frame is loaded the page is not rendered in the screen.
24103 This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled
24106 Reviewed by Noam Rosenthal.
24108 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24109 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
24111 2011-12-05 Chris Fleizach <cfleizach@apple.com>
24113 AX: WK2: AX hierarchy is not restored after web process crash
24114 https://bugs.webkit.org/show_bug.cgi?id=73870
24116 The accessibility tokens that need to be sent between UI and Web process
24117 were not being sent by the UI process -> the web process when the web
24120 Reviewed by Darin Adler.
24122 * UIProcess/API/mac/WKView.mm:
24123 (-[WKView viewDidMoveToWindow]):
24124 (-[WKView _accessibilityRegisterUIProcessTokens]):
24125 (-[WKView _didRelaunchProcess]):
24127 2011-12-05 Alexey Proskuryakov <ap@apple.com>
24129 REGRESSION: Full keyboard access doesn't work if enabled before Safari started
24130 https://bugs.webkit.org/show_bug.cgi?id=73864
24132 Reviewed by Darin Adler.
24134 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the
24135 parameter passed at process creation.
24137 2011-12-05 Anders Carlsson <andersca@apple.com>
24139 Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
24140 https://bugs.webkit.org/show_bug.cgi?id=73862
24142 Reviewed by Andy Estes.
24144 Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate.
24146 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
24147 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
24148 (WebKit::LayerTreeHostCAMac::flushLayers):
24149 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
24151 2011-12-05 Michael Brüning <michael.bruning@nokia.com>
24153 [Qt] Rename QQuickWebView::canStop property to just loading
24154 https://bugs.webkit.org/show_bug.cgi?id=73813
24156 Reviewed by Kenneth Rohde Christiansen.
24158 Renamed canStop property of QQuickWebView and QtWebPageProxy
24159 to loading and updated tests.
24161 * UIProcess/API/qt/qquickwebview.cpp:
24162 (QQuickWebView::loading):
24163 * UIProcess/API/qt/qquickwebview_p.h:
24164 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24165 (tst_QQuickWebView::navigationStatusAtStartup):
24166 (LoadStartedCatcher::onLoadStarted):
24167 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
24168 * UIProcess/qt/QtWebPageProxy.cpp:
24169 (QtWebPageProxy::loading):
24170 * UIProcess/qt/QtWebPageProxy.h:
24172 2011-12-03 Jer Noble <jer.noble@apple.com>
24174 <video> elements should disable the system and display sleep when playing on OS X.
24175 https://bugs.webkit.org/show_bug.cgi?id=73730
24176 <rdar://problem/9502155>
24178 Reviewed by Alexey Proskuryakov.
24180 Allow the WebProcess to make connections to the PowerManagement control mach server.
24182 * WebProcess/com.apple.WebProcess.sb:
24184 2011-12-04 Sam Weinig <sam@webkit.org>
24186 Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses
24187 https://bugs.webkit.org/show_bug.cgi?id=73779
24189 Reviewed by Anders Carlsson.
24191 To allow for API objects representing the connection going to/from the UIProcess/WebProcess,
24192 this patch separates out the connections into WebConnection subclasses. It does not yet
24193 expose a way to access these connections, and is therefore not yet testable.
24197 * WebKit2.xcodeproj/project.pbxproj:
24198 * win/WebKit2.vcproj:
24201 * Platform/CoreIPC/MessageID.h:
24202 * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added.
24203 Add a new message type for communicating between WebConnections.
24205 * Shared/ChildProcess.h:
24206 Make helper public so that WebConnectionToWebProcess can use it.
24208 * UIProcess/WebConnectionToWebProcess.cpp: Added.
24209 (WebKit::WebConnectionToWebProcess::create):
24210 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
24211 (WebKit::WebConnectionToWebProcess::invalidate):
24212 (WebKit::WebConnectionToWebProcess::postMessage):
24213 (WebKit::WebConnectionToWebProcess::didReceiveMessage):
24214 (WebKit::WebConnectionToWebProcess::didReceiveSyncMessage):
24215 (WebKit::WebConnectionToWebProcess::didClose):
24216 (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
24217 (WebKit::WebConnectionToWebProcess::syncMessageSendTimedOut):
24218 (WebKit::WebConnectionToWebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24219 * UIProcess/WebConnectionToWebProcess.h: Added.
24220 (WebKit::WebConnectionToWebProcess::connection):
24221 * UIProcess/WebProcessProxy.cpp:
24222 (WebKit::WebProcessProxy::sendMessage):
24223 (WebKit::WebProcessProxy::didReceiveInvalidMessage):
24224 (WebKit::WebProcessProxy::didFinishLaunching):
24225 * UIProcess/WebProcessProxy.h:
24226 (WebKit::WebProcessProxy::connection):
24227 (WebKit::WebProcessProxy::webConnection):
24228 (WebKit::WebProcessProxy::sendSync):
24229 Thread connection code through WebConnectionToWebProcess.
24231 * WebProcess/WebConnectionToUIProcess.cpp: Added.
24232 (WebKit::WebConnectionToUIProcess::create):
24233 (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
24234 (WebKit::WebConnectionToUIProcess::invalidate):
24235 (WebKit::WebConnectionToUIProcess::postMessage):
24236 (WebKit::WebConnectionToUIProcess::didReceiveMessage):
24237 (WebKit::WebConnectionToUIProcess::didReceiveSyncMessage):
24238 (WebKit::WebConnectionToUIProcess::didClose):
24239 (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
24240 (WebKit::WebConnectionToUIProcess::syncMessageSendTimedOut):
24241 (WebKit::WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24242 (WebKit::WebConnectionToUIProcess::willProcessMessageOnClientRunLoop):
24243 * WebProcess/WebConnectionToUIProcess.h: Added.
24244 (WebKit::WebConnectionToUIProcess::connection):
24245 * WebProcess/WebProcess.cpp:
24246 (WebKit::WebProcess::initialize):
24247 (WebKit::WebProcess::addVisitedLink):
24248 (WebKit::WebProcess::shouldTerminate):
24249 (WebKit::WebProcess::terminate):
24250 (WebKit::WebProcess::removeWebFrame):
24251 (WebKit::WebProcess::getSitesWithPluginData):
24252 (WebKit::WebProcess::clearPluginSiteData):
24253 (WebKit::WebProcess::getWebCoreStatistics):
24254 * WebProcess/WebProcess.h:
24255 (WebKit::WebProcess::connection):
24256 Thread connection code through WebConnectionToUIProcess.
24258 2011-12-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
24260 [Qt] Remove viewModeChanged() from QQuickWebView
24261 https://bugs.webkit.org/show_bug.cgi?id=73828
24263 Reviewed by Kenneth Rohde Christiansen.
24265 * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used
24266 and we should not expose it.
24268 2011-12-05 Eric Carlson <eric.carlson@apple.com>
24270 WebKit2 part of: Add WebKit preferences for text track settings
24271 https://bugs.webkit.org/show_bug.cgi?id=73721
24273 Reviewed by John Sullivan.
24275 * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and
24276 shouldDisplayTextDescriptions properties with macros. All default to false.
24278 * UIProcess/API/C/WKPreferences.cpp:
24279 (WKPreferencesSetShouldDisplaySubtitles): Added.
24280 (WKPreferencesGetShouldDisplaySubtitles): Ditto.
24281 (WKPreferencesSetShouldDisplayCaptions): Ditto.
24282 (WKPreferencesGetShouldDisplayCaptions): Ditto.
24283 (WKPreferencesSetShouldDisplayTextDescriptions): Ditto.
24284 (WKPreferencesGetShouldDisplayTextDescriptions): Ditto.
24285 * UIProcess/API/C/WKPreferences.h:
24287 * WebProcess/WebPage/WebPage.cpp:
24288 (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs.
24290 2011-12-04 Gopal Raghavan <gopal.1.raghavan@nokia.com>
24292 [Qt] cleanup qmltests.pro
24293 https://bugs.webkit.org/show_bug.cgi?id=73718
24295 Reviewed by Simon Hausmann.
24297 Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list.
24299 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
24301 2011-12-04 Philippe Normand <pnormand@igalia.com>
24303 [WK2][GTK] enable-fullscreen WebSettings
24304 https://bugs.webkit.org/show_bug.cgi?id=73774
24306 Reviewed by Martin Robinson.
24308 * UIProcess/API/gtk/WebKitSettings.cpp:
24309 (webKitSettingsSetProperty):
24310 (webKitSettingsGetProperty):
24311 (webkit_settings_class_init):
24312 (webkit_settings_set_enable_fullscreen):
24313 (webkit_settings_get_enable_fullscreen):
24314 * UIProcess/API/gtk/WebKitSettings.h:
24315 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
24316 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24317 (testWebKitSettings):
24319 2011-12-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
24321 [Qt] [WK2] MiniBrowser --touch asserts in debug build
24322 https://bugs.webkit.org/show_bug.cgi?id=73697
24324 Reviewed by Eric Seidel.
24326 Add missing guard to QtViewportInteractionEngine::itemSizeChanged().
24328 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24329 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
24331 2011-12-02 Fady Samuel <fsamuel@chromium.org>
24333 When page scaling is in use position:fixed has incorrect results
24334 https://bugs.webkit.org/show_bug.cgi?id=68617
24336 Reviewed by Simon Fraser.
24339 * win/WebKit2CFLite.def:
24341 2011-12-02 Alexey Proskuryakov <ap@apple.com>
24343 Update sandbox rules
24344 https://bugs.webkit.org/show_bug.cgi?id=73675
24345 <rdar://problem/9276430>
24347 Reviewed by Sam Weinig.
24349 * WebProcess/com.apple.WebProcess.sb:
24351 2011-12-02 Andy Estes <aestes@apple.com>
24353 WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed
24354 https://bugs.webkit.org/show_bug.cgi?id=73641
24356 Reviewed by Darin Adler.
24358 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24359 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Do not
24360 un-freeze the layer tree state if incremental rendering is suppressed.
24361 * WebProcess/WebPage/DrawingArea.h:
24362 (WebKit::DrawingArea::layerTreeStateIsFrozen): Add a getter for
24363 m_layerTreeStateIsFrozen.
24364 * WebProcess/WebPage/DrawingAreaImpl.h:
24365 (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Ditto.
24366 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
24367 (WebKit::LayerTreeHostCA::initialize): WebFrameLoaderClient might have
24368 tried to freeze the state of the layer tree before the layer tree host
24369 was created. When creating the layer tree host, only schedule a layer
24370 flush if the layer tree state isn't frozen.
24372 2011-12-02 Nayan Kumar K <nayankk@motorola.com>
24374 [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
24375 https://bugs.webkit.org/show_bug.cgi?id=73414
24377 Reviewed by Martin Robinson.
24379 * UIProcess/API/gtk/WebKitSettings.cpp:
24380 (webKitSettingsSetProperty): Add new set function.
24381 (webKitSettingsGetProperty): Add new get function.
24382 (webkit_settings_class_init): Register new property.
24383 (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property.
24384 (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property.
24385 * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's.
24386 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file.
24387 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24388 (testWebKitSettings): Add new tests.
24390 2011-12-02 Andras Becsi <andras.becsi@nokia.com>
24392 [Qt][WK2] Set event timestamps on custom input events
24394 Reviewed by Simon Hausmann.
24396 Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents,
24397 thus set the timestamp on the custom events as well.
24399 * UIProcess/qt/QtWebPageEventHandler.cpp:
24400 (QtWebPageEventHandler::handleHoverLeaveEvent):
24401 (QtWebPageEventHandler::handleHoverMoveEvent):
24402 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
24403 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
24405 2011-12-02 Andras Becsi <andras.becsi@nokia.com>
24407 [Qt] [WK2] Use input event timestamps in WebEvents if available
24408 https://bugs.webkit.org/show_bug.cgi?id=73647
24410 Reviewed by Simon Hausmann.
24412 Qt5 input events already have a native timestamp, use this timestamp
24413 in WebEventFactory instead of WTF::currentTime if it is available.
24415 * Shared/qt/WebEventFactoryQt.cpp:
24416 (WebKit::currentTimeForEvent):
24417 (WebKit::WebEventFactory::createWebMouseEvent):
24418 (WebKit::WebEventFactory::createWebWheelEvent):
24419 (WebKit::WebEventFactory::createWebKeyboardEvent):
24420 (WebKit::WebEventFactory::createWebTouchEvent):
24421 * Shared/qt/WebEventFactoryQt.h:
24423 2011-12-02 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
24425 [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy
24426 https://bugs.webkit.org/show_bug.cgi?id=66668
24428 Reviewed by Simon Hausmann.
24430 Split QtPageClient out of QtWebPageProxy.
24431 This client will live in QQuickWebViewPrivate and communicate directly
24432 with QtWebPageProxy and QtWebPageEventHandler. The functions that need
24433 anything else than these entities will need to call the proper implementation
24434 through QtWebPageProxy itself.
24435 With this we have a clear separation between PageClient and PageProxy, having
24436 two well defined and separated entities for hooking our clients with our API layer (QtWebPageProxy)
24437 and for hooking the WebPageProxy with our client implementations (QtPageClient).
24438 As a positive side-effect we have a cleaner QtWebPageProxy.
24441 * UIProcess/API/qt/qquickwebview.cpp:
24442 (QQuickWebViewPrivate::QQuickWebViewPrivate):
24443 * UIProcess/API/qt/qquickwebview_p_p.h:
24444 * UIProcess/qt/QtPageClient.cpp: Added.
24445 (QtPageClient::QtPageClient):
24446 (QtPageClient::~QtPageClient):
24447 (QtPageClient::createDrawingAreaProxy):
24448 (QtPageClient::setViewNeedsDisplay):
24449 (QtPageClient::pageDidRequestScroll):
24450 (QtPageClient::processDidCrash):
24451 (QtPageClient::didRelaunchProcess):
24452 (QtPageClient::didChangeContentsSize):
24453 (QtPageClient::didChangeViewportProperties):
24454 (QtPageClient::startDrag):
24455 (QtPageClient::handleDownloadRequest):
24456 (QtPageClient::setCursor):
24457 (QtPageClient::setCursorHiddenUntilMouseMoves):
24458 (QtPageClient::toolTipChanged):
24459 (QtPageClient::registerEditCommand):
24460 (QtPageClient::clearAllEditCommands):
24461 (QtPageClient::canUndoRedo):
24462 (QtPageClient::executeUndoRedo):
24463 (QtPageClient::convertToDeviceSpace):
24464 (QtPageClient::convertToUserSpace):
24465 (QtPageClient::screenToWindow):
24466 (QtPageClient::windowToScreen):
24467 (QtPageClient::createPopupMenuProxy):
24468 (QtPageClient::createContextMenuProxy):
24469 (QtPageClient::flashBackingStoreUpdates):
24470 (QtPageClient::didFindZoomableArea):
24471 (QtPageClient::didReceiveMessageFromNavigatorQtObject):
24472 (QtPageClient::doneWithTouchEvent):
24473 (QtPageClient::displayView):
24474 (QtPageClient::scrollView):
24475 (QtPageClient::viewSize):
24476 (QtPageClient::isViewWindowActive):
24477 (QtPageClient::isViewFocused):
24478 (QtPageClient::isViewVisible):
24479 (QtPageClient::isViewInWindow):
24480 (QtPageClient::enterAcceleratedCompositingMode):
24481 (QtPageClient::exitAcceleratedCompositingMode):
24482 * UIProcess/qt/QtPageClient.h: Added.
24483 (QtPageClient::pageClosed):
24484 (QtPageClient::doneWithKeyEvent):
24485 (QtPageClient::setFindIndicator):
24486 (QtPageClient::didCommitLoadForMainFrame):
24487 (QtPageClient::didFinishLoadingDataForCustomRepresentation):
24488 (QtPageClient::customRepresentationZoomFactor):
24489 (QtPageClient::setCustomRepresentationZoomFactor):
24490 (QtPageClient::didChangeScrollbarsForMainFrame):
24491 (QtPageClient::findStringInCustomRepresentation):
24492 (QtPageClient::countStringMatchesInCustomRepresentation):
24493 (QtPageClient::setEventHandler):
24494 (QtPageClient::setPageProxy):
24495 * UIProcess/qt/QtWebPageProxy.cpp:
24496 (QtWebPageProxy::QtWebPageProxy):
24497 * UIProcess/qt/QtWebPageProxy.h:
24499 2011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
24501 [Qt] Do not apply the transition state before we are unsuspended
24503 Reviewed by Simon Hausmann.
24505 Also remove an accessor in the private, which is unneeded as
24506 everything in the private class is supposed to be public or
24507 only used by the private itself.
24509 * UIProcess/API/qt/qquickwebview.cpp:
24510 (QQuickWebViewPrivate::QQuickWebViewPrivate):
24511 (QQuickWebViewPrivate::loadDidCommit):
24512 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
24513 (QQuickWebViewPrivate::_q_suspend):
24514 (QQuickWebViewPrivate::_q_resume):
24515 (QQuickWebViewPrivate::didChangeContentsSize):
24516 (QQuickWebViewPrivate::didChangeViewportProperties):
24517 * UIProcess/API/qt/qquickwebview_p_p.h:
24519 2011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
24521 Unreviewed buildfix, add missing include.
24523 * WebProcess/Notifications/WebNotificationManager.cpp:
24525 2011-12-02 Hajime Morrita <morrita@chromium.org>
24527 Unreviewed, rolling out r101751 and r101775.
24528 http://trac.webkit.org/changeset/101751
24529 http://trac.webkit.org/changeset/101775
24530 https://bugs.webkit.org/show_bug.cgi?id=73191
24532 breaks Windows build
24536 2011-12-02 Carlos Garcia Campos <cgarcia@igalia.com>
24538 Unreviewed. Fix GTK+ build after r101750.
24540 * GNUmakefile.am: Add missing files.
24542 2011-12-02 Gustavo Noronha Silva <gns@gnome.org>
24544 Unreviewed. GTK+ build fix.
24548 2011-12-02 Zalan Bujtas <zbujtas@gmail.com>
24550 [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
24551 https://bugs.webkit.org/show_bug.cgi?id=73441
24553 Do not assert on empty available size, but return default constrain values instead.
24555 Reviewed by Kenneth Rohde Christiansen.
24557 * UIProcess/API/qt/qquickwebview.cpp:
24558 (QQuickWebViewPrivate::computeViewportConstraints):
24559 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24560 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
24562 2011-12-01 Hajime Morrita <morrita@chromium.org>
24564 JS_INLINE and WTF_INLINE should be visible from WebCore
24565 https://bugs.webkit.org/show_bug.cgi?id=73191
24567 Reviewed by Kevin Ollivier.
24569 Removed macro definitions which is now provided by Platform.h
24573 2011-12-01 Jon Lee <jonlee@apple.com>
24575 [WK2] Add further support for notifications
24576 https://bugs.webkit.org/show_bug.cgi?id=73572
24577 <rdar://problem/10472195>
24579 Reviewed by Darin Adler.
24581 * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
24582 from the notification platform.
24584 * DerivedSources.make: Add WebNotificationManager.
24585 * DerivedSources.pri: Ditto.
24586 * Platform/CoreIPC/MessageID.h: Add message class.
24587 * WebProcess/WebProcess.cpp:
24588 (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
24589 * WebKit2.xcodeproj/project.pbxproj: Add new message files.
24590 * win/WebKit2.vcproj: Adding new files to project.
24591 * win/WebKit2Common.vsprops: Add Notifications to include paths
24593 * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
24594 (WebKit::WebNotification::create):
24595 (WebKit::WebNotification::notificationID):
24596 (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
24597 for mapping IDs to notifications.
24598 * UIProcess/WebNotification.cpp:
24599 (WebKit::WebNotification::WebNotification):
24600 (WebKit::WebNotification::encode):
24601 (WebKit::WebNotification::decode):
24602 * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
24603 * UIProcess/API/C/WKNotification.cpp:
24604 (WKNotificationGetNotificationID):
24606 * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
24607 * UIProcess/WebNotificationManagerProxy.cpp:
24608 (WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
24609 (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
24610 (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
24611 (WebKit::WebNotificationManagerProxy::didDestroyNotification):
24612 (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
24613 (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
24614 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
24615 * UIProcess/API/C/WKNotificationManager.h:
24616 * UIProcess/API/C/WKNotificationManager.cpp:
24617 (WKNotificationManagerProviderDidShowNotification):
24618 (WKNotificationManagerProviderDidClickNotification):
24619 (WKNotificationManagerProviderDidCloseNotifications):
24621 * UIProcess/WebNotificationProvider.h:
24622 * UIProcess/WebNotificationProvider.cpp:
24623 (WebKit::WebNotificationProvider::show):
24624 (WebKit::WebNotificationProvider::cancel):
24625 (WebKit::WebNotificationProvider::didDestroyNotification):
24626 (WebKit::WebNotificationProvider::addNotificationManager):
24627 (WebKit::WebNotificationProvider::removeNotificationManager):
24628 * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls
24630 * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
24631 Notification instances.
24632 * WebProcess/Notifications/WebNotificationManager.cpp:
24633 (WebKit::generateNotificationID):
24634 (WebKit::WebNotificationManager::didReceiveMessage):
24635 (WebKit::WebNotificationManager::show):
24636 (WebKit::WebNotificationManager::cancel):
24637 (WebKit::WebNotificationManager::didDestroyNotification):
24638 (WebKit::WebNotificationManager::didShowNotification):
24639 (WebKit::WebNotificationManager::didClickNotification):
24640 (WebKit::WebNotificationManager::didCloseNotifications):
24642 * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
24643 * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
24644 (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
24646 2011-12-01 Goutham J <gouthamj@motorola.com>
24648 [WEBKIT2] Fix for compilation warnings in WebContext.cpp
24649 https://bugs.webkit.org/show_bug.cgi?id=69080
24651 Fix compilation warning in WebKit2 builds.
24653 Reviewed by Hajime Morita.
24655 * UIProcess/WebContext.cpp:
24656 (WebKit::WebContext::processDidFinishLaunching):
24657 (WebKit::WebContext::startMemorySampler):
24659 2011-12-01 Beth Dakin <bdakin@apple.com>
24661 https://bugs.webkit.org/show_bug.cgi?id=73592
24662 REGRESSION (r100483): Can't drag out of background window
24663 -and corresponding-
24664 <rdar://problem/10508870>
24666 Reviewed by Darin Adler.
24668 If the mouse is pressed we need to do a full, normal hit test even if the window
24670 * WebProcess/WebPage/WebPage.cpp:
24671 (WebKit::WebPage::mouseEvent):
24672 (WebKit::WebPage::mouseEventSyncForTesting):
24674 2011-12-01 Martin Robinson <mrobinson@igalia.com>
24676 [GTK] Add a helper function to find the current executable's path
24677 https://bugs.webkit.org/show_bug.cgi?id=73473
24679 Reviewed by Gustavo Noronha Silva.
24681 Do a series of tests when looking for processes. First search the directory
24682 specified by the environment variable, then the directory of the binary and
24683 then the LIBEXECDIR.
24685 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
24686 (WebKit::findWebKitProcess): Added.
24687 (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
24690 2011-12-01 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
24692 [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
24693 https://bugs.webkit.org/show_bug.cgi?id=73338
24695 Reviewed by Noam Rosenthal.
24697 Move painting of QQuickWebPage content from canvas afterrendering() to
24698 QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
24699 updateState() method to draw TextureMapper graphics layers.
24700 This is considered to be temporary until QSGNode::UserNodeType will be available.
24702 * UIProcess/API/qt/qquickwebpage.cpp:
24703 (QQuickWebPage::QQuickWebPage):
24704 (QQuickWebPagePrivate::QQuickWebPagePrivate):
24705 (PageProxyMaterialShader::attributeNames):
24706 (PageProxyMaterialShader::vertexShader):
24707 (PageProxyMaterialShader::fragmentShader):
24708 (PageProxyMaterial::PageProxyMaterial):
24709 (PageProxyMaterial::type):
24710 (PageProxyMaterial::createShader):
24711 (PageProxyNode::PageProxyNode):
24712 (PageProxyNode::~PageProxyNode):
24713 (PageProxyMaterialShader::updateState):
24714 (QQuickWebPage::updatePaintNode):
24715 (QQuickWebPagePrivate::resetPaintNode):
24716 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
24717 * UIProcess/API/qt/qquickwebpage_p.h:
24718 * UIProcess/API/qt/qquickwebpage_p_p.h:
24719 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24720 (tst_QQuickWebView::showWebView):
24721 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24722 (WebKit::LayerTreeHostProxy::didRenderFrame):
24724 2011-12-01 Nayan Kumar K <nayankk@motorola.com>
24726 [WK2][GTK] Change default-font-size and default-monospace-font-size
24727 https://bugs.webkit.org/show_bug.cgi?id=73468
24729 Reviewed by Martin Robinson.
24731 Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
24734 * UIProcess/API/gtk/WebKitSettings.cpp:
24735 (webkit_settings_class_init): Change the default font size settings.
24736 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24737 (testWebKitSettings): Correct the test.
24739 2011-12-01 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
24741 Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
24742 https://bugs.webkit.org/show_bug.cgi?id=56466
24744 Add a check if popup menu is not visible due to no mouse grab,
24745 Ensure WebCore is in sync with proper state.
24747 Reviewed by Martin Robinson.
24749 * UIProcess/WebPageProxy.cpp:
24750 (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
24752 * UIProcess/WebPageProxy.h:
24753 * UIProcess/WebPopupMenuProxy.h:
24754 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
24755 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
24756 * WebProcess/WebCoreSupport/WebPopupMenu.h:
24757 (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
24758 * WebProcess/WebPage/WebPage.cpp:
24759 (WebKit::WebPage::failedToShowPopupMenu):
24760 * WebProcess/WebPage/WebPage.h:
24761 * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.
24763 2011-12-01 Pavel Feldman <pfeldman@chromium.org>
24765 Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
24766 https://bugs.webkit.org/show_bug.cgi?id=73554
24768 Reviewed by Yury Semikhatsky.
24770 * UIProcess/WebInspectorProxy.cpp:
24771 (WebKit::WebInspectorProxy::didClose):
24773 2011-11-30 Alexey Proskuryakov <ap@apple.com>
24775 Remove an unneeded argument from FrameLoaderClient::download
24776 https://bugs.webkit.org/show_bug.cgi?id=73486
24778 Reviewed by Andreas Kling.
24780 * WebProcess/Downloads/Download.h:
24781 * WebProcess/Downloads/DownloadManager.cpp:
24782 (WebKit::DownloadManager::convertHandleToDownload):
24783 * WebProcess/Downloads/DownloadManager.h:
24784 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
24785 (WebKit::Download::startWithHandle):
24786 * WebProcess/Downloads/curl/DownloadCurl.cpp:
24787 (WebKit::Download::startWithHandle):
24788 * WebProcess/Downloads/mac/DownloadMac.mm:
24789 (WebKit::Download::startWithHandle):
24790 * WebProcess/Downloads/qt/DownloadQt.cpp:
24791 (WebKit::Download::startWithHandle):
24792 * WebProcess/Downloads/soup/DownloadSoup.cpp:
24793 (WebKit::Download::startWithHandle):
24794 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24795 (WebKit::WebFrameLoaderClient::download):
24796 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
24797 * WebProcess/WebPage/WebFrame.cpp:
24798 (WebKit::WebFrame::convertHandleToDownload):
24799 * WebProcess/WebPage/WebFrame.h:
24800 Updated for the change. CF version is the only one worth seeing, as it was using the argument.
24802 2011-11-30 Alexey Proskuryakov <ap@apple.com>
24804 Original page URL is not set in quarantine information when downloading using context menu Save Linked File
24805 https://bugs.webkit.org/show_bug.cgi?id=73475
24806 <rdar://problem/10500337>
24808 Reviewed by Dan Bernstein.
24810 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL
24811 for the request, so that CFNetwork would know where te file was downloaded. Note that this
24812 is an easier case than downloading due to clicks, since we don't really need to build a host
24813 only URL, and could use full page URL. However, the same function is used for consistency.
24815 2011-11-30 Igor Oliveira <igor.oliveira@openbossa.org>
24817 [WK2][Qt] AC animation startTime is wrong
24819 [WK2][Qt] AC animation startTime is wrong
24820 https://bugs.webkit.org/show_bug.cgi?id=73467
24822 When WebProcess sends animation information to UIProcess, It uses the
24823 current time(WTF::currentTime) minus the timeOffset to set the start time
24826 But there is a latency between the WebProcess and UIProcess communication
24827 and sometimes the animation transition starts late.
24829 This patch fixes the bug moving the startTime calculation to UIProcess.
24831 Reviewed by Noam Rosenthal.
24833 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24834 (WebKit::LayerTreeHostProxy::syncLayerParameters):
24835 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
24836 (WebCore::WebGraphicsLayer::addAnimation):
24838 2011-11-30 Csaba Osztrogonác <ossy@webkit.org>
24840 [Qt] Buildfix for generating forwarding headers
24841 https://bugs.webkit.org/show_bug.cgi?id=73446
24843 Reviewed by Noam Rosenthal.
24845 * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
24847 2011-11-30 Dan Bernstein <mitz@apple.com>
24849 WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view
24850 https://bugs.webkit.org/show_bug.cgi?id=73476
24852 Reviewed by Anders Carlsson.
24854 * Shared/WebPageCreationParameters.cpp:
24855 (WebKit::WebPageCreationParameters::encode): Encode pageLength.
24856 (WebKit::WebPageCreationParameters::decode): Decode pageLength.
24857 * Shared/WebPageCreationParameters.h: Added pageLength.
24858 * UIProcess/API/C/WKPage.cpp:
24859 (WKPageSetPageLength): Added this accessor.
24860 (WKPageGetPageLength): Ditto.
24861 * UIProcess/API/C/WKPagePrivate.h:
24862 * UIProcess/API/mac/WKBrowsingContextController.mm:
24863 (-[WKBrowsingContextController setPageLength:]): Ditto.
24864 (-[WKBrowsingContextController pageLength]): Ditto.
24865 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
24866 * UIProcess/WebPageProxy.cpp:
24867 (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength.
24868 (WebKit::WebPageProxy::setPageLength): Added.
24869 (WebKit::WebPageProxy::creationParameters): Initialize pageLength.
24870 * UIProcess/WebPageProxy.h:
24871 (WebKit::WebPageProxy::pageLength): Added.
24872 * WebProcess/WebPage/WebPage.cpp:
24873 (WebKit::WebPage::WebPage): Set the page length based on the creation parameters.
24874 (WebKit::WebPage::setPageLength): Added.
24875 * WebProcess/WebPage/WebPage.h:
24876 * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength.
24878 2011-11-30 Alejandro G. Castro <alex@igalia.com>
24880 [GTK] Add accelerated compositing compilation option
24881 https://bugs.webkit.org/show_bug.cgi?id=73298
24883 Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
24884 define. Fix accelerated compositing compilation in WK2, update the
24885 enter/exit functions.
24887 Reviewed by Martin Robinson.
24889 * UIProcess/API/gtk/PageClientImpl.cpp:
24890 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
24891 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
24892 * UIProcess/API/gtk/PageClientImpl.h:
24894 2011-11-29 Beth Dakin <bdakin@apple.com>
24896 https://bugs.webkit.org/show_bug.cgi?id=72751
24897 WebKit2.MouseMoveAfterCrash API test is failing
24899 Reviewed by Sam Weinig.
24901 windowIsFocused() is too restrictive. All we need to know is that the page is
24903 * WebProcess/WebPage/WebPage.cpp:
24904 (WebKit::WebPage::mouseEvent):
24905 (WebKit::WebPage::mouseEventSyncForTesting):
24907 2011-11-29 Sam Weinig <sam@webkit.org>
24909 Add move semantics to WKRetainPtr
24910 https://bugs.webkit.org/show_bug.cgi?id=73400
24912 Reviewed by Anders Carlsson.
24914 * UIProcess/API/cpp/WKRetainPtr.h:
24915 (WebKit::WKRetainPtr::WKRetainPtr):
24916 Add a move constructor and move enabled assignment operators
24917 to WKRetainPtr if the compiler being used supports rvalue
24918 references. If the compiler does not support it, we fallback
24919 to the copy semantics we have always had.
24921 2011-11-30 Mario Sanchez Prada <msanchez@igalia.com>
24923 [Gtk] Links should be Tab-focusable by default
24924 https://bugs.webkit.org/show_bug.cgi?id=73427
24926 Reviewed by Martin Robinson.
24928 * UIProcess/API/gtk/WebKitSettings.cpp:
24929 (webkit_settings_class_init): Switch the default value for
24930 'enable-tabs-to-links' property from FALSE to TRUE.
24931 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24932 (testWebKitSettings): Updated unit test.
24934 2011-11-30 Alexey Proskuryakov <ap@apple.com>
24936 Download page URL should be set by WebCore
24937 https://bugs.webkit.org/show_bug.cgi?id=73358
24939 Reviewed by Darin Adler.
24941 * WebProcess/Downloads/mac/DownloadMac.mm:
24942 (WebKit::Download::start): There is no need to set original URL post factum any more.
24943 (WebKit::Download::startWithHandle): Ditto.
24945 2011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
24947 Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
24948 comments to explain its purpose.
24950 Reviewed by Simon Hausmann.
24952 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24953 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
24954 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
24955 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
24956 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
24957 (WebKit::QtViewportInteractionEngine::scrollStateChanged):
24958 (WebKit::QtViewportInteractionEngine::applyConstraints):
24959 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24960 * UIProcess/qt/QtViewportInteractionEngine.h:
24962 2011-11-30 Simon Hausmann <simon.hausmann@nokia.com>
24964 Build fix. The removal of the Qt threading back-end also removed
24965 an implicit QString inclusion/forward-declaration.
24967 * UIProcess/qt/QtWebContext.h:
24969 2011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
24971 [Qt] Clean up the Qt viewport interaction engine
24973 Reviewed by Simon Hausmann.
24975 * UIProcess/qt/QtViewportInteractionEngine.cpp:
24976 (WebKit::QtViewportInteractionEngine::reset):
24978 Make sure reset is not called while suspended.
24980 (WebKit::QtViewportInteractionEngine::applyConstraints):
24982 We always need to apply the constrains due to initial-scale.
24984 Now that we only apply the constrains when we are ready to
24985 paint, it is impossible for the user to have interacted with
24986 the content in the case the viewport meta tag was declared
24987 in the <head> tag, and it is thus always applied.
24989 (WebKit::QtViewportInteractionEngine::panGestureStarted):
24990 (WebKit::QtViewportInteractionEngine::pinchGestureActive):
24992 Fix this method to actually do what it advertises, before
24993 it would be true even if just animation a bounce back effect.
24995 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24996 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
24997 * UIProcess/qt/QtViewportInteractionEngine.h:
24999 General, get rid of the interaction flags as we only need to
25000 know whether the user interacted (panned, pinched, double-tapped).
25001 Before we would still apply initial-scale if the user had panned
25002 the content which can be pretty confusing.
25004 2011-11-30 Simon Hausmann <simon.hausmann@nokia.com>
25006 Unreviewed prospective mac build fix after r101450.
25008 * Platform/mac/ModuleMac.mm:
25009 (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
25011 2011-11-30 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
25013 [Qt][WK2] Implement permission API for Qt port
25014 https://bugs.webkit.org/show_bug.cgi?id=59200
25016 Permission API hookup for Geolocation, it allows to receive in WebView
25017 a signal when a permission request is done (e.g. to grant permission
25018 for accessing geolocation information) and set it accordingly.
25020 Reviewed by Simon Hausmann.
25023 * UIProcess/API/qt/qquickwebview_p.h:
25024 * UIProcess/API/qt/qwebpermissionrequest.cpp: Added.
25025 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
25026 (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate):
25027 (QWebPermissionRequest::create):
25028 (QWebPermissionRequest::QWebPermissionRequest):
25029 (QWebPermissionRequest::~QWebPermissionRequest):
25030 (QWebPermissionRequest::type):
25031 (QWebPermissionRequest::setAllow):
25032 (QWebPermissionRequest::allow):
25033 (QWebPermissionRequest::scheme):
25034 (QWebPermissionRequest::host):
25035 (QWebPermissionRequest::port):
25036 * UIProcess/API/qt/qwebpermissionrequest_p.h: Added.
25037 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Added.
25038 * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Added.
25039 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25040 * UIProcess/qt/QtWebPageUIClient.cpp:
25041 (QtWebPageUIClient::QtWebPageUIClient):
25042 (QtWebPageUIClient::permissionRequest):
25043 (QtWebPageUIClient::policyForGeolocationPermissionRequest):
25044 * UIProcess/qt/QtWebPageUIClient.h:
25046 2011-11-30 Alexey Proskuryakov <ap@apple.com>
25048 -[WKView attributedSubstringForProposedRange:actualRange:] doesn't update actualRange when it's out of bounds
25049 https://bugs.webkit.org/show_bug.cgi?id=67813
25051 Reviewed by Simon Fraser.
25053 * UIProcess/API/mac/WKView.mm:
25054 (-[WKView attributedSubstringForProposedRange:actualRange:]): Update actualRange to match
25056 (-[WKView firstRectForCharacterRange:actualRange:]): Added a FIXME. This is harder to
25057 implement, and it's unclear if clients care at this time.
25059 2011-11-29 Sam Weinig <sam@webkit.org>
25061 Remove RetainPtr::releaseRef
25062 https://bugs.webkit.org/show_bug.cgi?id=73396
25064 Reviewed by Dan Bernstein.
25066 * Platform/mac/ModuleMac.mm:
25067 (WebKit::Module::unload):
25068 Replace the final use of RetainPtr::releaseRef() with RetainPtr::leakRef(),
25069 its sexy replacement.
25071 2011-11-29 Jessie Berlin <jberlin@apple.com>
25073 WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
25074 the first time it is called.
25075 https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
25077 Reviewed by Brady Eidson.
25079 Queue any requests for the origins that have Local Storage until the StorageTracker is done
25080 loading the list of those origins from disk.
25082 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25083 (WebKit::keyValueStorageOriginIdentifiers):
25084 Refactored here from getKeyValueStorageOrigins so it can be used by didFinishLoadingOrigins.
25085 (WebKit::dispatchDidGetKeyValueStorageOrigins):
25087 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
25088 If the StorageTracker is not done loading the list of origins from disk, queue up the
25089 request to be handled later.
25090 (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
25091 Dispatch the results for any requests that were make before the StorageTracker was done
25092 loading the list of origins from disk.
25093 (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
25094 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25096 * WebProcess/WebProcess.cpp:
25097 (WebKit::WebProcess::initializeWebProcess):
25098 Set the WebKeyValueStorageManager as the StorageTrackerClient.
25100 2011-11-29 Anders Carlsson <andersca@apple.com>
25102 Decorate adoptWK with WARN_UNUSED_RETURN
25103 https://bugs.webkit.org/show_bug.cgi?id=73331
25105 Reviewed by Sam Weinig.
25107 * UIProcess/API/cpp/WKRetainPtr.h:
25110 2011-11-29 Carlos Garcia Campos <cgarcia@igalia.com>
25112 Unreviewed. Fix GTK+ WebKit2 build after r101312.
25114 * Scripts/generate-forwarding-headers.pl: Add blackberry to the
25117 2011-11-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
25119 [Qt] Don't hard-code the list of WebKit2 generated sources
25121 The generated sources are... wait for it... generated. So
25122 use the generator itself to figure out which sources we need
25125 Reviewed by Simon Hausmann.
25127 * DerivedSources.pri:
25130 2011-11-29 Carlos Garcia Campos <cgarcia@igalia.com>
25132 Unreviewed. Fix the GTK+ port build after r101307.
25134 * GNUmakefile.am: Add missing files to compilation.
25136 2011-11-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
25138 [Qt] Add the infrastructure for enabling suspend/resume.
25140 Reviewed by Simon Hausmann.
25142 Also, remove the painting optimization as it is broken in some
25143 situations, as there is an assumption in that comparison that
25144 the guards cannot be nested, which goes against the design and
25147 * UIProcess/API/qt/qquickwebview.cpp:
25148 (QQuickWebViewPrivate::initializeDesktop):
25149 (QQuickWebViewPrivate::initializeTouch):
25150 (QQuickWebViewPrivate::_q_suspend):
25151 (QQuickWebViewPrivate::_q_resume):
25152 * UIProcess/API/qt/qquickwebview_p.h:
25153 * UIProcess/API/qt/qquickwebview_p_p.h:
25154 * UIProcess/qt/QtViewportInteractionEngine.cpp:
25155 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
25156 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
25157 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25158 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
25159 (WebKit::QtViewportInteractionEngine::scrollStateChanged):
25160 (WebKit::QtViewportInteractionEngine::event):
25161 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
25162 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25163 (WebKit::QtViewportInteractionEngine::reset):
25164 (WebKit::QtViewportInteractionEngine::applyConstraints):
25165 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
25166 (WebKit::QtViewportInteractionEngine::panGestureEnded):
25167 (WebKit::QtViewportInteractionEngine::pinchGestureActive):
25168 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
25169 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
25170 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
25171 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
25172 * UIProcess/qt/QtViewportInteractionEngine.h:
25174 2011-11-29 Carlos Garcia Campos <cgarcia@igalia.com>
25176 [GTK] Add WebKitURIResponse to WebKit2 GTK+ API
25177 https://bugs.webkit.org/show_bug.cgi?id=72946
25179 Reviewed by Martin Robinson.
25181 * GNUmakefile.am: Add new files to compilation.
25182 * UIProcess/API/gtk/WebKitURIResponse.cpp: Added.
25183 (webkitURIResponseFinalize):
25184 (webkitURIResponseGetProperty):
25185 (webkitURIResponseSetProperty):
25186 (webkit_uri_response_class_init):
25187 (webkit_uri_response_init):
25188 (webkit_uri_response_get_uri): Return the URI of the response.
25189 (webkit_uri_response_get_status_code): Return the status code of
25190 the response, or SOUP_STATUS_NONE.
25191 (webkit_uri_response_get_content_length): Return the expected
25192 content length of the response.
25193 (webkitURIResponseCreateForSoupMessage): Private function to
25194 create a response object from a SoupMessage.
25195 (webkitURIResponseGetSoupMessage): Return the soup message
25196 associated to the response.
25197 (webkitURIResponseSetContentLength): Set the expected content
25198 length of the response. This is useful for non http responses.
25199 * UIProcess/API/gtk/WebKitURIResponse.h: Added.
25200 * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Added.
25201 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
25202 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
25203 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
25204 webkit_uri_response_get_type().
25205 * UIProcess/API/gtk/webkit2.h: Add WebKitURIResponse.h.
25207 2011-11-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
25209 [Qt] QQuickWebView gets wrong position after reload
25210 https://bugs.webkit.org/show_bug.cgi?id=73292
25212 Reviewed by Simon Hausmann.
25214 The ensureContentWithinViewportBoundary animates the current viewport
25215 item into boundaries. That of course breaks when we try to animate it,
25216 given the initial-scale which hasn't been applied; so apply it.
25218 Also put the QScroller settings code in the ctor as it never changes.
25220 * UIProcess/qt/QtViewportInteractionEngine.cpp:
25221 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25222 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25223 (WebKit::QtViewportInteractionEngine::reset):
25224 (WebKit::QtViewportInteractionEngine::applyConstraints):
25225 * UIProcess/qt/QtViewportInteractionEngine.h:
25227 2011-11-29 Roland Steiner <rolandsteiner@chromium.org>
25229 <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
25230 https://bugs.webkit.org/show_bug.cgi?id=72848
25232 Reviewed by Dimitri Glazkov.
25234 * Configurations/FeatureDefines.xcconfig:
25236 2011-11-28 Jon Lee <jonlee@apple.com>
25238 Create skeleton framework for notifications support in WK2
25239 https://bugs.webkit.org/show_bug.cgi?id=73253
25240 <rdar://problem/10356943>
25242 Reviewed by Sam Weinig.
25244 * WebKit2.xcodeproj/project.pbxproj: Added classes for notification support.
25245 * win/WebKit2.vcproj: Ditto.
25246 * Target.pri: Ditto.
25247 * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
25248 * DerivedSources.make: Add Notifications to VPATH.
25249 * Platform/CoreIPC/MessageID.h: List WebNotificationManagerProxy as a class with messages.
25250 * Scripts/webkit2/messages.py: Mark WebCore::NotificationContents as a struct.
25252 * Shared/API/c/WKBase.h: Map opaque types to NotificationProvider, NotificationManager, and Notification.
25253 * UIProcess/API/C/WKAPICast.h: Map WK types toNotificationProvider, NotificationManager, and Notification.
25254 * Shared/APIObject.h: Add Notification and NotificationManager as APIObjects.
25255 * Shared/WebCoreArgumentCoders.cpp: Added coders for KURL.
25256 (CoreIPC::::encode):
25257 (CoreIPC::::decode):
25258 * Shared/WebCoreArgumentCoders.h:
25260 * UIProcess/WebNotification.cpp: Added.
25261 (WebKit::WebNotification::WebNotification):
25262 (WebKit::WebNotification::~WebNotification):
25263 (WebKit::WebNotification::encode):
25264 (WebKit::WebNotification::decode):
25265 * UIProcess/WebNotification.h: Added.
25266 (WebKit::WebNotification::create):
25267 (WebKit::WebNotification::title):
25268 (WebKit::WebNotification::body):
25269 (WebKit::WebNotification::type):
25270 * UIProcess/API/C/WKNotification.cpp: Added as API.
25271 (WKNotificationGetTypeID):
25272 (WKNotificationCopyTitle):
25273 (WKNotificationCopyBody):
25274 * UIProcess/API/C/WKNotification.h: Added as API.
25276 * WebProcess/Notifications/WebNotificationManager.h: Added. Contains for now show() and cancel().
25277 The rest of the notification client methods will be added later. These two functions send messages
25278 to the manager proxy.
25279 * WebProcess/Notifications/WebNotificationManager.cpp: Added.
25280 (WebKit::WebNotificationManager::WebNotificationManager):
25281 (WebKit::WebNotificationManager::~WebNotificationManager):
25282 (WebKit::WebNotificationManager::show):
25283 (WebKit::WebNotificationManager::cancel):
25285 * UIProcess/WebNotificationManagerProxy.cpp: Added.
25286 (WebKit::WebNotificationManagerProxy::create):
25287 (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
25288 (WebKit::WebNotificationManagerProxy::~WebNotificationManagerProxy):
25289 (WebKit::WebNotificationManagerProxy::invalidate):
25290 (WebKit::WebNotificationManagerProxy::initializeProvider):
25291 (WebKit::WebNotificationManagerProxy::didReceiveMessage):
25292 (WebKit::WebNotificationManagerProxy::show):
25293 (WebKit::WebNotificationManagerProxy::cancel):
25294 * UIProcess/WebNotificationManagerProxy.h: Added.
25295 (WebKit::WebNotificationManagerProxy::clearContext):
25296 (WebKit::WebNotificationManagerProxy::type):
25297 * UIProcess/WebNotificationManagerProxy.messages.in: Added.
25298 * UIProcess/API/C/WKNotificationManager.cpp: Added.
25299 (WKNotificationManagerGetTypeID):
25300 (WKNotificationManagerSetProvider):
25301 * UIProcess/API/C/WKNotificationManager.h: Added.
25303 * UIProcess/WebContext.h: Add the notification manager to the web context.
25304 (WebKit::WebContext::notificationManagerProxy): Access the manager.
25305 * UIProcess/WebContext.cpp:
25306 (WebKit::WebContext::WebContext): Boilerplate for managers.
25307 (WebKit::WebContext::~WebContext): Boilerplate for managers.
25308 (WebKit::WebContext::disconnectProcess): Boilerplate for managers.
25309 (WebKit::WebContext::didReceiveMessage): Forward messages to the notification manager.
25310 * UIProcess/API/C/WKContext.cpp: Expose as API.
25311 (WKContextGetNotificationManager):
25312 * UIProcess/API/C/WKContext.h: Expose as API.
25314 * UIProcess/API/C/WKNotificationProvider.h: Added.
25315 * UIProcess/WebNotificationProvider.h: Added as APIClient.
25316 * UIProcess/WebNotificationProvider.cpp: Added.
25317 (WebKit::WebNotificationProvider::show): Forward call to the client.
25318 (WebKit::WebNotificationProvider::cancel): Forward call to the client.
25319 * UIProcess/WebProcessProxy.cpp:
25320 (WebKit::WebProcessProxy::didReceiveMessage): Forward messages for notification manager to the context.
25322 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove notificationPresenter().
25323 * WebProcess/WebCoreSupport/WebChromeClient.h: Remove notificationPresenter().
25325 * WebProcess/WebCoreSupport/WebNotificationClient.h: Added. Forwards client methods to manager.
25326 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: Added. Mostly stub implementation for now.
25327 (WebKit::WebNotificationClient::WebNotificationClient):
25328 (WebKit::WebNotificationClient::~WebNotificationClient):
25329 (WebKit::WebNotificationClient::show):
25330 (WebKit::WebNotificationClient::cancel):
25331 (WebKit::WebNotificationClient::notificationObjectDestroyed):
25332 (WebKit::WebNotificationClient::requestPermission):
25333 (WebKit::WebNotificationClient::cancelRequestsForPermission):
25334 (WebKit::WebNotificationClient::checkPermission):
25336 * WebProcess/WebPage/WebPage.h: Added WebNotificationClient as one of its page clients.
25337 * WebProcess/WebPage/WebPage.cpp:
25338 (WebKit::WebPage::WebPage): Set the notification client to WebNotificationClient.
25339 * WebProcess/WebProcess.h: Added WebNotificationManager.
25340 (WebKit::WebProcess::notificationManager):
25341 * WebProcess/WebProcess.cpp:
25342 (WebKit::WebProcess::WebProcess): Initialize notificaton manager.
25344 2011-11-28 Brent Fulgham <bfulgham@webkit.org>
25346 [WinCairo] Unreviewed build corrections.
25348 * UIProcess/BackingStore.h: WinCairo doesn't need the Cairo backing
25350 * win/WebKit2CFLite.def: Update to match WebKit2.def.
25352 2011-11-28 Beth Dakin <bdakin@apple.com>
25354 https://bugs.webkit.org/show_bug.cgi?id=72551
25355 When the recommended scrollbar style changes, WKView's tracking options should
25357 -and corresponding-
25358 <rdar://problem/10409328>
25360 Reviewed by Darin Adler.
25362 These new functions take care of passing along the
25363 recommendedScrollbarStyleDidChange() message that originates in the ChromeClient.
25364 * UIProcess/API/mac/PageClientImpl.h:
25365 * UIProcess/PageClient.h:
25366 * UIProcess/WebPageProxy.cpp:
25367 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
25368 * UIProcess/WebPageProxy.h:
25369 * UIProcess/WebPageProxy.messages.in:
25370 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25371 (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
25372 * WebProcess/WebCoreSupport/WebChromeClient.h:
25374 This is where we actually respond to the recommendedScrollbarStyleDidChange
25375 message. We remove the existing tracking area and create a new tracking area with
25376 the appropriate tracking options.
25377 * UIProcess/API/mac/PageClientImpl.mm:
25378 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
25380 BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged()
25381 must now take two parameters like the one in ScrollableArea.
25382 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
25383 (WebKit::BuiltInPDFView::scrollbarStyleChanged):
25384 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
25386 2011-11-28 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
25388 [Qt][WK2] Fix panning after r101179
25389 https://bugs.webkit.org/show_bug.cgi?id=73224
25391 Reviewed by Noam Rosenthal.
25393 We were wrongly checking for interactionEngine() instead of
25394 !interactionEngine() after the QtWebPageEventHandler refactor.
25396 * UIProcess/qt/QtPanGestureRecognizer.cpp:
25397 (WebKit::QtPanGestureRecognizer::recognize):
25399 2011-11-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
25401 Make sure the useFixedLayout feature is consistently handled
25402 https://bugs.webkit.org/show_bug.cgi?id=73212
25404 Reviewed by Simon Hausmann.
25406 Set the fixed layout on the UI side so that it is part of the page
25407 creation parameters and ensure that the page parameters are set
25408 before creating the page.
25410 The parameters are set to our defaults and are now altered in the
25413 * UIProcess/API/qt/qquickwebview.cpp:
25414 (QQuickWebViewPrivate::QQuickWebViewPrivate):
25415 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
25416 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
25417 (QQuickWebView::QQuickWebView):
25418 * UIProcess/WebPageProxy.cpp:
25419 (WebKit::WebPageProxy::setUseFixedLayout):
25420 * WebProcess/WebPage/WebPage.cpp:
25421 (WebKit::WebPage::WebPage):
25423 On the web process side the default value for useFixedLayout
25424 wasn't actually read from the creation parameters. As it now may
25425 be different than that of the FrameView, we now call
25426 setFixedLayout in the constructor so make sure the value is
25427 propagated to the FrameView.
25429 (WebKit::WebPage::setFixedVisibleContentRect):
25430 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
25431 (WebKit::WebPage::resizeToContentsIfNeeded):
25432 (WebKit::WebPage::setViewportSize):
25433 (WebKit::WebPage::setUseFixedLayout):
25434 (WebKit::WebPage::setFixedLayoutSize):
25436 The methods that depends on fixed layout now have asserts to make
25437 sure that they are used properly.
25439 2011-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
25441 [GTK] Rename WebKitNetworkRequest to WebKitURIRequest
25442 https://bugs.webkit.org/show_bug.cgi?id=73202
25444 Reviewed by Martin Robinson.
25446 Network is confusing because the request can be for a local file uri.
25449 * UIProcess/API/gtk/WebKitNetworkRequest.h: Removed.
25450 * UIProcess/API/gtk/WebKitURIRequest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitNetworkRequest.cpp.
25451 (webkitURIRequestFinalize):
25452 (webkitURIRequestGetProperty):
25453 (webkitURIRequestSetProperty):
25454 (webkit_uri_request_class_init):
25455 (webkit_uri_request_init):
25456 (webkit_uri_request_new):
25457 (webkit_uri_request_get_uri):
25458 * UIProcess/API/gtk/WebKitURIRequest.h: Added.
25459 * UIProcess/API/gtk/WebKitWebView.cpp:
25460 (webkit_web_view_load_request):
25461 * UIProcess/API/gtk/WebKitWebView.h:
25462 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
25463 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
25465 * UIProcess/API/gtk/tests/WebViewTest.cpp:
25466 (WebViewTest::loadRequest):
25467 * UIProcess/API/gtk/tests/WebViewTest.h:
25468 * UIProcess/API/gtk/webkit2.h:
25470 2011-11-28 Simon Hausmann <simon.hausmann@nokia.com>
25472 [Qt] WTF should be built as separate static library
25473 https://bugs.webkit.org/show_bug.cgi?id=73201
25475 Reviewed by Tor Arne Vestbø.
25477 * Target.pri: Require wtf.
25478 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Remove unnecessary config.h
25479 inclusion and thus wtf dependency.
25481 2011-11-28 Pavel Feldman <pfeldman@chromium.org>
25483 REGRESSION (r101201): Crash inside WebKit::WebInspector::didClose() when closing any tab
25484 https://bugs.webkit.org/show_bug.cgi?id=73183
25486 Reviewed by Yury Semikhatsky.
25488 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25489 (WebKit::WebInspectorClient::closeInspectorFrontend):
25491 2011-11-28 Balazs Kelemen <kbalazs@webkit.org>
25493 Reviewed by Simon Hausmann.
25495 [WK2] fast/frames/iframe-plugin-load-remove-document-crash.html crashes
25496 https://bugs.webkit.org/show_bug.cgi?id=63321
25498 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
25499 (WebKit::NetscapePlugin::manualStreamDidFail): Don't assert that m_manualStream
25500 is not null since it is not guaranteed but instead handle the case when it is null
25503 2011-11-27 Zeno Albisser <zeno@webkit.org>
25505 [Qt][WK2] MiniBrowser stops displaying content after surfing a few pages.
25506 https://bugs.webkit.org/show_bug.cgi?id=73172
25508 Properly initialize WebLayerTreeInfo structures.
25510 Reviewed by Andreas Kling.
25512 * Shared/WebLayerTreeInfo.h:
25513 (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
25514 (WebKit::WebLayerAnimation::WebLayerAnimation):
25515 (WebKit::WebLayerInfo::WebLayerInfo):
25516 (WebKit::WebLayerTreeInfo::WebLayerTreeInfo):
25518 2011-11-27 Mark Rowe <mrowe@apple.com>
25520 <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
25522 Reviewed by Dan Bernstein.
25524 * UIProcess/mac/WebPageProxyMac.mm:
25525 (WebKit::macOSXVersionString): Use WKGetMacOSXVersionString.
25526 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
25527 (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString.
25529 2011-11-26 Pavel Feldman <pfeldman@google.com>
25531 Web Inspector: remove disconnectFromBackend from the protocol.
25532 https://bugs.webkit.org/show_bug.cgi?id=73127
25534 Reviewed by Yury Semikhatsky.
25536 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25537 (WebKit::WebInspectorClient::inspectorDestroyed):
25538 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25539 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25541 2011-11-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
25543 [Qt] [WK2] QtDownloadManager doesn't need to be RefCounted
25544 https://bugs.webkit.org/show_bug.cgi?id=73151
25546 Reviewed by Kenneth Rohde Christiansen.
25548 QtDownloadManager is owned by QtWebContext, and doesn't need to be a RefCounted
25549 class. This commit also makes the callback handlers private -- following the similar
25550 approach we take in other clients of the C API.
25552 * UIProcess/qt/QtDownloadManager.cpp:
25553 (WebKit::QtDownloadManager::QtDownloadManager):
25554 (WebKit::QtDownloadManager::addDownload):
25555 (WebKit::toQtDownloadManager):
25556 (WebKit::QtDownloadManager::didReceiveResponse):
25557 (WebKit::QtDownloadManager::didCreateDestination):
25558 (WebKit::QtDownloadManager::didFinishDownload): remove unused failingUrl local variable.
25559 (WebKit::QtDownloadManager::didFailDownload):
25560 (WebKit::QtDownloadManager::didReceiveDataForDownload):
25561 * UIProcess/qt/QtDownloadManager.h:
25562 * UIProcess/qt/QtWebContext.cpp:
25563 (WebKit::QtWebContext::initialize):
25564 * UIProcess/qt/QtWebContext.h:
25566 2011-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
25568 Unreviewed, rolling out r101193.
25569 http://trac.webkit.org/changeset/101193
25570 https://bugs.webkit.org/show_bug.cgi?id=73158
25572 Breaks Windows and Qt minimal. (Requested by pfeldman on
25575 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25576 (WebKit::WebInspectorClient::inspectorDestroyed):
25577 * WebProcess/WebCoreSupport/WebInspectorClient.h:
25578 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25579 (WebKit::WebInspectorFrontendClient::disconnectFromBackend):
25580 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25582 2011-11-26 Pavel Feldman <pfeldman@google.com>
25584 Web Inspector: remove disconnectFromBackend from the protocol.
25585 https://bugs.webkit.org/show_bug.cgi?id=73127
25587 Reviewed by Yury Semikhatsky.
25589 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25590 (WebKit::WebInspectorClient::inspectorDestroyed):
25591 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25592 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25594 2011-11-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
25596 [Qt] [WK2] Remove WebContext related code from QtWebPageProxy
25597 https://bugs.webkit.org/show_bug.cgi?id=73150
25599 Reviewed by Kenneth Rohde Christiansen.
25601 Creates a QtWebContext class that abstracts away from QtWebPageProxy the
25602 handling of creating / maintaining the default WebContext, as well as the
25603 code for the WKContextRef clients.
25605 Another motivation for having this entity is to have a proper place to add
25606 objects are bound to the context, like the QtDownloadManager.
25609 * UIProcess/qt/ClientImpl.cpp: Removed.
25610 * UIProcess/qt/ClientImpl.h: Removed.
25611 * UIProcess/qt/QtDownloadManager.cpp:
25612 * UIProcess/qt/QtWebContext.cpp: Added.
25613 (WebKit::QtWebContext::QtWebContext):
25614 (WebKit::QtWebContext::~QtWebContext):
25615 (WebKit::QtWebContext::create):
25616 (WebKit::QtWebContext::defaultContext):
25617 (WebKit::QtWebContext::createWebPage):
25618 (WebKit::QtWebContext::setNavigatorQtObjectEnabled):
25619 (WebKit::QtWebContext::postMessageToNavigatorQtObject):
25620 (WebKit::QtWebContext::initialize):
25621 (WebKit::QtWebContext::initializeContextInjectedBundleClient):
25622 (WebKit::toQtWebContext):
25623 (WebKit::QtWebContext::didReceiveMessageFromInjectedBundle):
25624 * UIProcess/qt/QtWebContext.h: Added.
25625 (WebKit::QtWebContext::downloadManager):
25626 * UIProcess/qt/QtWebPageProxy.cpp:
25627 (QtWebPageProxy::QtWebPageProxy):
25628 (QtWebPageProxy::~QtWebPageProxy):
25629 (QtWebPageProxy::setNavigatorQtObjectEnabled):
25630 (QtWebPageProxy::postMessageToNavigatorQtObject):
25631 (QtWebPageProxy::handleDownloadRequest):
25632 * UIProcess/qt/QtWebPageProxy.h:
25634 2011-11-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
25636 [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler
25637 https://bugs.webkit.org/show_bug.cgi?id=73096
25639 Reviewed by Kenneth Rohde Christiansen.
25641 Move all the interaction engine usage to QtWebPageEventHandler,
25642 making all GestureRecognizers (Tap, Pinch and Pan) use it directly.
25644 * UIProcess/qt/QtGestureRecognizer.cpp:
25645 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
25646 * UIProcess/qt/QtGestureRecognizer.h:
25647 * UIProcess/qt/QtPanGestureRecognizer.cpp:
25648 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
25649 (WebKit::QtPanGestureRecognizer::recognize):
25650 * UIProcess/qt/QtPanGestureRecognizer.h:
25651 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
25652 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
25653 (WebKit::QtPinchGestureRecognizer::recognize):
25654 * UIProcess/qt/QtPinchGestureRecognizer.h:
25655 * UIProcess/qt/QtTapGestureRecognizer.cpp:
25656 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25657 (WebKit::QtTapGestureRecognizer::recognize):
25658 (WebKit::QtTapGestureRecognizer::tapTimeout):
25659 * UIProcess/qt/QtTapGestureRecognizer.h:
25660 * UIProcess/qt/QtWebPageEventHandler.cpp:
25661 (QtWebPageEventHandler::QtWebPageEventHandler):
25662 (QtWebPageEventHandler::setViewportInteractionEngine):
25663 * UIProcess/qt/QtWebPageEventHandler.h:
25664 (QtWebPageEventHandler::interactionEngine):
25666 2011-11-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
25668 [Qt] Remove unneeded declaration from QQuickWebPagePrivate
25669 https://bugs.webkit.org/show_bug.cgi?id=73141
25671 Reviewed by Antonio Gomes.
25673 Left-over from r101165.
25675 * UIProcess/API/qt/qquickwebpage_p_p.h:
25677 2011-11-17 Martin Robinson <mrobinson@igalia.com>
25679 [GTK] Integrate build-gtkdoc into build-webkit and make
25680 https://bugs.webkit.org/show_bug.cgi?id=72626
25682 Reviewed by Philippe Normand.
25684 * GNUmakefile.am: Removed references to build-gtkdoc and gtkdoc.py.
25685 * UIProcess/API/gtk/docs/build-gtkdoc: Removed.
25687 2011-11-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
25689 Clean up code in WK2/ChromeClientClient related to viewport handling
25690 https://bugs.webkit.org/show_bug.cgi?id=73128
25692 Reviewed by Simon Hausmann.
25694 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25695 (WebKit::WebChromeClient::contentsSizeChanged):
25697 Make sure that we only call resizeToContentsIfNeeded when we are
25698 using the tiled backing store and fixed layout as well.
25700 Guard the scrollbar code so that it is only called when scroll
25701 delegation is not used. Do similarily for the frameset code,
25702 which makes no sense with frame flattening.
25704 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
25706 This method is only called for the main frame, so the main frame
25707 check has been removed.
25709 2011-11-25 Simon Hausmann <simon.hausmann@nokia.com>
25711 [Qt] Eliminate warnings about the deprecated QQuickCanvas::sceneGraphEngine() function.
25713 Reviewed by Andreas Kling.
25715 We use the function in question to find out if we can connect to the scene graph's
25716 afterRendering signal. The signal has been moved into QQuickCanvas right away, so
25717 we can connect to it as soon as we have a canvas.
25719 * UIProcess/API/qt/qquickwebpage.cpp:
25720 (QQuickWebPagePrivate::initializeSceneGraphConnections):
25721 * UIProcess/API/qt/qquickwebpage_p.h:
25723 2011-11-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
25725 [Qt][WK2] Move event handling out of QtWebPageProxy
25726 https://bugs.webkit.org/show_bug.cgi?id=73089
25728 Reviewed by Kenneth Rohde Christiansen.
25730 Move all logic related to event handling, gestures and the
25731 interaction engine out of QtWebPageProxy, creating a separate
25732 class called QtWebPageEventHandler. This handler will be created
25733 by the QQuickWebViewPrivate and will be registered into QtWebPageProxy.
25734 QQuickWebPage will now call handleEvent through this entity.
25737 * UIProcess/API/qt/qquickwebpage.cpp:
25738 (QQuickWebPage::event):
25739 * UIProcess/API/qt/qquickwebview.cpp:
25740 (QQuickWebViewPrivate::QQuickWebViewPrivate):
25741 (QQuickWebViewPrivate::initializeDesktop):
25742 (QQuickWebViewPrivate::initializeTouch):
25743 * UIProcess/API/qt/qquickwebview_p_p.h:
25744 * UIProcess/qt/QtTapGestureRecognizer.cpp:
25745 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25746 (WebKit::QtTapGestureRecognizer::recognize):
25747 (WebKit::QtTapGestureRecognizer::tapTimeout):
25748 * UIProcess/qt/QtTapGestureRecognizer.h:
25749 * UIProcess/qt/QtWebPageEventHandler.cpp: Added.
25750 (QtWebPageEventHandler::dragOperationToDropAction):
25751 (QtWebPageEventHandler::dragOperationToDropActions):
25752 (QtWebPageEventHandler::dropActionToDragOperation):
25753 (QtWebPageEventHandler::QtWebPageEventHandler):
25754 (QtWebPageEventHandler::~QtWebPageEventHandler):
25755 (QtWebPageEventHandler::handleEvent):
25756 (QtWebPageEventHandler::handleMouseMoveEvent):
25757 (QtWebPageEventHandler::handleMousePressEvent):
25758 (QtWebPageEventHandler::handleMouseReleaseEvent):
25759 (QtWebPageEventHandler::handleMouseDoubleClickEvent):
25760 (QtWebPageEventHandler::handleWheelEvent):
25761 (QtWebPageEventHandler::handleHoverLeaveEvent):
25762 (QtWebPageEventHandler::handleHoverMoveEvent):
25763 (QtWebPageEventHandler::handleDragEnterEvent):
25764 (QtWebPageEventHandler::handleDragLeaveEvent):
25765 (QtWebPageEventHandler::handleDragMoveEvent):
25766 (QtWebPageEventHandler::handleDropEvent):
25767 (QtWebPageEventHandler::handleSingleTapEvent):
25768 (QtWebPageEventHandler::handleDoubleTapEvent):
25769 (QtWebPageEventHandler::timerEvent):
25770 (QtWebPageEventHandler::handleKeyPressEvent):
25771 (QtWebPageEventHandler::handleKeyReleaseEvent):
25772 (QtWebPageEventHandler::handleFocusInEvent):
25773 (QtWebPageEventHandler::handleFocusOutEvent):
25774 (QtWebPageEventHandler::setViewportInteractionEngine):
25775 (QtWebPageEventHandler::touchEvent):
25776 (QtWebPageEventHandler::resetGestureRecognizers):
25777 (QtWebPageEventHandler::doneWithTouchEvent):
25778 (QtWebPageEventHandler::didFindZoomableArea):
25779 * UIProcess/qt/QtWebPageEventHandler.h: Added.
25780 * UIProcess/qt/QtWebPageProxy.cpp:
25781 (QtWebPageProxy::QtWebPageProxy):
25782 (QtWebPageProxy::init):
25783 (QtWebPageProxy::didFindZoomableArea):
25784 (QtWebPageProxy::processDidCrash):
25785 (QtWebPageProxy::startDrag):
25786 (QtWebPageProxy::doneWithTouchEvent):
25787 * UIProcess/qt/QtWebPageProxy.h:
25788 (QtWebPageProxy::eventHandler):
25790 2011-11-25 Simon Hausmann <simon.hausmann@nokia.com>
25792 [Qt] Cleanup in QML tests.
25794 Reviewed by Tor Arne Vestbø.
25796 Use a simple QML component for the "DesktopWebView" instead of a new QML type.
25797 This will allow the use of the experimental extension in the future.
25799 * UIProcess/API/qt/qquickwebview.cpp:
25800 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
25801 * UIProcess/API/qt/qquickwebview_p.h:
25802 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Added.
25803 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
25804 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
25805 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
25806 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
25807 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25808 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
25811 2011-11-24 Zeno Albisser <zeno@webkit.org>
25813 [Qt]WK2][Mac] Use Mac port's IPC implementation instead of Unix sockets
25814 https://bugs.webkit.org/show_bug.cgi?id=72495
25816 Make Qt using mach ports and Grand Central Dispatch for IPC
25817 when building on Mac.
25819 Reviewed by Simon Hausmann.
25821 * Platform/CoreIPC/Attachment.cpp:
25822 * Platform/CoreIPC/Attachment.h:
25823 * Platform/CoreIPC/Connection.h:
25824 * Platform/CoreIPC/CoreIPCMessageKinds.h:
25825 * Platform/SharedMemory.h:
25826 * Platform/WorkQueue.h:
25827 * Platform/mac/MachUtilities.cpp:
25828 * Platform/mac/WorkQueueMac.cpp:
25830 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
25831 (WebKit::ProcessLauncher::launchProcess):
25832 * UIProcess/WebProcessProxy.cpp:
25833 (WebKit::WebProcessProxy::didFinishLaunching):
25834 * WebProcess/qt/WebProcessMainQt.cpp:
25835 (WebKit::WebProcessMainQt):
25837 2011-11-17 Oleg Romashin <romaxa@gmail.com>
25839 [Qt][WK2] Stop leaking memory in string QWK2 API's
25840 https://bugs.webkit.org/show_bug.cgi?id=72558
25842 Reviewed by Simon Hausmann.
25844 WKRef API pointers don't adopt the implementation pointers by default and the implementation pointers
25845 stay alive after destroying the API pointers.
25846 This patch adopts the implementation pointers correctly by using adoptWK that returns a WKRetainPtr
25847 that will be around temporarily and correctly release the object.
25849 * UIProcess/qt/QtWebPageUIClient.cpp:
25850 (QtWebPageUIClient::mouseDidMoveOverElement):
25851 * UIProcess/qt/QtDownloadManager.cpp:
25852 (WebKit::qt_wk_didFailDownload):
25853 * UIProcess/qt/QtWebPageProxy.cpp:
25854 (QtWebPageProxy::load):
25855 (QtWebPageProxy::url):
25856 (QtWebPageProxy::title):
25858 2011-11-24 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
25860 [Qt] Get rid of the buildDirForSource() function in the build system
25862 At some point the plan was to allow for running qmake on sub-trees
25863 of the sources, into the top level build directory, but this is no
25864 longer possible, so no reason to keep the convenience function around.
25866 Reviewed by Simon Hausmann.
25868 * DerivedSources.pri:
25870 2011-11-24 Patrick Gansterer <paroga@webkit.org>
25872 [CMake] Add missing source files
25873 https://bugs.webkit.org/show_bug.cgi?id=73052
25875 Reviewed by Andreas Kling.
25877 Add more generic files to the sources list and remove the EFL specific stuff.
25881 2011-11-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
25883 [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
25884 https://bugs.webkit.org/show_bug.cgi?id=72914
25886 Reviewed by Andreas Kling.
25888 Make the signal downloadRequested an experimental API from QQuickWebView
25889 and modify the qml test to use a WebView instead of a DesktopWebView.
25891 * UIProcess/API/qt/qquickwebview_p.h:
25892 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml.
25893 * UIProcess/API/qt/tests/qmltests/common/download.html: Removed.
25894 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25895 * UIProcess/qt/QtWebPageProxy.cpp:
25896 (QtWebPageProxy::didReceiveDownloadResponse):
25898 2011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
25900 [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML
25901 https://bugs.webkit.org/show_bug.cgi?id=72976
25903 Reviewed by Tor Arne Vestbø.
25905 Expecting slots/methods to be implemented in QML isn't very idiomatic in
25906 comparison with the alternative of having a signal. So we now use a signal
25907 for handling navigation requests, and expose a 'request' object with relevant
25908 metadata. There's also a settable property 'action' used to indicate whether
25909 the navigation should be ignored or trigger a download.
25911 The pattern signal with an object parameter that can keep the reply is common in QML,
25912 and used for example for mouse signals.
25914 * UIProcess/API/qt/qquickwebview.cpp:
25915 * UIProcess/API/qt/qquickwebview_p.h:
25916 * UIProcess/API/qt/qquickwebview_p_p.h:
25917 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml.
25918 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25919 * UIProcess/qt/QtWebPagePolicyClient.cpp:
25920 (NavigationRequest::NavigationRequest):
25921 (NavigationRequest::url):
25922 (NavigationRequest::button):
25923 (NavigationRequest::modifiers):
25924 (NavigationRequest::action):
25925 (NavigationRequest::setAction):
25926 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25927 * UIProcess/qt/QtWebPagePolicyClient.h:
25929 2011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
25931 [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient
25932 https://bugs.webkit.org/show_bug.cgi?id=72959
25934 Reviewed by Andreas Kling.
25936 Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new
25937 QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the
25938 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
25940 QtPolicyInterface abstraction was not helping us as much as the separation of
25941 the client code will. It was more useful when we had multiple WebViews.
25944 * UIProcess/API/qt/qquickwebview.cpp:
25945 (QQuickWebViewPrivate::QQuickWebViewPrivate):
25947 (QQuickWebViewPrivate::navigationPolicyForURL):
25948 * UIProcess/API/qt/qquickwebview_p.h:
25949 * UIProcess/API/qt/qquickwebview_p_p.h:
25950 * UIProcess/qt/ClientImpl.cpp:
25951 * UIProcess/qt/ClientImpl.h:
25952 * UIProcess/qt/QtWebPagePolicyClient.cpp: Added.
25953 (QtWebPagePolicyClient::QtWebPagePolicyClient):
25954 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25955 (toQtWebPagePolicyClient):
25957 (toQtKeyboardModifiers):
25958 (QtWebPagePolicyClient::decidePolicyForResponse):
25959 * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h.
25960 * UIProcess/qt/QtWebPageProxy.cpp:
25961 (QtWebPageProxy::QtWebPageProxy):
25962 (QtWebPageProxy::init):
25963 * UIProcess/qt/QtWebPageProxy.h:
25965 2011-11-23 Raphael Kubo da Costa <kubo@profusion.mobi>
25967 [CMake] Move the top-level logic to the top-level directory.
25968 https://bugs.webkit.org/show_bug.cgi?id=72685
25970 Reviewed by Brent Fulgham.
25972 * CMakeLists.txt: Adjust Source/ directory.
25974 2011-11-22 Gopal Raghavan <gopal.1.raghavan@nokia.com>
25976 Unreviewed : remove empty folders related to TouchWebView and DesktopWebView
25977 https://bugs.webkit.org/show_bug.cgi?id=72985
25979 * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed.
25980 * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed.
25982 2011-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
25984 Ensure web process before starting a download
25985 https://bugs.webkit.org/show_bug.cgi?id=72499
25987 Reviewed by Anders Carlsson.
25989 * UIProcess/WebContext.cpp:
25990 (WebKit::WebContext::download): Call ensureWebProcess().
25992 2011-11-22 Csaba Osztrogonác <ossy@webkit.org>
25994 Unreviewed buildfix after r101001.
25996 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25997 (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT.
25999 2011-11-22 Pavel Feldman <pfeldman@google.com>
26001 Not reviewed: moving inspector frontend creation out of assert in WebKit2.
26003 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26004 (WebKit::WebInspectorClient::openInspectorFrontend):
26006 2011-11-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
26008 [Qt][WK2] Fix and unskip loadHtml api test
26009 https://bugs.webkit.org/show_bug.cgi?id=72916
26011 Reviewed by Andreas Kling.
26013 Now that linkHovered events are working again we can fix and unskip this
26016 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
26018 2011-11-22 Pavel Feldman <pfeldman@google.com>
26020 Web Inspector: remove Inspector::bringToFront from the protocol.
26021 https://bugs.webkit.org/show_bug.cgi?id=72937
26023 Reviewed by Yury Semikhatsky.
26025 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26026 (WebKit::WebInspectorClient::openInspectorFrontend):
26027 (WebKit::WebInspectorClient::bringFrontendToFront):
26028 * WebProcess/WebCoreSupport/WebInspectorClient.h:
26030 2011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
26032 [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient
26033 https://bugs.webkit.org/show_bug.cgi?id=72928
26035 Reviewed by Andreas Kling.
26037 Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new
26038 QtWebPageLoadClient registers itself with WKPageRef and it's owned by the
26039 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26042 * UIProcess/API/qt/qquickwebview.cpp:
26043 (QQuickWebViewPrivate::QQuickWebViewPrivate):
26044 (QQuickWebView::loadProgress):
26045 * UIProcess/API/qt/qquickwebview_p.h:
26046 * UIProcess/API/qt/qquickwebview_p_p.h:
26047 * UIProcess/qt/ClientImpl.cpp:
26048 * UIProcess/qt/ClientImpl.h:
26049 * UIProcess/qt/QtWebPageLoadClient.cpp: Added.
26050 (QtWebPageLoadClient::QtWebPageLoadClient):
26051 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
26052 (QtWebPageLoadClient::didCommitLoadForFrame):
26053 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
26054 (QtWebPageLoadClient::didReceiveTitleForFrame):
26055 (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
26056 (QtWebPageLoadClient::dispatchLoadSucceeded):
26057 (QtWebPageLoadClient::dispatchLoadFailed):
26058 (QtWebPageLoadClient::setLoadProgress):
26059 (toQtWebPageLoadClient):
26060 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
26061 (QtWebPageLoadClient::didFinishLoadForFrame):
26062 (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
26063 (QtWebPageLoadClient::didStartProgress):
26064 (QtWebPageLoadClient::didChangeProgress):
26065 (QtWebPageLoadClient::didFinishProgress):
26066 * UIProcess/qt/QtWebPageLoadClient.h: Added.
26067 (QtWebPageLoadClient::loadProgress):
26068 * UIProcess/qt/QtWebPageProxy.cpp:
26069 (QtWebPageProxy::QtWebPageProxy):
26070 (QtWebPageProxy::init):
26071 (QtWebPageProxy::updateNavigationState):
26072 * UIProcess/qt/QtWebPageProxy.h:
26074 2011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
26076 [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient
26077 https://bugs.webkit.org/show_bug.cgi?id=72910
26079 Reviewed by Andreas Kling.
26081 Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new
26082 QtWebPageUIClient registers itself with WKPageRef and it's owned by the
26083 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26086 * UIProcess/API/qt/qquickwebview.cpp:
26087 (QQuickWebViewPrivate::QQuickWebViewPrivate):
26088 (QQuickWebViewPrivate::chooseFiles):
26089 * UIProcess/API/qt/qquickwebview_p.h:
26090 * UIProcess/API/qt/qquickwebview_p_p.h:
26091 * UIProcess/qt/ClientImpl.cpp:
26092 * UIProcess/qt/ClientImpl.h:
26093 * UIProcess/qt/QtWebPageProxy.cpp:
26094 (QtWebPageProxy::init):
26095 * UIProcess/qt/QtWebPageProxy.h:
26096 * UIProcess/qt/QtWebPageUIClient.cpp: Added.
26097 (QtWebPageUIClient::QtWebPageUIClient):
26098 (QtWebPageUIClient::runJavaScriptAlert):
26099 (QtWebPageUIClient::runJavaScriptConfirm):
26100 (QtWebPageUIClient::runJavaScriptPrompt):
26101 (QtWebPageUIClient::runOpenPanel):
26102 (QtWebPageUIClient::setStatusText):
26103 (QtWebPageUIClient::mouseDidMoveOverElement):
26104 (toQtWebPageUIClient):
26105 (createNullWKString):
26106 * UIProcess/qt/QtWebPageUIClient.h: Added.
26108 2011-11-22 Eunmi Lee <eunmi15.lee@samsung.com>
26110 [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's
26111 keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName().
26112 https://bugs.webkit.org/show_bug.cgi?id=72850
26114 Reviewed by Anders Carlsson.
26116 The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and
26117 windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory.
26119 * Shared/efl/WebEventFactory.cpp:
26120 (WebKit::WebEventFactory::createWebKeyboardEvent):
26122 2011-11-21 Alexis Menard <alexis.menard@openbossa.org>
26124 [Qt][WK2] REGRESSION(100483): It made 2 API tests fail
26125 https://bugs.webkit.org/show_bug.cgi?id=72612
26127 Reviewed by Kenneth Rohde Christiansen.
26129 Make sure that when the view is focused, the page knows about it.
26130 Also set a the view to be the focused item in the failing tests.
26132 * UIProcess/API/qt/qquickwebpage_p.h:
26133 * UIProcess/API/qt/qquickwebview.cpp:
26134 (QQuickWebView::focusInEvent):
26135 (QQuickWebView::focusOutEvent):
26136 * UIProcess/API/qt/qquickwebview_p.h:
26137 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
26138 * UIProcess/qt/QtWebPageProxy.cpp:
26139 (QtWebPageProxy::isViewFocused):
26141 2011-11-21 Simon Hausmann <simon.hausmann@nokia.com>
26143 [Qt] Speed up debug builds.
26144 https://bugs.webkit.org/show_bug.cgi?id=72882
26146 Reviewed by Tor Arne Vestbø.
26148 * Target.pri: Make BUILDING_WebKit2 available, so it can be
26149 used by the build system.
26151 2011-11-21 Alexis Menard <alexis.menard@openbossa.org>
26153 [Qt] Remove unnecessary initialize method from QQuickWebView.
26154 https://bugs.webkit.org/show_bug.cgi?id=72905
26156 Reviewed by Kenneth Rohde Christiansen.
26158 We don't need this level of indirection.
26160 * UIProcess/API/qt/qquickwebview.cpp:
26161 (QQuickWebViewPrivate::QQuickWebViewPrivate):
26162 (QQuickWebView::QQuickWebView):
26163 * UIProcess/API/qt/qquickwebview_p_p.h:
26165 2011-11-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
26167 [Qt][WK2] Implement loadHtml API for QQuickWebView
26168 https://bugs.webkit.org/show_bug.cgi?id=72161
26170 Reviewed by Simon Hausmann.
26172 Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString.
26173 This function will use WKPageLoadHTMLString in order to load HTML from a given string.
26175 * UIProcess/API/qt/qquickwebview.cpp:
26176 (QQuickWebView::loadHtml):
26177 * UIProcess/API/qt/qquickwebview.h:
26178 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added.
26179 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added.
26180 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26181 * UIProcess/qt/QtWebPageProxy.cpp:
26182 (QtWebPageProxy::loadHTMLString):
26183 * UIProcess/qt/QtWebPageProxy.h:
26185 2011-11-21 Igor Oliveira <igor.oliveira@openbossa.org>
26187 [WK2][Qt] Move Accelerated Composite animations to UIProcess
26188 https://bugs.webkit.org/show_bug.cgi?id=72753
26190 Currently, all the accelerated compositing animations are applied in WebProcess and
26191 for each frame generated, WebProcess needs to sync with UIProcess.
26193 This patch moves the accelerated compositing animations to UIProcess reducing the
26194 amount of synchronization messages between WebProcess and UIProcess, this is done
26195 sending animations information to UIProcess.
26197 Reviewed by Noam Rosenthal.
26199 * Shared/WebCoreArgumentCoders.cpp:
26200 (CoreIPC::::encode):
26201 (CoreIPC::::decode):
26203 Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26204 the data serialization.
26206 * Shared/WebCoreArgumentCoders.h:
26207 * Shared/WebLayerTreeInfo.cpp:
26208 (WebKit::WebLayerInfo::encode):
26209 (WebKit::WebLayerInfo::decode):
26210 (WebKit::WebLayerAnimation::encode):
26211 (WebKit::WebLayerAnimation::decode):
26213 Create WebLayerAnimation struct, it is used to send animation information
26216 * Shared/WebLayerTreeInfo.h:
26217 (WebKit::WebLayerAnimation::WebLayerAnimation):
26218 * UIProcess/LayerTreeHostProxy.h:
26219 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26220 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26221 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26222 (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer):
26223 (WebKit::LayerTreeHostProxy::syncLayerParameters):
26224 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26225 (WebCore::WebGraphicsLayer::addAnimation):
26226 (WebCore::WebGraphicsLayer::pauseAnimation):
26227 (WebCore::WebGraphicsLayer::removeAnimation):
26228 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26230 2011-11-21 Pavel Feldman <pfeldman@chromium.org>
26232 Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code.
26233 https://bugs.webkit.org/show_bug.cgi?id=63009
26235 Reviewed by Yury Semikhatsky.
26237 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26238 (WebKit::WebInspectorClient::openInspectorFrontend):
26239 * WebProcess/WebPage/WebInspector.cpp:
26240 (WebKit::WebInspector::WebInspector):
26241 (WebKit::WebInspector::createInspectorPage):
26242 (WebKit::WebInspector::showConsole):
26243 (WebKit::WebInspector::startJavaScriptDebugging):
26244 (WebKit::WebInspector::stopJavaScriptDebugging):
26245 (WebKit::WebInspector::setJavaScriptProfilingEnabled):
26246 (WebKit::WebInspector::startJavaScriptProfiling):
26247 (WebKit::WebInspector::stopJavaScriptProfiling):
26248 (WebKit::WebInspector::startPageProfiling):
26249 (WebKit::WebInspector::stopPageProfiling):
26250 * WebProcess/WebPage/WebInspector.h:
26252 2011-11-21 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
26254 [Qt] Add WebView.view attached property support for dialogs in QML
26255 https://bugs.webkit.org/show_bug.cgi?id=72825
26257 Reviewed by Simon Hausmann.
26259 When creating new dialogs, fill their WebView.view attached property
26260 with the WebView that's creating them. This follows the same pattern
26261 as QtQuick's ListView, enabling the usage of the same dialog component
26262 for different WebViews.
26264 * UIProcess/API/qt/qquickwebview.cpp:
26265 (QQuickWebViewPrivate::runJavaScriptAlert):
26266 (QQuickWebViewPrivate::runJavaScriptConfirm):
26267 (QQuickWebViewPrivate::runJavaScriptPrompt):
26268 (QQuickWebViewPrivate::setViewInAttachedProperties):
26269 (QQuickWebViewAttached::QQuickWebViewAttached):
26270 (QQuickWebViewAttached::setView):
26271 (QQuickWebView::qmlAttachedProperties):
26272 * UIProcess/API/qt/qquickwebview_p.h:
26273 * UIProcess/API/qt/qquickwebview_p_p.h:
26274 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
26275 * UIProcess/qt/QtDialogRunner.h:
26276 (QtDialogRunner::dialog):
26278 2011-11-21 Jochen Eisinger <jochen@chromium.org>
26280 Implement Meta referrer
26281 https://bugs.webkit.org/show_bug.cgi?id=72674
26283 Reviewed by Adam Barth.
26285 * WebProcess/Plugins/PluginView.cpp:
26286 (WebKit::PluginView::loadURL):
26288 2011-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
26290 Unreviewed. Fix make distcheck build.
26294 2011-10-17 Antonio Gomes <agomes@rim.com>
26296 Pass a Frame* parameter in EditorClient::respondToChangedSelection
26297 https://bugs.webkit.org/show_bug.cgi?id=70248
26299 Reviewed by Ryosuke Niwa.
26301 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter.
26302 (WebKit::WebEditorClient::respondToChangedSelection):
26303 * WebProcess/WebCoreSupport/WebEditorClient.h:
26305 2011-11-17 Mark Rowe <mrowe@apple.com>
26307 <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
26308 switch away from the deprecated APIs.
26310 Reviewed by Sam Weinig.
26312 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
26314 2011-11-19 Sheriff Bot <webkit.review.bot@gmail.com>
26316 Unreviewed, rolling out r100834.
26317 http://trac.webkit.org/changeset/100834
26318 https://bugs.webkit.org/show_bug.cgi?id=72806
26320 this patch makes Qt run-webkit-test exit before finishing
26321 (Requested by igoroliveira on #webkit).
26323 * Shared/WebCoreArgumentCoders.cpp:
26324 (CoreIPC::::encode):
26325 (CoreIPC::::decode):
26326 * Shared/WebCoreArgumentCoders.h:
26327 * Shared/WebLayerTreeInfo.cpp:
26328 (WebKit::WebLayerInfo::encode):
26329 (WebKit::WebLayerInfo::decode):
26330 * Shared/WebLayerTreeInfo.h:
26331 * UIProcess/LayerTreeHostProxy.h:
26332 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26333 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26334 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26335 (WebKit::LayerTreeHostProxy::syncLayerParameters):
26336 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26337 (WebCore::WebGraphicsLayer::addAnimation):
26338 (WebCore::WebGraphicsLayer::pauseAnimation):
26339 (WebCore::WebGraphicsLayer::removeAnimation):
26340 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26342 2011-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
26344 Unreviewed, rolling out r100826.
26345 http://trac.webkit.org/changeset/100826
26346 https://bugs.webkit.org/show_bug.cgi?id=72786
26348 Broke Chromium Mac build (Requested by aklein on #webkit).
26350 * UIProcess/API/mac/PageClientImpl.h:
26351 * UIProcess/API/mac/PageClientImpl.mm:
26352 * UIProcess/PageClient.h:
26353 * UIProcess/WebPageProxy.cpp:
26354 * UIProcess/WebPageProxy.h:
26355 * UIProcess/WebPageProxy.messages.in:
26356 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26357 (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26358 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26359 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26360 * WebProcess/WebCoreSupport/WebChromeClient.h:
26362 2011-11-18 Igor Oliveira <igor.oliveira@openbossa.org>
26364 [WK2][Qt] Move Accelerated Composite animations to UIProcess
26365 https://bugs.webkit.org/show_bug.cgi?id=72753
26367 Currently, all the accelerated compositing animations are applied in WebProcess and
26368 for each frame generated, WebProcess needs to sync with UIProcess.
26370 This patch moves the accelerated compositing animations to UIProcess reducing the
26371 amount of synchronization messages between WebProcess and UIProcess, this is done
26372 sending animations information to UIProcess.
26374 Reviewed by Noam Rosenthal.
26376 * Shared/WebCoreArgumentCoders.cpp:
26377 (CoreIPC::::encode):
26378 (CoreIPC::::decode):
26380 Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26381 the data serialization.
26383 * Shared/WebCoreArgumentCoders.h:
26384 * Shared/WebLayerTreeInfo.cpp:
26385 (WebKit::WebLayerInfo::encode):
26386 (WebKit::WebLayerInfo::decode):
26387 (WebKit::WebLayerAnimation::encode):
26388 (WebKit::WebLayerAnimation::decode):
26390 Create WebLayerAnimation struct, it is used to send animation information
26393 * Shared/WebLayerTreeInfo.h:
26394 (WebKit::WebLayerAnimation::WebLayerAnimation):
26395 * UIProcess/LayerTreeHostProxy.h:
26396 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26397 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26398 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26399 (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired):
26400 (WebKit::LayerTreeHostProxy::syncLayerParameters):
26401 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26402 (WebCore::WebGraphicsLayer::addAnimation):
26403 (WebCore::WebGraphicsLayer::pauseAnimation):
26404 (WebCore::WebGraphicsLayer::removeAnimation):
26405 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26407 2011-11-18 Beth Dakin <bdakin@apple.com>
26409 https://bugs.webkit.org/show_bug.cgi?id=72551
26410 When the recommended scrollbar style changes, WKView's tracking options should
26412 -and corresponding-
26413 <rdar://problem/10409328>
26415 Reviewed by Darin Adler.
26417 These new functions take care of passing along the
26418 recommendedScrollbarStyleDidChange() message that originates in the ChromeClient.
26419 * UIProcess/API/mac/PageClientImpl.h:
26420 * UIProcess/PageClient.h:
26421 * UIProcess/WebPageProxy.cpp:
26422 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
26423 * UIProcess/WebPageProxy.h:
26424 * UIProcess/WebPageProxy.messages.in:
26425 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26426 (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
26427 * WebProcess/WebCoreSupport/WebChromeClient.h:
26429 This is where we actually respond to the recommendedScrollbarStyleDidChange
26430 message. We remove the existing tracking area and create a new tracking area with
26431 the appropriate tracking options.
26432 * UIProcess/API/mac/PageClientImpl.mm:
26433 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
26435 BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged()
26436 must now take two parameters like the one in ScrollableArea.
26437 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26438 (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26439 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26441 2011-11-18 Dinu Jacob <dinu.jacob@nokia.com>
26443 [Qt][Wk2] Add an API test for scroll request from javascript
26444 https://bugs.webkit.org/show_bug.cgi?id=72407
26446 New API test added for QQuickWebView for javascript scroll request
26447 Reviewed by Simon Hausmann.
26449 * UIProcess/API/qt/tests/html/scroll.html: Added.
26450 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26451 (tst_QQuickWebView::scrollRequest):
26453 2011-11-18 No'am Rosenthal <noam.rosenthal@nokia.com>
26455 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
26456 https://bugs.webkit.org/show_bug.cgi?id=61694
26458 Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to
26459 allow encoding const TimingFunctions and not just RefPtr<TimingFunction>.
26461 Reviewed by Simon Hausmann.
26463 * Scripts/webkit2/messages.py:
26464 * Shared/WebCoreArgumentCoders.cpp:
26465 (CoreIPC::::encode):
26466 (CoreIPC::::decode):
26467 * Shared/WebCoreArgumentCoders.h:
26469 2011-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
26471 [Qt] Guard for the viewportInteractionEngine as it doesn't always exist.
26473 Reviewed by Antonio Gomes.
26475 The engine is non-existent when the view is configured to use desktop
26478 * UIProcess/qt/QtWebPageProxy.cpp:
26479 (QtWebPageProxy::handleWheelEvent):
26480 (QtWebPageProxy::didFindZoomableArea):
26482 2011-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
26484 [GTK] Send DidCreateDestination to DownloadProxy when destination has been created
26485 https://bugs.webkit.org/show_bug.cgi?id=72724
26487 Reviewed by Martin Robinson.
26489 * WebProcess/Downloads/soup/DownloadSoup.cpp:
26490 (WebKit::DownloadClient::didReceiveResponse): Call
26491 didCreateDestination() when destination URI has been successfully
26494 2011-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
26496 [GTK] Cancel current download operation before download object is deleted
26497 https://bugs.webkit.org/show_bug.cgi?id=72721
26499 Reviewed by Martin Robinson.
26501 It fixes a crash in the web process when a download finishes early
26504 * WebProcess/Downloads/soup/DownloadSoup.cpp:
26505 (WebKit::Download::cancel): Delete current ResourceHandle.
26506 (WebKit::Download::platformInvalidate): If there's a
26507 ResourceHandle active, cancel the download operation and delete
26509 (WebKit::Download::platformDidFinish): Delete current ResourceHandle.
26511 2011-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
26513 [GTK] Downloads not started by WebView only fail for transport errors
26514 https://bugs.webkit.org/show_bug.cgi?id=72718
26516 Reviewed by Martin Robinson.
26518 * WebProcess/Downloads/soup/DownloadSoup.cpp:
26519 (WebKit::DownloadClient::didReceiveResponse): Check if the http
26520 status of the response is an error code and finish the download
26521 with an error in such case.
26523 2011-11-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
26525 [Qt] Support customizing JS alert/confirm/prompt dialogs using QML
26526 https://bugs.webkit.org/show_bug.cgi?id=72319
26528 Reviewed by Simon Hausmann.
26530 Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's
26531 privateObject. These are QML components that are created by the webview when the
26532 corresponding function is called in JS.
26534 The dialogs are created in a context that contains a model object, similar to
26535 ListView delegates. The "message" and "defaultValue" parameters are available
26536 in the model object, as well as slots expected to be called by the dialog.
26538 This commit removes the old code for supporting QWidget builtin dialogs. The code
26539 wasn't working properly (closing any dialog was closing the app after QWindow
26540 refactoring in Qt5).
26543 * UIProcess/API/qt/qquickwebview.cpp:
26544 (QQuickWebViewPrivate::runJavaScriptAlert):
26545 (QQuickWebViewPrivate::runJavaScriptConfirm):
26546 (QQuickWebViewPrivate::runJavaScriptPrompt):
26547 (QQuickWebViewExperimental::alertDialog):
26548 (QQuickWebViewExperimental::setAlertDialog):
26549 (QQuickWebViewExperimental::confirmDialog):
26550 (QQuickWebViewExperimental::setConfirmDialog):
26551 (QQuickWebViewExperimental::promptDialog):
26552 (QQuickWebViewExperimental::setPromptDialog):
26553 * UIProcess/API/qt/qquickwebview_p.h:
26554 * UIProcess/API/qt/qquickwebview_p_p.h:
26555 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added.
26556 * UIProcess/API/qt/tests/qmltests/common/alert.html: Added.
26557 * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added.
26558 * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added.
26559 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26560 * UIProcess/qt/QtDialogRunner.cpp: Added.
26561 (QtDialogRunner::QtDialogRunner):
26562 (QtDialogRunner::~QtDialogRunner):
26563 (DialogContextObject::DialogContextObject):
26564 (DialogContextObject::message):
26565 (DialogContextObject::defaultValue):
26566 (DialogContextObject::dismiss):
26567 (DialogContextObject::accept):
26568 (DialogContextObject::reject):
26569 (QtDialogRunner::initForAlert):
26570 (QtDialogRunner::initForConfirm):
26571 (QtDialogRunner::initForPrompt):
26572 (QtDialogRunner::createDialog):
26573 * UIProcess/qt/QtDialogRunner.h: Added.
26574 (QtDialogRunner::wasAccepted):
26575 (QtDialogRunner::result):
26576 (QtDialogRunner::onAccepted):
26578 2011-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
26580 [Qt] Support wheel event together with resizesToContents
26582 Reviewed by Simon Hausmann.
26584 * UIProcess/API/qt/qquickwebpage.cpp:
26585 * UIProcess/qt/QtViewportInteractionEngine.cpp:
26586 (WebKit::QtViewportInteractionEngine::wheelEvent):
26587 * UIProcess/qt/QtViewportInteractionEngine.h:
26588 * UIProcess/qt/QtWebPageProxy.cpp:
26589 (QtWebPageProxy::handleWheelEvent):
26591 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26593 [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt
26594 https://bugs.webkit.org/show_bug.cgi?id=72696
26596 Reviewed by Kenneth Rohde Christiansen.
26598 Implement the WK2 desktop popup by simply subclassing QComboBox and doing the
26599 same thing as QtWebComboBox from WK1 (a few lines of code).
26601 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
26602 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
26603 (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
26604 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
26605 (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
26606 (WebKit::WebPopupMenuProxyQtDesktop::eventFilter):
26607 (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
26608 (WebKit::WebPopupMenuProxyQtDesktop::populate):
26609 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
26611 2011-11-18 Zeno Albisser <zeno@webkit.org>
26613 [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer.
26614 https://bugs.webkit.org/show_bug.cgi?id=72717
26616 Reviewed by Kenneth Rohde Christiansen.
26618 * UIProcess/qt/QtTapGestureRecognizer.cpp:
26619 (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine):
26620 * UIProcess/qt/QtTapGestureRecognizer.h:
26621 * UIProcess/qt/QtWebPageProxy.cpp:
26622 (QtWebPageProxy::setViewportInteractionEngine):
26623 * UIProcess/qt/QtWebPageProxy.h:
26625 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26627 [Qt][WK2] Fix popups for select elements.
26629 Reviewed by Tor Arne Vestbø.
26631 * UIProcess/qt/QtWebPageProxy.cpp:
26632 (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation
26633 for the moment. Better than nothing :)
26635 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26637 [Qt] Unreviewed debug build fix
26639 * UIProcess/qt/QtWebPageProxy.cpp:
26640 (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant
26643 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26645 [Qt] Removal of QtViewInterface part 3
26647 Reviewed by Kenneth Rohde Christiansen.
26649 Move the remaining forwarded calls from ClientImpl that went through
26650 ViewInterface and then PageProxy or WebView to go straight to
26651 QtWebPageProxy. QtViewInterface is empty now and therefore removed.
26654 * UIProcess/API/qt/qquickwebpage_p.h:
26655 * UIProcess/API/qt/qquickwebpage_p_p.h:
26656 * UIProcess/API/qt/qquickwebview.cpp:
26657 (QQuickWebViewPrivate::initialize):
26658 (QQuickWebViewPrivate::chooseFiles):
26659 * UIProcess/API/qt/qquickwebview_p.h:
26660 * UIProcess/API/qt/qquickwebview_p_p.h:
26661 * UIProcess/qt/ClientImpl.cpp:
26662 (qt_wk_runJavaScriptAlert):
26663 (qt_wk_runJavaScriptConfirm):
26664 (qt_wk_runJavaScriptPrompt):
26665 (qt_wk_setStatusText):
26666 (qt_wk_runOpenPanel):
26667 (qt_wk_mouseDidMoveOverElement):
26668 (setupPageUiClient):
26669 * UIProcess/qt/QtViewInterface.cpp: Removed.
26670 * UIProcess/qt/QtViewInterface.h: Removed.
26671 * UIProcess/qt/QtWebPageProxy.cpp:
26672 (QtWebPageProxy::QtWebPageProxy):
26673 (QtWebPageProxy::didChangeStatusText):
26674 (QtWebPageProxy::didMouseMoveOverElement):
26675 (QtWebPageProxy::showContextMenu):
26676 (QtWebPageProxy::hideContextMenu):
26677 (QtWebPageProxy::runJavaScriptAlert):
26678 (QtWebPageProxy::runJavaScriptConfirm):
26679 (QtWebPageProxy::runJavaScriptPrompt):
26680 (QtWebPageProxy::chooseFiles):
26681 (QtWebPageProxy::createContextMenuProxy):
26682 (QtWebPageProxy::didChangeLoadProgress):
26683 * UIProcess/qt/QtWebPageProxy.h:
26684 (QtWebPageProxy::contextMenuItemSelected):
26685 * UIProcess/qt/WebContextMenuProxyQt.cpp:
26686 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
26687 (WebKit::WebContextMenuProxyQt::create):
26688 (WebKit::WebContextMenuProxyQt::hideContextMenu):
26689 * UIProcess/qt/WebContextMenuProxyQt.h:
26691 2011-11-18 Zalan Bujtas <zbujtas@gmail.com>
26693 [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead.
26694 https://bugs.webkit.org/show_bug.cgi?id=72699
26696 The drawing area may be null, if the web process has crashed, but not yet recovered.
26697 Always null check against drawing area.
26699 Reviewed by Simon Hausmann.
26701 * UIProcess/qt/QtWebPageProxy.cpp:
26702 (QtWebPageProxy::setDrawingAreaSize):
26703 (QtWebPageProxy::setVisibleContentRectAndScale):
26704 (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
26706 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26708 [Qt] Removal of QtViewInterface part 2
26710 Reviewed by Kenneth Rohde Christiansen.
26712 Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then
26713 to QQuickWebView straight into QtWebPageProxy.
26715 * UIProcess/API/qt/qquickwebpage_p.h:
26716 * UIProcess/API/qt/qquickwebview.cpp:
26717 (QQuickWebViewPrivate::initialize):
26718 * UIProcess/API/qt/qquickwebview_p_p.h:
26719 * UIProcess/qt/QtViewInterface.cpp:
26720 * UIProcess/qt/QtViewInterface.h:
26721 * UIProcess/qt/QtWebPageProxy.cpp:
26722 (QtWebPageProxy::QtWebPageProxy):
26723 (QtWebPageProxy::setCursor):
26724 (QtWebPageProxy::isViewWindowActive):
26725 (QtWebPageProxy::isViewVisible):
26726 (QtWebPageProxy::pageDidRequestScroll):
26727 (QtWebPageProxy::didFinishFirstNonEmptyLayout):
26728 (QtWebPageProxy::didChangeContentsSize):
26729 (QtWebPageProxy::didChangeViewportProperties):
26730 (QtWebPageProxy::toolTipChanged):
26731 (QtWebPageProxy::didChangeUrl):
26732 (QtWebPageProxy::didChangeTitle):
26733 (QtWebPageProxy::loadDidBegin):
26734 (QtWebPageProxy::loadDidCommit):
26735 (QtWebPageProxy::loadDidSucceed):
26736 (QtWebPageProxy::loadDidFail):
26737 (QtWebPageProxy::didRelaunchProcess):
26738 (QtWebPageProxy::processDidCrash):
26739 (QtWebPageProxy::startDrag):
26740 (QtWebPageProxy::didReceiveDownloadResponse):
26741 * UIProcess/qt/QtWebPageProxy.h:
26743 2011-11-18 Simon Hausmann <simon.hausmann@nokia.com>
26745 [Qt] Removal of QtViewInterface part 1
26747 Reviewed by Kenneth Rohde Christiansen.
26749 Replace functions of QtViewInterface that forward to QQuickWebPage with direct
26750 usage of QQuickWebPage. Also removed some dead code.
26752 * UIProcess/API/qt/qquickwebpage.cpp:
26753 (QQuickWebPage::sceneGraphUpdateQueue):
26754 * UIProcess/API/qt/qquickwebpage_p.h:
26755 * UIProcess/API/qt/qquickwebview.cpp:
26756 (QQuickWebViewPrivate::initialize):
26757 * UIProcess/TiledDrawingAreaProxy.h:
26758 * UIProcess/qt/QtViewInterface.cpp:
26759 (WebKit::QtViewInterface::QtViewInterface):
26760 (WebKit::QtViewInterface::isVisible):
26761 * UIProcess/qt/QtViewInterface.h:
26762 * UIProcess/qt/QtWebPageProxy.cpp:
26763 (QtWebPageProxy::QtWebPageProxy):
26764 (QtWebPageProxy::setViewNeedsDisplay):
26765 (QtWebPageProxy::viewSize):
26766 (QtWebPageProxy::isViewFocused):
26767 (QtWebPageProxy::isViewVisible):
26768 (QtWebPageProxy::didRelaunchProcess):
26769 * UIProcess/qt/QtWebPageProxy.h:
26770 (QtWebPageProxy::qmlWebPage):
26771 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
26773 2011-11-17 Simon Hausmann <simon.hausmann@nokia.com>
26775 [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
26776 https://bugs.webkit.org/show_bug.cgi?id=72597
26778 Reviewed by Kenneth Rohde Christiansen.
26780 Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission
26783 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
26784 (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
26785 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
26787 2011-11-17 Martin Robinson <mrobinson@igalia.com>
26789 [GTK] The process freezes when you right click on windowless Flash
26790 https://bugs.webkit.org/show_bug.cgi?id=69123
26792 Reviewed by Xan Lopez.
26794 Add a new plugin quirk for dealing with right-clicking on
26795 windowless Flash on x86_64 machines. This already exists for
26798 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
26799 (WebKit::NetscapePluginModule::determineQuirks): If the plugin is
26800 Flash and we are on x86_64, then disable sending right-clicking
26801 events while in windowless mode.
26802 * Shared/Plugins/PluginQuirks.h: Add the new quirk.
26803 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
26804 (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk
26805 is active don't send right click events.
26807 2011-11-17 Igor Oliveira <igor.oliveira@openbossa.org>
26809 [WK2] Fix TransformOperation serialization
26810 https://bugs.webkit.org/show_bug.cgi?id=72625
26812 SimpleArgumentCoder can encode and decode just POD types. And according the
26813 ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation
26814 has pure virtual methods.
26816 This patch fixes TransformOperation subclass serialization.
26818 Reviewed by Noam Rosenthal.
26820 * Shared/WebCoreArgumentCoders.cpp:
26821 (CoreIPC::::encode):
26822 (CoreIPC::::decode):
26823 (CoreIPC::encodeOperation):
26824 (CoreIPC::decodeOperation):
26825 * Shared/WebCoreArgumentCoders.h:
26827 2011-11-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
26829 [Qt][WK2] Fix zero sized views in all QML tests
26830 https://bugs.webkit.org/show_bug.cgi?id=72633
26832 Reviewed by Noam Rosenthal.
26834 After r100590, zero sized WebViews are no longer supported and,
26835 therefore, the QML API tests need to be fixed.
26837 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
26838 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
26839 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
26840 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed.
26841 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
26842 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
26843 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26845 2011-11-17 Alexis Menard <alexis.menard@openbossa.org>
26847 [Qt][WK2] Don't export the private QQuickView.
26849 Reviewed by Kenneth Rohde Christiansen.
26851 We don't need to export that class anymore as the experimental QML plugin
26852 does not expose this object anymore.
26854 * UIProcess/API/qt/qquickwebview_p_p.h:
26856 2011-11-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
26858 [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API
26859 https://bugs.webkit.org/show_bug.cgi?id=72610
26861 Reviewed by Kenneth Rohde Christiansen.
26863 * UIProcess/API/qt/qquickwebview_p.h:
26865 2011-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
26867 Print warning for the Qt port when a process crashes and is relaunched
26868 https://bugs.webkit.org/show_bug.cgi?id=72607
26870 Reviewed by Antonio Gomes.
26872 Make the QtViewInterface::processDidCrash take a URL string argument,
26873 for being able to say which url was the origin of the crash.
26875 We now additionally store the load state and url at process exit. This
26876 is needed for printing the warning and for further crash handling.
26878 * UIProcess/PageClient.h:
26879 * UIProcess/WebPageProxy.cpp:
26880 (WebKit::WebPageProxy::processDidCrash):
26881 * UIProcess/qt/QtViewInterface.cpp:
26882 (WebKit::QtViewInterface::processDidCrash):
26883 (WebKit::QtViewInterface::didRelaunchProcess):
26884 * UIProcess/qt/QtViewInterface.h:
26885 * UIProcess/qt/QtWebPageProxy.cpp:
26886 (QtWebPageProxy::processDidCrash):
26887 * UIProcess/qt/QtWebPageProxy.h:
26889 2011-11-17 Alexis Menard <alexis.menard@openbossa.org>
26891 [Qt][WK2] Cleanup dead code in QtWebPageProxy.
26892 https://bugs.webkit.org/show_bug.cgi?id=72608
26894 Reviewed by Simon Hausmann.
26896 Remove some dead code after we merged our views.
26897 QQuickWebView is now using AC which means that this
26898 path is never called now.
26900 * UIProcess/qt/QtWebPageProxy.cpp:
26901 (QtWebPageProxy::didReceiveDownloadResponse):
26902 * UIProcess/qt/QtWebPageProxy.h:
26904 2011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
26906 [Qt] Remove forwarding header for WebKit2 C API
26908 The Qt port of WebKit does not provide a C-API for the View classes.
26910 Reviewed by Simon Hausmann.
26912 * UIProcess/API/C/WebKit2.h:
26913 * UIProcess/API/qt/WKView.h: Removed.
26915 2011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
26917 [Qt] Resolve import and web-process paths automatically for QML tests
26919 Reviewed by Kenneth Rohde Christiansen.
26921 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26922 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26925 2011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
26927 [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that
26929 A new extension object has been added to QQuickWebView (the same approach should be used
26930 for other API classes that need experimental APIs). The QML extension mechanism is then
26931 built on top of the experimental object.
26933 https://bugs.webkit.org/show_bug.cgi?id=72522
26935 Reviewed by Simon Hausmann.
26938 * UIProcess/API/qt/qquickwebpage.cpp:
26939 * UIProcess/API/qt/qquickwebpage.h: Removed.
26940 * UIProcess/API/qt/qquickwebpage_p.h:
26941 * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h.
26942 * UIProcess/API/qt/qquickwebview.cpp:
26943 (QQuickWebViewExperimental::QQuickWebViewExperimental):
26944 (QQuickWebViewExperimental::~QQuickWebViewExperimental):
26945 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
26946 (QQuickWebView::QQuickWebView):
26947 (QQuickWebView::experimental):
26948 * UIProcess/API/qt/qquickwebview.h: Removed.
26949 * UIProcess/API/qt/qquickwebview_p.h:
26950 * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h.
26951 * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed.
26952 * UIProcess/API/qt/qwebdownloaditem.cpp:
26953 * UIProcess/API/qt/qwebdownloaditem.h: Removed.
26954 * UIProcess/API/qt/qwebdownloaditem_p.h:
26955 * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h.
26956 (QWebDownloadItemPrivate::didReceiveResponse):
26957 * UIProcess/API/qt/qwebpreferences.cpp:
26958 * UIProcess/API/qt/qwebpreferences.h: Removed.
26959 * UIProcess/API/qt/qwebpreferences_p.h:
26960 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26961 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26962 (DesktopWebView::DesktopWebView):
26963 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
26964 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26965 * UIProcess/qt/QtDownloadManager.cpp:
26966 * UIProcess/qt/QtViewInterface.cpp:
26967 * UIProcess/qt/QtWebError.h:
26968 * UIProcess/qt/QtWebPageProxy.cpp:
26970 2011-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
26972 Unreviewed build fix.
26974 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26975 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26977 2011-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
26979 Make use-fixed-layout work reliable
26980 https://bugs.webkit.org/show_bug.cgi?id=72511
26982 Reviewed by Simon Hausmann.
26984 The code handling use-fixed-layout wasn't 100% reliable. The code
26985 was changed to make sure the value is always correct.
26987 It also doesn't set the value by looking at the previous FrameView,
26988 as that wouldn't work in cases, such as when the web process has
26991 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26992 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26993 * WebProcess/WebPage/WebPage.cpp:
26994 (WebKit::WebPage::WebPage):
26995 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
26996 (WebKit::WebPage::setUseFixedLayout):
26997 * WebProcess/WebPage/WebPage.h:
26998 (WebKit::WebPage::useFixedLayout):
27000 Store the state as m_useFixedLayout so that it can be used
27001 from the WebFrameLoaderClient.
27003 2011-11-17 Zalan Bujtas <zbujtas@gmail.com>
27005 [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout.
27006 https://bugs.webkit.org/show_bug.cgi?id=72508
27008 Delay applying viewport properties on the viewport item until after the first visually non-empty
27009 layout finished. It enables the viewport to be intact until the new page is ready to be rendered.
27011 Reviewed by Kenneth Rohde Christiansen.
27013 * UIProcess/API/qt/qquickwebview.cpp:
27014 (QQuickWebViewPrivate::QQuickWebViewPrivate):
27015 (QQuickWebViewPrivate::loadDidCommit):
27016 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
27017 (QQuickWebViewPrivate::didChangeContentsSize):
27018 (QQuickWebViewPrivate::didChangeViewportProperties):
27019 (QQuickWebViewPrivate::updateViewportSize):
27020 (QQuickWebViewPrivate::computeViewportConstraints):
27021 * UIProcess/API/qt/qquickwebview_p.h:
27022 (PostTransitionState::isTransitioningToNewPage):
27023 * UIProcess/qt/ClientImpl.cpp:
27024 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
27025 (setupPageLoaderClient):
27026 * UIProcess/qt/QtViewInterface.cpp:
27027 (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout):
27028 (WebKit::QtViewInterface::didChangeContentsSize):
27029 (WebKit::QtViewInterface::didChangeViewportProperties):
27030 (WebKit::QtViewInterface::startDrag):
27031 * UIProcess/qt/QtViewInterface.h:
27032 * UIProcess/qt/QtViewportInteractionEngine.cpp:
27033 (WebKit::QtViewportInteractionEngine::reset):
27034 (WebKit::QtViewportInteractionEngine::applyConstraints):
27035 * UIProcess/qt/QtViewportInteractionEngine.h:
27036 * UIProcess/qt/QtWebPageProxy.cpp:
27037 (QtWebPageProxy::didFinishFirstNonEmptyLayout):
27038 (QtWebPageProxy::didChangeContentsSize):
27039 (QtWebPageProxy::didChangeViewportProperties):
27040 (QtWebPageProxy::startDrag):
27041 * UIProcess/qt/QtWebPageProxy.h:
27043 2011-11-17 Eunmi Lee <eunmi15.lee@samsung.com>
27045 Reviewed by Martin Robinson.
27047 [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27048 https://bugs.webkit.org/show_bug.cgi?id=62444
27050 Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27051 The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port
27055 * UIProcess/BackingStore.h:
27056 * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp.
27057 (WebKit::BackingStore::paint):
27058 (WebKit::BackingStore::incorporateUpdate):
27059 (WebKit::BackingStore::scroll):
27061 2011-11-17 Nayan Kumar K <nayankk@motorola.com>
27063 [WebKit2][gtk] Add few more properties to WebKitSettings
27064 https://bugs.webkit.org/show_bug.cgi?id=72468
27066 Reviewed by Martin Robinson.
27068 Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas'
27069 and 'enable-tabs-to-links' properties to WebKitSettings.
27071 * UIProcess/API/gtk/WebKitSettings.cpp:
27072 (webKitSettingsSetProperty): Add new set functions.
27073 (webKitSettingsGetProperty): Add new get functions.
27074 (webkit_settings_class_init): Add new properties.
27075 (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property.
27076 (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property.
27077 (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property.
27078 (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property.
27079 (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property.
27080 (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property.
27081 (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property.
27082 (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property.
27083 * UIProcess/API/gtk/WebKitSettings.h: New public APIs added.
27084 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added.
27085 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27086 (testWebKitSettings): Add new tests.
27088 2011-11-17 Carlos Garcia Campos <cgarcia@igalia.com>
27090 Unreviewed. Fix WebKit2 GTK+ build after r100569.
27092 * WebProcess/Downloads/soup/DownloadSoup.cpp:
27093 (WebKit::DownloadClient::didReceiveResponse):
27095 2011-11-17 Nayan Kumar K <nayankk@motorola.com>
27097 [WebKit2][gtk] Fix assert while running TestWebKitSettings
27098 https://bugs.webkit.org/show_bug.cgi?id=72469
27100 Reviewed by Martin Robinson.
27102 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27103 (testWebKitSettings): Correct the test.
27105 2011-11-16 Carlos Garcia Campos <cgarcia@igalia.com>
27107 [GTK] Use a URI instead of local path to create download destination in WebKit2
27108 https://bugs.webkit.org/show_bug.cgi?id=72500
27110 Reviewed by Philippe Normand.
27112 * WebProcess/Downloads/soup/DownloadSoup.cpp:
27113 (WebKit::DownloadClient::didReceiveResponse): Use
27114 g_file_new_for_uri() instad of g_file_new_for_path(). Also use
27115 adoptGRef to fix a memory leak.
27117 2011-11-16 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
27119 [Qt] Fix build after WTR AX support
27120 https://bugs.webkit.org/show_bug.cgi?id=72560
27122 Reviewed by Geoffrey Garen.
27124 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27125 (WKAccessibilityRootObject):
27126 (WKAccessibilityFocusedObject):
27128 2011-11-11 Adrienne Walker <enne@google.com>
27130 [chromium] Expose mock scrollbars to window.internals
27131 https://bugs.webkit.org/show_bug.cgi?id=72195
27133 Reviewed by James Robinson.
27136 * win/WebKit2CFLite.def:
27138 2011-11-16 Dan Bernstein <mitz@apple.com>
27140 WebKit2 part of <rdar://problem/10262242> Add API for paginated display
27141 https://bugs.webkit.org/show_bug.cgi?id=72537
27143 Reviewed by Anders Carlsson.
27145 * Shared/WebPageCreationParameters.cpp:
27146 (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages.
27147 (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages.
27148 * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members.
27149 * UIProcess/API/C/WKPage.cpp:
27150 (WKPageSetPaginationMode): Added this API wrapper.
27151 (WKPageGetPaginationMode): Ditto.
27152 (WKPageSetGapBetweenPages): Ditto.
27153 (WKPageGetGapBetweenPages): Ditto.
27154 (WKPageGetPageCount): Ditto.
27155 * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and
27157 * UIProcess/API/mac/WKBrowsingContextController.mm:
27158 (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper.
27159 (-[WKBrowsingContextController paginationMode]): Ditto.
27160 (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
27161 (-[WKBrowsingContextController gapBetweenPages]): Ditto.
27162 (-[WKBrowsingContextController pageCount]): Ditto.
27163 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition
27164 of WKBrowsingContextPaginationMode and property declarations.
27165 * UIProcess/WebPageProxy.cpp:
27166 (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages,
27168 (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends
27169 a message to the WebPage.
27170 (WebKit::WebPageProxy::setGapBetweenPages): Ditto.
27171 (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the
27172 creation parameters.
27173 (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count.
27174 * UIProcess/WebPageProxy.h:
27175 (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value.
27176 (WebKit::WebPageProxy::gapBetweenPages): Ditto.
27177 (WebKit::WebPageProxy::pageCount): Ditto.
27178 * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes
27180 * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h.
27181 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27182 (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(),
27183 allowing the page to respond to changes in the column count.
27184 * WebProcess/WebPage/WebPage.cpp:
27185 (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount.
27186 (WebKit::WebPage::setPaginationMode): Added.
27187 (WebKit::WebPage::setGapBetweenPages): Added.
27188 (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process
27189 if the page count has changed.
27190 * WebProcess/WebPage/WebPage.h:
27191 * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages.
27193 2011-11-16 Chris Fleizach <cfleizach@apple.com>
27195 WebKitTestRunner needs to support accessibility-related DRT APIs
27196 https://bugs.webkit.org/show_bug.cgi?id=42131
27198 Allow the injected bundle to retrieve the focused and root accessibility
27201 Reviewed by Beth Dakin.
27203 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27204 (WKAccessibilityRootObject):
27205 (WKAccessibilityFocusedObject):
27206 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
27208 2011-11-16 Beth Dakin <bdakin@apple.com>
27210 https://bugs.webkit.org/show_bug.cgi?id=72400
27211 Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
27212 -and corresponding-
27213 <rdar://problem/10409328>
27215 Reviewed by Darin Adler.
27217 Set up our initial tracking area based on the currently recommended scrollbar
27218 style. Track the mouse all the time if the style is legacy.
27219 * UIProcess/API/mac/WKView.mm:
27220 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
27222 Now that we might be getting mouseMoved events all the time even when the window
27223 is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for
27224 EventHandler::mouseMoved() when the window is not focused.
27225 * WebProcess/WebPage/WebPage.cpp:
27226 (WebKit::handleMouseEvent):
27227 (WebKit::WebPage::mouseEvent):
27228 (WebKit::WebPage::mouseEventSyncForTesting):
27230 2011-11-16 Martin Robinson <mrobinson@igalia.com>
27232 [GTK][WEBKIT2] Link error running gtkdoc-scangobj
27233 https://bugs.webkit.org/show_bug.cgi?id=72365
27235 Reviewed by Xan Lopez.
27237 * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig
27238 file so that the compiler links to it.
27240 2011-11-16 Balazs Kelemen <kbalazs@webkit.org>
27242 [WK2][X11] Don't leak the colormap we created for the plugin
27243 https://bugs.webkit.org/show_bug.cgi?id=72144
27245 Reviewed by Xan Lopez.
27247 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
27248 (WebKit::NetscapePlugin::platformDestroy):
27250 2011-11-16 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
27252 [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error
27253 https://bugs.webkit.org/show_bug.cgi?id=72392
27255 Reviewed by Simon Hausmann.
27257 Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track
27258 deallocation of referenced object.
27260 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
27261 (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard):
27262 (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard):
27264 2011-11-16 Zeno Albisser <zeno@webkit.org>
27266 [Qt][WK2][Mac] MiniBrowser cannot create socketpair.
27267 https://bugs.webkit.org/show_bug.cgi?id=72389
27269 Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET.
27271 Reviewed by Tor Arne Vestbø.
27273 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
27275 2011-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
27277 [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API
27278 https://bugs.webkit.org/show_bug.cgi?id=72380
27280 Reviewed by Martin Robinson.
27282 It adds an initial implementation of WebKitNetworkRequest
27283 class that only contains a URI for now.
27286 * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added.
27287 (webkitNetworkRequestFinalize):
27288 (webkitNetworkRequestGetProperty):
27289 (webkitNetworkRequestSetProperty):
27290 (webkit_network_request_class_init):
27291 (webkit_network_request_init):
27292 (webkit_network_request_new):
27293 (webkit_network_request_get_uri):
27294 * UIProcess/API/gtk/WebKitNetworkRequest.h: Added.
27295 * UIProcess/API/gtk/WebKitWebView.cpp:
27296 (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load
27297 the given WebKitNetworkRequest.
27298 * UIProcess/API/gtk/WebKitWebView.h:
27299 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
27300 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
27303 * UIProcess/API/gtk/tests/WebViewTest.cpp:
27304 (WebViewTest::loadRequest):
27305 * UIProcess/API/gtk/tests/WebViewTest.h:
27306 * UIProcess/API/gtk/webkit2.h:
27308 2011-11-15 Andy Estes <aestes@apple.com>
27310 Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
27311 https://bugs.webkit.org/show_bug.cgi?id=72106
27313 Reviewed by Anders Carlsson.
27315 Remove code that schedules layer flushes and use LayerFlushScheduler instead.
27317 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace
27318 m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler
27319 and implement the LayerFlushSchedulerClient interface.
27320 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
27321 (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate
27322 m_layerFlushScheduler with the LayerTreeHost as the client.
27323 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
27324 (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule().
27325 (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call
27326 LayerFlushScheduler::suspend() or LayerFlushScheduler::resume().
27327 (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate().
27328 (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that
27329 flushPendingLayerChangesRunLoopObserverCallback() used to do.
27330 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate().
27332 2011-11-15 Sam Weinig <sam@webkit.org>
27334 Add a connection client to the WKContext, to notify when new connections to the WebProcess are established
27335 https://bugs.webkit.org/show_bug.cgi?id=72433
27337 Reviewed by Anders Carlsson.
27339 * UIProcess/API/C/WKContext.cpp:
27340 (WKContextSetConnectionClient):
27341 * UIProcess/API/C/WKContext.h:
27342 * UIProcess/WebContext.cpp:
27343 (WebKit::WebContext::initializeConnectionClient):
27344 * UIProcess/WebContext.h:
27345 Add connection client API.
27347 * UIProcess/WebContextConnectionClient.cpp: Added.
27348 (WebKit::WebContextConnectionClient::didCreateConnection):
27349 * UIProcess/WebContextConnectionClient.h: Added.
27350 Add basic implementation of the client. It is currently never triggered.
27352 2011-11-15 Jongseok Yang <js45.yang@samsung.com>
27354 [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2
27355 https://bugs.webkit.org/show_bug.cgi?id=72235
27357 Reviewed by Gustavo Noronha Silva.
27359 Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy.
27360 It's required when using the soup network backend.
27361 Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and
27362 EFL port use soup network backend without a network backend of their own.
27365 * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed.
27366 * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed.
27367 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added.
27368 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
27369 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
27371 2011-11-15 Jochen Eisinger <jochen@chromium.org>
27373 Rename ReferrerPolicy to clarify its meaning
27374 https://bugs.webkit.org/show_bug.cgi?id=72420
27376 Reviewed by Nate Chapin.
27378 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
27379 (WebKit::WebContextMenuClient::searchWithGoogle):
27380 * WebProcess/WebPage/WebPage.cpp:
27381 (WebKit::WebPage::linkClicked):
27383 2011-11-15 Sam Weinig <sam@webkit.org>
27387 * win/WebKit2Generated.make:
27389 2011-11-15 Sam Weinig <sam@webkit.org>
27391 Add WebKit2 API object to represent a connection
27392 https://bugs.webkit.org/show_bug.cgi?id=72421
27394 Reviewed by Anders Carlsson.
27398 * WebKit2.xcodeproj/project.pbxproj:
27399 * win/WebKit2.vcproj:
27402 * Shared/API/c/WKBase.h:
27405 * Shared/API/c/WKConnectionRef.cpp: Added.
27406 (WKConnectionGetTypeID):
27407 (WKConnectionSetConnectionClient):
27408 (WKConnectionPostMessage):
27409 * Shared/API/c/WKConnectionRef.h: Added.
27410 Expose interface. Currently no support for synchronous messages.
27412 * Shared/API/c/WKSharedAPICast.h:
27413 Define relationship between WebConnection <-> WKConnectionRef.
27415 * Shared/APIObject.h:
27418 * Shared/WebConnection.cpp: Added.
27419 (WebKit::WebConnection::~WebConnection):
27420 (WebKit::WebConnection::initializeConnectionClient):
27421 * Shared/WebConnection.h: Added.
27422 (WebKit::WebConnection::type):
27423 Sketch out the connection object. It is currently abstract
27424 to allow different implementations for the UI and WebProcess sides
27425 while retaining the same interface.
27427 * Shared/WebConnectionClient.cpp: Added.
27428 (WebKit::WebConnectionClient::didReceiveMessage):
27429 (WebKit::WebConnectionClient::didClose):
27430 * Shared/WebConnectionClient.h: Added.
27433 * UIProcess/API/C/WebKit2.h:
27436 2011-11-15 Chris Fleizach2 <cfleizach@apple.com>
27438 AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue:
27439 https://bugs.webkit.org/show_bug.cgi?id=72344
27441 Reviewed by Beth Dakin.
27443 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
27444 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
27446 2011-11-15 Anders Carlsson <andersca@apple.com>
27448 HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
27449 https://bugs.webkit.org/show_bug.cgi?id=72397
27451 Reviewed by Dan Bernstein.
27453 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27454 (WebKit::WebChromeClient::screenToRootView):
27455 (WebKit::WebChromeClient::rootViewToScreen):
27456 * WebProcess/WebCoreSupport/WebChromeClient.h:
27458 2011-11-14 Anders Carlsson <andersca@apple.com>
27460 HostWindow invalidation functions should use root view coordinates
27461 https://bugs.webkit.org/show_bug.cgi?id=72338
27463 Reviewed by Dan Bernstein.
27465 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27466 (WebKit::WebChromeClient::invalidateRootView):
27467 (WebKit::WebChromeClient::invalidateContentsAndRootView):
27468 * WebProcess/WebCoreSupport/WebChromeClient.h:
27470 2011-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
27472 [GTK] Implement download support in WebKit2
27473 https://bugs.webkit.org/show_bug.cgi?id=72258
27475 Reviewed by Martin Robinson.
27477 * WebProcess/Downloads/Download.h:
27478 * WebProcess/Downloads/soup/DownloadSoup.cpp:
27479 (WebKit::DownloadClient::DownloadClient):
27480 (WebKit::DownloadClient::downloadFailed):
27481 (WebKit::DownloadClient::didReceiveResponse):
27482 (WebKit::DownloadClient::didReceiveData):
27483 (WebKit::DownloadClient::didFinishLoading):
27484 (WebKit::DownloadClient::didFail):
27485 (WebKit::DownloadClient::wasBlocked):
27486 (WebKit::DownloadClient::cannotShowURL):
27487 (WebKit::Download::start):
27488 (WebKit::Download::startWithHandle):
27489 (WebKit::Download::cancel):
27490 (WebKit::Download::platformInvalidate):
27492 2011-11-15 Mario Sanchez Prada <msanchez@igalia.com>
27494 [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
27495 https://bugs.webkit.org/show_bug.cgi?id=72267
27497 Reviewed by Martin Robinson.
27499 Allow getting and setting the 'enable-caret-browsing' property
27500 through WebKitSettings.
27502 * UIProcess/API/gtk/WebKitSettings.cpp:
27503 (webKitSettingsSetProperty): Added property setter.
27504 (webKitSettingsGetProperty): Added propery getter.
27505 (webkit_settings_class_init): Install property.
27506 (webkit_settings_get_enable_caret_browsing): Added.
27507 (webkit_settings_set_enable_caret_browsing): Added.
27508 * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
27509 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
27510 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27511 (testWebKitSettings): Added new API test.
27513 2011-11-14 Julien Chaffraix <jchaffraix@webkit.org>
27515 Add --css-grid-layout to build-webkit and the build systems
27516 https://bugs.webkit.org/show_bug.cgi?id=72320
27518 Reviewed by Ojan Vafai.
27520 * Configurations/FeatureDefines.xcconfig:
27522 2011-11-14 Tony Chang <tony@chromium.org>
27524 Remove the CSS3_FLEXBOX compile time flag and enable on all ports
27525 https://bugs.webkit.org/show_bug.cgi?id=72196
27527 Reviewed by Ojan Vafai.
27529 * Configurations/FeatureDefines.xcconfig:
27531 2011-11-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
27533 Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
27534 https://bugs.webkit.org/show_bug.cgi?id=72299
27536 Reviewed by Noam Rosenthal.
27538 Added check that clipping rect is valid.
27539 Clear GL error that might remain from QT GL operations.
27540 Added GL error assert for scissor test operations.
27542 * UIProcess/API/qt/qquickwebpage.cpp:
27543 (QQuickWebPagePrivate::paintToCurrentGLContext):
27545 2011-11-14 Anders Carlsson <andersca@apple.com>
27547 Only send progress notifications for the main frame
27548 https://bugs.webkit.org/show_bug.cgi?id=72302
27550 Reviewed by Sam Weinig.
27552 Since it's impossible in the API to tell which frame the progress notifications are for, just send them to the main frame for now.
27554 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27555 (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
27556 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
27557 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
27559 2011-11-14 Alexis Menard <alexis.menard@openbossa.org>
27561 [Qt][WK2] Cleanup QML tests.
27562 https://bugs.webkit.org/show_bug.cgi?id=72259
27564 Reviewed by Simon Hausmann.
27566 Cleanup QML tests. This patch removes the duplicates after the merge of both views.
27567 I also isolated the desktop specific bits into its own directory.
27569 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml.
27570 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml.
27571 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml.
27572 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml.
27573 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed.
27574 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed.
27575 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed.
27576 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed.
27577 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed.
27578 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed.
27579 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed.
27580 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml.
27581 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml.
27582 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml.
27583 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml.
27584 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml.
27585 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml.
27586 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
27588 2011-11-14 Mario Sanchez Prada <msanchez@igalia.com>
27590 Add support for the caretBrowsingEnabled preference in WebKit2
27591 https://bugs.webkit.org/show_bug.cgi?id=72266
27593 Reviewed by Chris Fleizach.
27595 * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter
27597 * UIProcess/API/C/WKPreferences.h:
27598 * UIProcess/API/C/WKPreferences.cpp:
27599 (WKPreferencesSetCaretBrowsingEnabled): Added.
27600 (WKPreferencesGetCaretBrowsingEnabled): Added.
27601 * WebProcess/WebPage/WebPage.cpp:
27602 (WebKit::WebPage::updatePreferences): Update the
27603 caretBrowsingEnabledKey preference.
27605 2011-11-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
27607 [Qt] Remove reference to QWebNavigationController
27608 https://bugs.webkit.org/show_bug.cgi?id=72257
27610 Reviewed by Simon Hausmann.
27612 QWebNavigationController was removed in r99946, this is just a leftover.
27614 * UIProcess/API/qt/qquickwebview.cpp:
27615 (QQuickWebViewPrivate::QQuickWebViewPrivate):
27616 * UIProcess/API/qt/qquickwebview_p.h:
27618 2011-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
27620 [Qt] the QQuickWebView should support double-tap to zoom
27621 https://bugs.webkit.org/show_bug.cgi?id=72030
27623 Reviewed by Andreas Kling.
27625 * UIProcess/qt/QtViewInterface.cpp:
27626 * UIProcess/qt/QtViewInterface.h:
27627 * UIProcess/qt/QtViewportInteractionEngine.cpp:
27628 (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
27629 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
27630 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
27631 * UIProcess/qt/QtViewportInteractionEngine.h:
27632 * UIProcess/qt/QtWebPageProxy.cpp:
27633 (QtWebPageProxy::didFindZoomableArea):
27635 2011-11-14 Zalan Bujtas <zbujtas@gmail.com>
27637 Build breaks with --no-javascript-debugger --no-inspector
27638 https://bugs.webkit.org/show_bug.cgi?id=72228
27640 Reviewed by Simon Hausmann.
27642 * UIProcess/WebPageProxy.cpp:
27643 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
27645 2011-11-13 Mark Rowe <mrowe@apple.com>
27647 Fix the 32-bit build.
27649 * WebProcess/mac/WebProcessMac.mm:
27650 (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures.
27652 2011-11-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
27654 [Qt][Symbian] Remove support for WINSCW compiler
27655 https://bugs.webkit.org/show_bug.cgi?id=70178
27657 Reviewed by Chang Shu.
27659 * Shared/API/c/WKString.h:
27661 2011-11-12 Dan Bernstein <mitz@apple.com>
27663 <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off)
27664 https://bugs.webkit.org/show_bug.cgi?id=72217
27666 Reviewed by Dave Hyatt.
27668 * UIProcess/API/mac/PageClientImpl.mm:
27669 (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender
27670 to the top of the text rect to establish the baseline here...
27671 * WebProcess/WebPage/mac/WebPageMac.mm:
27672 (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s
27673 ascender, which is what’s actually used when drawing the text.
27675 2011-11-11 Nayan Kumar K <nayankk@motorola.com>
27677 [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings
27678 https://bugs.webkit.org/show_bug.cgi?id=68996
27680 Reviewed by Martin Robinson.
27682 Provision to query and set the font related properties (such as
27683 font-family, font-size) and charset properties (such as default-
27686 * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties.
27687 (webKitSettingsSetProperty): GObject set property function.
27688 (webKitSettingsGetProperty): GObject get property function.
27689 (webkit_settings_class_init): Few more signals installed.
27690 (webkit_settings_init): Initialization of instance variables.
27691 (webkit_web_settings_get_default_font_family): Get 'default-font-family'.
27692 (webkit_web_settings_set_default_font_family): Set 'default-font-family'.
27693 (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'.
27694 (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'.
27695 (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'.
27696 (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'.
27697 (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'.
27698 (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'.
27699 (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'.
27700 (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'.
27701 (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'.
27702 (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'.
27703 (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'.
27704 (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'.
27705 (webkit_web_settings_get_default_font_size): Get 'default-font-size'.
27706 (webkit_web_settings_set_default_font_size): Set 'default-font-size'.
27707 (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'.
27708 (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'.
27709 (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'.
27710 (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'.
27711 (webkit_web_settings_get_default_charset): Get 'default-charset'.
27712 (webkit_web_settings_set_default_charset): Set 'default-charset'.
27713 * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation.
27714 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs.
27715 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27716 (testWebKitSettings): Add new tests.
27718 2011-11-11 Shinya Kawanaka <shinyak@google.com>
27720 Implement legacy text check emulation in unified text check interface.
27721 https://bugs.webkit.org/show_bug.cgi?id=70299
27723 Reviewed by Hajime Morita.
27726 * win/WebKit2CFLite.def:
27728 2011-11-11 Alexey Proskuryakov <ap@apple.com>
27730 WebProcess should use AppSandbox style quarantine
27731 https://bugs.webkit.org/show_bug.cgi?id=72168
27732 <rdar://problem/10434292>
27734 Reviewed by Darin Adler.
27736 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it.
27738 2011-11-11 Darin Adler <darin@apple.com>
27740 * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
27741 If an older Xcode downgrades this file and we have a risk of some kind of
27742 oscillating commit situation, please contact me so I know not to do this again.
27744 2011-11-11 Mark Hahnenberg <mhahnenberg@apple.com>
27746 Add jsCast to replace static_cast
27747 https://bugs.webkit.org/show_bug.cgi?id=72071
27749 Reviewed by Geoffrey Garen.
27751 Added new jsCast and changed all of the static_cast sites in functions that
27752 are in the MethodTable to use jsCast instead.
27754 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
27755 (WebKit::JSNPObject::getCallData):
27756 (WebKit::JSNPObject::getConstructData):
27757 (WebKit::JSNPObject::getOwnPropertySlot):
27758 (WebKit::JSNPObject::getOwnPropertyDescriptor):
27759 (WebKit::JSNPObject::put):
27760 (WebKit::JSNPObject::deleteProperty):
27761 (WebKit::JSNPObject::deletePropertyByIndex):
27762 (WebKit::JSNPObject::getOwnPropertyNames):
27764 2011-11-11 Timothy Hatcher <timothy@apple.com>
27766 Only use the textured window style mask when there is no override inspector page.
27768 https://webkit.org/b/72142
27770 Reviewed by Dan Bernstein.
27772 * UIProcess/mac/WebInspectorProxyMac.mm:
27773 (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if
27774 there is an override inspector page. Make setAutorecalculatesContentBorderThickness:,
27775 setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional.
27777 2011-11-11 Simon Hausmann <simon.hausmann@nokia.com>
27779 [Qt] Remove dead MeeGoTouch code.
27781 Reviewed by Tor Arne Vestbø.
27783 * WebProcess/qt/WebProcessMainQt.cpp:
27784 (WebKit::WebProcessMainQt):
27786 2011-11-11 Alexis Menard <alexis.menard@openbossa.org>
27788 [Qt] Add a way to have experimental features in WebKit2
27789 https://bugs.webkit.org/show_bug.cgi?id=67707
27791 Reviewed by Kenneth Rohde Christiansen.
27793 Add new QML extensions for our public view. This extension
27794 returns the private object of the view so that the user could
27795 use unstable/unreleased APIs. This requires our private class
27796 to be exported and QObject subclass.
27799 * UIProcess/API/qt/qquickwebview.cpp:
27800 * UIProcess/API/qt/qquickwebview_p.h:
27801 * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added.
27802 (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension):
27803 (QQuickWebViewPrivateExtension::viewPrivate):
27804 * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added.
27806 2011-11-11 Simon Hausmann <simon.hausmann@nokia.com>
27808 [Qt][WK2] Remove QWebNavigationController
27809 https://bugs.webkit.org/show_bug.cgi?id=72113
27811 Reviewed by Andreas Kling.
27813 Fold the functions and properties of QWebNavigationController into
27817 * UIProcess/API/qt/WKView.h:
27818 * UIProcess/API/qt/qquickwebpage.cpp:
27819 (QQuickWebPagePrivate::QQuickWebPagePrivate):
27820 * UIProcess/API/qt/qquickwebpage.h:
27821 * UIProcess/API/qt/qquickwebpage_p.h:
27822 * UIProcess/API/qt/qquickwebview.cpp:
27823 (QQuickWebViewPrivate::initialize):
27824 (QQuickWebView::goBack):
27825 (QQuickWebView::goForward):
27826 (QQuickWebView::stop):
27827 (QQuickWebView::reload):
27828 (QQuickWebView::canGoBack):
27829 (QQuickWebView::canGoForward):
27830 (QQuickWebView::canStop):
27831 (QQuickWebView::canReload):
27832 (QQuickWebView::title):
27833 * UIProcess/API/qt/qquickwebview.h:
27834 * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed.
27835 * UIProcess/API/qt/qwebnavigationcontroller.h: Removed.
27836 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
27837 (tst_QQuickWebView::navigationStatusAtStartup):
27838 (LoadStartedCatcher::onLoadStarted):
27839 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
27840 (tst_QQuickWebView::backAndForward):
27841 (tst_QQuickWebView::reload):
27842 (tst_QQuickWebView::stop):
27844 2011-11-10 Beth Dakin <bdakin@apple.com>
27846 Once more for the QT build.
27848 * UIProcess/qt/QtWebPageProxy.cpp:
27849 (QtWebPageProxy::setFindIndicator):
27850 * UIProcess/qt/QtWebPageProxy.h:
27852 2011-11-10 Beth Dakin <bdakin@apple.com>
27854 More attempted build fix.
27856 * UIProcess/API/efl/PageClientImpl.cpp:
27857 (WebKit::PageClientImpl::setFindIndicator):
27858 * UIProcess/API/efl/PageClientImpl.h:
27859 * UIProcess/API/gtk/PageClientImpl.cpp:
27860 (WebKit::PageClientImpl::setFindIndicator):
27861 * UIProcess/API/gtk/PageClientImpl.h:
27863 2011-11-10 Anders Carlsson <andersca@apple.com>
27867 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27868 (-[WKContentLayer drawInContext:]):
27870 2011-11-10 Beth Dakin <bdakin@apple.com>
27872 Speculative build fix.
27874 * UIProcess/win/WebView.cpp:
27875 (WebKit::WebView::setFindIndicator):
27876 * UIProcess/win/WebView.h:
27878 2011-11-10 Beth Dakin <bdakin@apple.com>
27880 https://bugs.webkit.org/show_bug.cgi?id=66584
27881 WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor
27883 -and corresponding-
27884 <rdar://problem/9987559>
27886 Reviewed by Anders Carlsson.
27888 The setFindIndicator message and various functions of the same name must all take
27889 an additional parameter indicating whether or not setting the find indicator
27890 should result in a bounce animation. This is because when the device scale factor
27891 changes, if there is currently a find indicator, it must be re-set to a higher or
27892 lower resolution version, but we don't want the bounce animation to happen again.
27893 * UIProcess/API/mac/FindIndicatorWindow.h:
27894 * UIProcess/API/mac/FindIndicatorWindow.mm:
27895 (WebKit::FindIndicatorWindow::setFindIndicator):
27896 * UIProcess/API/mac/PageClientImpl.h:
27897 * UIProcess/API/mac/PageClientImpl.mm:
27898 (WebKit::PageClientImpl::setFindIndicator):
27899 * UIProcess/API/mac/WKView.mm:
27900 (-[WKView _setFindIndicator:fadeOut:animate:]):
27901 * UIProcess/API/mac/WKViewInternal.h:
27902 * UIProcess/PageClient.h:
27903 * UIProcess/WebPageProxy.cpp:
27904 (WebKit::WebPageProxy::setFindIndicator):
27905 * UIProcess/WebPageProxy.h:
27906 * UIProcess/WebPageProxy.messages.in:
27908 New function FindController::isShowingOverlay() is used to determine if
27909 FindController::deviceScaleFactorDidChange() needs to be called.
27910 * WebProcess/WebPage/FindController.h:
27911 (WebKit::FindController::isShowingOverlay):
27913 FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re-
27914 generate the bitmap at the appropriate scale factor, but tells it not to animate
27916 (WebKit::FindController::deviceScaleFactorDidChange):
27918 updateFindIndicator() takes a new parameter indicating whether or not the
27919 FindIndicator should animate. It defaults to true since the deviceScaleFactor
27920 changing is the only case currently where we do not want it to animate.
27921 * WebProcess/WebPage/FindController.cpp:
27922 (WebKit::FindController::updateFindIndicator):
27923 (WebKit::FindController::hideFindIndicator):
27925 Calls into FindController::deviceScaleFactorDidChange() when the scale factor has
27926 changed and the find overlay is showing.
27927 * WebProcess/WebPage/WebPage.cpp:
27928 (WebKit::WebPage::setDeviceScaleFactor):
27930 2011-11-10 Timothy Hatcher <timothy@apple.com>
27932 Make WKViews in NSPopovers render as they would in active windows.
27934 The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
27935 are shown or hidden since they share key with the parent window. So WKView
27936 needs to update the active state during order on/off screen notifications.
27938 https://webkit.org/b/68435
27940 Reviewed by John Sullivan.
27942 * UIProcess/API/mac/WKView.mm:
27943 (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
27944 (-[WKView _windowDidOrderOnScreen:]): Ditto.
27946 2011-11-10 Anders Carlsson <andersca@apple.com>
27948 Add a simple content layer to TiledCoreAnimationDrawingArea
27949 https://bugs.webkit.org/show_bug.cgi?id=72044
27951 Reviewed by Darin Adler.
27953 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
27954 Add a content layer member variable.
27956 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27957 (-[WKContentLayer _initWithWebPage:WebKit::]):
27960 (-[WKContentLayer drawInContext:]):
27961 Lay out and draw the web page.
27963 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
27964 Add the content layer as a sublayer of the root layer.
27966 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
27967 (WebKit::TiledCoreAnimationDrawingArea::scroll):
27968 Tell the content layer to paint.
27970 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
27971 Resize the content layer as well.
27973 2011-11-10 Anders Carlsson <andersca@apple.com>
27975 The WKView layer hosting subview needs to be flipped
27976 https://bugs.webkit.org/show_bug.cgi?id=72042
27978 Reviewed by Darin Adler.
27980 In order to match the Core Animation layer hierarchy, the layer hosting WKView
27981 subview needs to be flipped.
27983 * UIProcess/API/mac/WKView.mm:
27984 (-[WKFlippedView isFlipped]):
27985 Add a NSView subview whose sole purpose is to be flipped.
27987 (-[WKView _enterAcceleratedCompositingMode:]):
27988 Create a WKFlippedView instead of a regular NSView.
27990 2011-11-10 Balazs Kelemen <kbalazs@webkit.org>
27992 [Qt] X11 plugins need to be reworked for Qt5
27993 https://bugs.webkit.org/show_bug.cgi?id=70023
27995 Reviewed by Simon Hausmann.
27998 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
27999 (WebKit::PluginInfoStore::pluginsDirectories):
28000 Kill the last dependency from the WebKit1 plugin system.
28001 This is necessary because currently we don't build the WebKit1
28002 plugin code. The function is equivalent with the XP_UNIX part of
28003 PluginDatabase::defaultPluginDirectories.
28005 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
28006 (WebKit::NPN_GetValue):
28007 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28008 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28009 (WebKit::getPluginDisplay):
28010 (WebKit::x11Screen):
28011 (WebKit::displayDepth):
28012 (WebKit::rootWindowID):
28013 (WebKit::NetscapePlugin::x11HostDisplay):
28014 (WebKit::NetscapePlugin::platformPostInitialize):
28015 (WebKit::NetscapePlugin::platformDestroy):
28016 (WebKit::NetscapePlugin::platformGeometryDidChange):
28017 (WebKit::NetscapePlugin::platformPaint):
28018 (WebKit::initializeXEvent):
28019 Rework plugin initialization and drawing model.
28021 2011-11-10 Martin Robinson <mrobinson@igalia.com>
28023 [GTK] [WebKit2] Fix remaining gtkdoc errors
28024 https://bugs.webkit.org/show_bug.cgi?id=71990
28026 Reviewed by Philippe Normand.
28028 * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
28029 references to properties, because the gtkdoc stylesheet does not differeniate
28030 between properties and signals. Standardize the way we talk about property
28032 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence
28033 warnings about GIR annotations.
28034 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
28036 2011-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
28038 [Qt] Clean up how singe / double taps are handled
28039 https://bugs.webkit.org/show_bug.cgi?id=72024
28041 Reviewed by Simon Hausmann.
28043 Move all decision making to the QtWebPageProxy.
28045 * UIProcess/qt/QtTapGestureRecognizer.cpp:
28046 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28047 (WebKit::QtTapGestureRecognizer::recognize):
28048 (WebKit::QtTapGestureRecognizer::tapTimeout):
28049 * UIProcess/qt/QtTapGestureRecognizer.h:
28050 * UIProcess/qt/QtWebPageProxy.cpp:
28051 (QtWebPageProxy::QtWebPageProxy):
28052 (QtWebPageProxy::handleSingleTapEvent):
28053 (QtWebPageProxy::handleDoubleTapEvent):
28054 * UIProcess/qt/QtWebPageProxy.h:
28056 2011-11-10 Simon Hausmann <simon.hausmann@nokia.com>
28058 [Qt] Clean up build system
28060 Reviewed by Tor Arne Vestbø.
28062 Now that we use whole-archive linking we can fold the files that contain exported
28063 symbols back into the WebKit2 static library.
28065 * Target.pri: Fold in sources from WebKit2.pri.
28066 * WebKit2.pri: Removed.
28068 2011-11-10 Alexis Menard <alexis.menard@openbossa.org>
28070 [Qt] Merge QTouchWebView and QDesktopWebView into one class
28071 https://bugs.webkit.org/show_bug.cgi?id=71355
28073 Reviewed by Kenneth Rohde Christiansen.
28075 Merge QTouchWebView and QDesktopWebView into one class called
28076 QQuickWebView and its attached page QQuickWebPage. You can switch to the
28077 traditional desktop use case with the private header. Also now on desktop
28078 platforms AC is turn on by default. I also merged our two
28079 subclasses of QtViewInterface into one as the split doesn't make
28080 that much sense anymore. In the future we want to be able to enable the
28081 traditional desktop use case depending the platform the code is running.
28082 API tests and QML tests have been updated.
28085 * UIProcess/API/qt/WKView.h:
28086 * UIProcess/API/qt/qbasewebview.cpp: Removed.
28087 * UIProcess/API/qt/qbasewebview_p.h: Removed.
28088 * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
28089 * UIProcess/API/qt/qdesktopwebview.h: Removed.
28090 * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
28091 * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
28092 (QQuickWebPage::QQuickWebPage):
28093 (QQuickWebPage::~QQuickWebPage):
28094 (QQuickWebPage::keyPressEvent):
28095 (QQuickWebPage::keyReleaseEvent):
28096 (QQuickWebPage::inputMethodEvent):
28097 (QQuickWebPage::focusInEvent):
28098 (QQuickWebPage::focusOutEvent):
28099 (QQuickWebPage::mousePressEvent):
28100 (QQuickWebPage::mouseMoveEvent):
28101 (QQuickWebPage::mouseReleaseEvent):
28102 (QQuickWebPage::mouseDoubleClickEvent):
28103 (QQuickWebPage::wheelEvent):
28104 (QQuickWebPage::hoverEnterEvent):
28105 (QQuickWebPage::hoverMoveEvent):
28106 (QQuickWebPage::hoverLeaveEvent):
28107 (QQuickWebPage::dragMoveEvent):
28108 (QQuickWebPage::dragEnterEvent):
28109 (QQuickWebPage::dragLeaveEvent):
28110 (QQuickWebPage::dropEvent):
28111 (QQuickWebPage::geometryChanged):
28112 (QQuickWebPage::event):
28113 (QQuickWebPage::touchEvent):
28114 (QQuickWebPage::itemChange):
28115 (QQuickWebPagePrivate::QQuickWebPagePrivate):
28116 (QQuickWebPagePrivate::initializeSceneGraphConnections):
28117 (QQuickWebPagePrivate::setPageProxy):
28118 (computeEffectiveOpacity):
28119 (QQuickWebPagePrivate::paintToCurrentGLContext):
28120 (QQuickWebPagePrivate::_q_onAfterSceneRender):
28121 (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
28122 * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
28123 * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
28124 * UIProcess/API/qt/qquickwebview.cpp: Added.
28125 (QQuickWebViewPrivate::QQuickWebViewPrivate):
28126 (QQuickWebViewPrivate::enableMouseEvents):
28127 (QQuickWebViewPrivate::disableMouseEvents):
28128 (QQuickWebViewPrivate::initialize):
28129 (QQuickWebViewPrivate::initializeDesktop):
28130 (QQuickWebViewPrivate::initializeTouch):
28131 (QQuickWebViewPrivate::loadDidCommit):
28132 (QQuickWebViewPrivate::contentSizeChanged):
28133 (QQuickWebViewPrivate::scrollPositionRequested):
28134 (QQuickWebViewPrivate::_q_viewportUpdated):
28135 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28136 (QQuickWebViewPrivate::_q_onVisibleChanged):
28137 (QQuickWebViewPrivate::updateViewportSize):
28138 (QQuickWebViewPrivate::updateViewportConstraints):
28139 (QQuickWebViewPrivate::didChangeViewportProperties):
28140 (QQuickWebViewPrivate::runJavaScriptAlert):
28141 (QQuickWebViewPrivate::runJavaScriptConfirm):
28142 (QQuickWebViewPrivate::runJavaScriptPrompt):
28143 (QQuickWebViewPrivate::chooseFiles):
28144 (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
28145 (QQuickWebViewPrivate::_q_onOpenPanelFinished):
28146 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
28149 (QQuickWebViewPrivate::navigationPolicyForURL):
28150 (QQuickWebViewPrivate::setPageProxy):
28151 (QQuickWebView::QQuickWebView):
28152 (QQuickWebView::~QQuickWebView):
28153 (QQuickWebView::page):
28154 (QQuickWebView::load):
28155 (QQuickWebView::postMessage):
28156 (QQuickWebView::url):
28157 (QQuickWebView::loadProgress):
28158 (QQuickWebView::title):
28159 (QQuickWebView::navigationController):
28160 (QQuickWebView::preferences):
28161 (QQuickWebView::geometryChanged):
28162 (QQuickWebView::touchEvent):
28163 (QQuickWebView::pageRef):
28164 * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
28165 * UIProcess/API/qt/qquickwebview_p.h: Added.
28166 * UIProcess/API/qt/qtouchwebview.cpp: Removed.
28167 * UIProcess/API/qt/qtouchwebview.h: Removed.
28168 * UIProcess/API/qt/qtouchwebview_p.h: Removed.
28169 * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
28170 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
28171 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
28172 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
28173 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
28174 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28175 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28176 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
28177 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
28178 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
28179 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
28180 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
28181 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28182 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
28183 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
28184 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
28185 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
28186 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
28187 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
28188 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
28189 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
28190 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
28191 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
28192 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
28193 (DesktopWebView::DesktopWebView):
28195 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
28196 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
28197 (tst_QQuickWebView::tst_QQuickWebView):
28198 (tst_QQuickWebView::init):
28199 (tst_QQuickWebView::cleanup):
28200 (tst_QQuickWebView::webView):
28201 (tst_QQuickWebView::accessPage):
28202 (tst_QQuickWebView::navigationStatusAtStartup):
28203 (LoadStartedCatcher::LoadStartedCatcher):
28204 (LoadStartedCatcher::onLoadStarted):
28205 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
28206 (tst_QQuickWebView::baseUrl):
28207 (tst_QQuickWebView::loadEmptyUrl):
28208 (tst_QQuickWebView::loadEmptyPageViewVisible):
28209 (tst_QQuickWebView::loadEmptyPageViewHidden):
28210 (tst_QQuickWebView::loadNonexistentFileUrl):
28211 (tst_QQuickWebView::backAndForward):
28212 (tst_QQuickWebView::reload):
28213 (tst_QQuickWebView::stop):
28214 (tst_QQuickWebView::loadProgress):
28215 (tst_QQuickWebView::show):
28216 * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
28217 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
28218 * UIProcess/API/qt/tests/testwindow.h:
28219 * UIProcess/TiledDrawingAreaProxy.h:
28220 * UIProcess/qt/QtGestureRecognizer.cpp:
28221 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
28222 (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
28223 * UIProcess/qt/QtGestureRecognizer.h:
28224 * UIProcess/qt/QtPanGestureRecognizer.cpp:
28225 (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
28226 (WebKit::QtPanGestureRecognizer::recognize):
28227 * UIProcess/qt/QtPanGestureRecognizer.h:
28228 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28229 (WebKit::QtPinchGestureRecognizer::recognize):
28230 (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
28231 * UIProcess/qt/QtPinchGestureRecognizer.h:
28232 * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
28233 * UIProcess/qt/QtTouchViewInterface.h: Removed.
28234 * UIProcess/qt/QtViewInterface.cpp: Added.
28235 (WebKit::QtViewInterface::QtViewInterface):
28236 (WebKit::QtViewInterface::didFindZoomableArea):
28237 (WebKit::QtViewInterface::sceneGraphUpdateQueue):
28238 (WebKit::QtViewInterface::setViewNeedsDisplay):
28239 (WebKit::QtViewInterface::drawingAreaSize):
28240 (WebKit::QtViewInterface::contentSizeChanged):
28241 (WebKit::QtViewInterface::scrollPositionRequested):
28242 (WebKit::QtViewInterface::isActive):
28243 (WebKit::QtViewInterface::hasFocus):
28244 (WebKit::QtViewInterface::isVisible):
28245 (WebKit::QtViewInterface::startDrag):
28246 (WebKit::QtViewInterface::didChangeViewportProperties):
28247 (WebKit::QtViewInterface::didChangeUrl):
28248 (WebKit::QtViewInterface::didChangeTitle):
28249 (WebKit::QtViewInterface::didChangeToolTip):
28250 (WebKit::QtViewInterface::didChangeStatusText):
28251 (WebKit::QtViewInterface::didChangeCursor):
28252 (WebKit::QtViewInterface::loadDidBegin):
28253 (WebKit::QtViewInterface::loadDidCommit):
28254 (WebKit::QtViewInterface::loadDidSucceed):
28255 (WebKit::QtViewInterface::loadDidFail):
28256 (WebKit::QtViewInterface::didChangeLoadProgress):
28257 (WebKit::QtViewInterface::didMouseMoveOverElement):
28258 (WebKit::QtViewInterface::showContextMenu):
28259 (WebKit::QtViewInterface::hideContextMenu):
28260 (WebKit::QtViewInterface::runJavaScriptAlert):
28261 (WebKit::QtViewInterface::runJavaScriptConfirm):
28262 (WebKit::QtViewInterface::runJavaScriptPrompt):
28263 (WebKit::QtViewInterface::processDidCrash):
28264 (WebKit::QtViewInterface::didRelaunchProcess):
28265 (WebKit::QtViewInterface::engine):
28266 (WebKit::QtViewInterface::downloadRequested):
28267 (WebKit::QtViewInterface::chooseFiles):
28268 * UIProcess/qt/QtViewInterface.h:
28269 * UIProcess/qt/QtWebPageProxy.h:
28270 (QtWebPageProxy::setViewportInteractionEngine):
28271 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
28274 2011-11-10 Carlos Garcia Campos <cgarcia@igalia.com>
28276 Unreviewed. Fix make distcheck build.
28278 * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
28280 2011-11-10 Simon Hausmann <simon.hausmann@nokia.com>
28282 Unreviewed Mac build fix: Remove TapAndHold gesture type.
28284 It broke the build because it's unhandled. Remove it since it's not
28285 supported at the moment anyway. (looks like an accidental addition?)
28287 * Shared/WebEvent.h:
28288 * UIProcess/qt/QtTapGestureRecognizer.cpp:
28289 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28291 2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
28293 [Qt] Enable exports and constructor functions in static libs
28295 Reviewed by Tor Arne Vestbø.
28297 * WebProcess/WebPage/qt/WebPageQt.cpp:
28298 (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28301 2011-11-10 Zeno Albisser <zeno.albisser@nokia.com>
28303 [Qt][WK2] Add Tap Gesture recognition to UIProcess
28304 https://bugs.webkit.org/show_bug.cgi?id=71841
28306 Add a Tap gesture recognizer that delivers GestureSingleTap
28307 and GestureTapAndHold events through the WebPageProxy.
28308 Add a GestureTapAndHold to WebEvent.
28309 Add a DoubleTap gesture for zooming in and out.
28311 This patch is based on work of Benjamin Poulain.
28313 Reviewed by Kenneth Rohde Christiansen.
28315 * Shared/WebEvent.h:
28317 * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
28318 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28319 (WebKit::QtTapGestureRecognizer::setWebPageProxy):
28320 (WebKit::QtTapGestureRecognizer::recognize):
28321 (WebKit::QtTapGestureRecognizer::tapTimeout):
28322 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28323 (WebKit::QtTapGestureRecognizer::reset):
28324 (WebKit::QtTapGestureRecognizer::timerEvent):
28325 * UIProcess/qt/QtTapGestureRecognizer.h: Added.
28326 * UIProcess/qt/QtWebPageProxy.cpp:
28327 (QtWebPageProxy::QtWebPageProxy):
28328 (QtWebPageProxy::processDidCrash):
28329 (QtWebPageProxy::doneWithTouchEvent):
28330 * UIProcess/qt/QtWebPageProxy.h:
28332 2011-11-09 Shinya Kawanaka <shinyak@google.com>
28334 Internals.markerRangeForNode should be able to take markers by specifying a marker type.
28335 https://bugs.webkit.org/show_bug.cgi?id=71792
28337 Reviewed by Hajime Morita.
28339 * win/WebKit2.def: Exposed necessary references.
28340 * win/WebKit2CFLite.def: ditto.
28342 2011-10-26 Martin Robinson <mrobinson@igalia.com>
28344 [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
28345 https://bugs.webkit.org/show_bug.cgi?id=70877
28347 Reviewed by Philippe Normand.
28349 Add a script that runs gtkdoc manually instead of using the autotools
28350 magic. Remove now unused gtkdoc files.
28352 * GNUmakefile.am: Remove references to removed gtkdoc files.
28353 * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
28354 * UIProcess/API/gtk/docs/build-gtkdoc: Added.
28355 * UIProcess/API/gtk/docs/gtkdoc.py: Added.
28356 * UIProcess/API/gtk/docs/version.xml.in: Removed.
28358 2011-11-09 Alexey Proskuryakov <ap@apple.com>
28360 <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
28361 https://bugs.webkit.org/show_bug.cgi?id=71964
28363 Reviewed by Darin Adler.
28365 * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
28367 2011-11-09 Anders Carlsson <andersca@apple.com>
28369 Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
28370 https://bugs.webkit.org/show_bug.cgi?id=71955
28372 Reviewed by Sam Weinig.
28374 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
28375 (WebKit::InjectedBundleNodeHandle::elementBounds):
28376 Call Element::boundsInRootViewSpace.
28378 2011-11-09 Alexis Menard <alexis.menard@openbossa.org>
28380 WebGraphicsLayer behaves wrongly when no contentsScale is set.
28381 https://bugs.webkit.org/show_bug.cgi?id=71959
28383 Reviewed by Noam Rosenthal.
28385 The contentsScale needs to get a default value just like
28386 TiledBackingStore in case no value is explicitely set.
28388 It is covered by existing tests.
28390 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
28391 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
28393 2011-11-09 Mark Hahnenberg <mhahnenberg@apple.com>
28395 De-virtualize JSObject::getOwnPropertyDescriptor
28396 https://bugs.webkit.org/show_bug.cgi?id=71523
28398 Reviewed by Sam Weinig.
28400 Added getOwnPropertyDescriptor to the MethodTable, changed all of the
28401 virtual versions of getOwnPropertyDescriptor to static ones, and
28402 changed all of the call sites to the corresponding lookup in the MethodTable.
28404 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
28405 (WebKit::JSNPObject::getOwnPropertyDescriptor):
28406 * WebProcess/Plugins/Netscape/JSNPObject.h:
28408 2011-11-09 Alexandru Chiculita <achicu@adobe.com>
28410 Fixing build on MacOSX SL after 71838
28411 https://bugs.webkit.org/show_bug.cgi?id=71912
28413 Reviewed by Anders Carlsson.
28415 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28416 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28418 2011-11-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
28420 [WebKit2] Prepare viewport meta handling for desktop usage
28421 https://bugs.webkit.org/show_bug.cgi?id=71907
28423 Reviewed by Simon Hausmann.
28425 This is only used by Qt so far. Now we don't always layout pages
28426 without the viewport meta tag, using 980 as the layout width, but
28427 instead we use that value (it is a setting) as a minimum value, or
28428 else we use the viewport width.
28430 * UIProcess/API/qt/qtouchwebview.cpp:
28431 (QTouchWebViewPrivate::updateViewportSize):
28432 (QTouchWebViewPrivate::updateViewportConstraints):
28433 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
28434 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
28435 * WebProcess/WebPage/WebPage.cpp:
28436 (WebKit::WebPage::setViewportSize):
28438 2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
28440 Unreviewed, rolling out r99701.
28441 http://trac.webkit.org/changeset/99701
28443 Breaks Qt mac build
28445 * WebProcess/WebPage/qt/WebPageQt.cpp:
28447 (WebKit::WebPage::platformInitialize):
28449 2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
28451 [Qt] Enable exports and constructor functions in static libs
28453 Reviewed by Tor Arne Vestbø.
28455 * WebProcess/WebPage/qt/WebPageQt.cpp:
28456 (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28459 2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
28461 [Qt] Fix geolocation enabled build.
28463 Reviewed by Tor Arne Vestbø.
28465 * Target.pri: Add QT += location to get the right module includes.
28466 * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
28467 * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
28468 code, because it can't interpret the ENABLE() macro.
28470 2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
28472 [Qt] Build system cleanup
28473 https://bugs.webkit.org/show_bug.cgi?id=71815
28475 Reviewed by Kenneth Rohde Christiansen.
28477 * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
28478 * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
28479 if geolocation is enabled.
28480 * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
28482 2011-11-08 Simon Hausmann <simon.hausmann@nokia.com>
28484 [Qt] Replace use of QApplication with QGuiApplication
28485 https://bugs.webkit.org/show_bug.cgi?id=71794
28487 Reviewed by Andreas Kling.
28489 * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
28490 * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
28491 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
28492 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
28493 * UIProcess/qt/QtWebPageProxy.cpp:
28494 (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
28495 (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
28497 2011-11-07 Adam Barth <abarth@webkit.org>
28499 Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
28500 https://bugs.webkit.org/show_bug.cgi?id=71755
28502 Reviewed by Eric Seidel.
28504 * WebProcess/InjectedBundle/InjectedBundle.cpp:
28505 (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
28506 (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
28507 (WebKit::InjectedBundle::resetOriginAccessWhitelists):
28508 * WebProcess/Plugins/PluginView.cpp:
28509 (WebKit::PluginView::loadURL):
28511 2011-11-08 Brent Fulgham <bfulgham@webkit.org>
28513 [WinCairo] Unreviewed build fix after r99613.
28515 * win/WebKit2CFLite.def: Add missing export.
28517 2011-11-08 Brent Fulgham <bfulgham@webkit.org>
28519 [WinCairo] Unreviewed build fix after r98624 and r99613.
28521 * win/WebKit2CFLite.def: Add missing exports.
28523 2011-11-08 Beth Dakin <bdakin@apple.com>
28525 https://bugs.webkit.org/show_bug.cgi?id=71856
28526 WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of
28527 old NSWindowDidChangeResolutionNotification
28528 -and corresponding-
28529 <rdar://problem/10317253>
28531 Reviewed by Tim Hatcher.
28533 * UIProcess/API/mac/WKView.mm:
28534 (-[WKView addWindowObserversForWindow:]):
28535 (-[WKView removeWindowObservers]):
28537 We have to check that the backing scale factor actually changed since this
28538 notification can also be used to signify other changes.
28539 (-[WKView _windowDidChangeBackingProperties:]):
28541 2011-11-08 Anders Carlsson <andersca@apple.com>
28543 Add a basic layer hierarchy to the Core Animation drawing area
28544 https://bugs.webkit.org/show_bug.cgi?id=71838
28546 Reviewed by Sam Weinig.
28548 * UIProcess/API/mac/WKView.mm:
28549 (-[WKView drawRect:]):
28550 Return early if we're using a tiled drawing area.
28552 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
28553 If we're using a tiled drawing area, make the WKView layer backed and set its layer
28554 to a simple CALayer with a white background and set the view's content redraw policy
28555 to never to avoid ever calling drawRect.
28557 * UIProcess/DrawingAreaProxy.h:
28558 (WebKit::DrawingAreaProxy::didUpdateGeometry):
28559 * UIProcess/DrawingAreaProxy.messages.in:
28560 Add a new didUpdateGeometry message.
28562 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
28563 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
28564 (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28565 Initialize m_isWaitingForDidUpdateGeometry.
28567 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28568 Send an UpdateGeometry message to the web process and wait for a reply.
28570 (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
28571 Tell the web page proxy to enter accelerated compositing mode.
28573 (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
28574 Assert that this function is never called.
28576 (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
28577 Send another UpdateGeometry message if needed.
28579 (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
28580 Add helper function to actually send the UpdateGeometry message.
28582 * WebProcess/WebPage/DrawingArea.h:
28583 (WebKit::DrawingArea::updateGeometry):
28584 * WebProcess/WebPage/DrawingArea.messages.in:
28585 Add UpdateGeometry message.
28587 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
28588 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28589 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28590 Create a red root layer and a remote layer client that hosts it.
28592 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
28593 Resize the root layer and tell the UI process that we've updated the geometry.
28595 2011-11-08 Dan Bernstein <mitz@apple.com>
28597 <rdar://problem/10262225> Allow RenderView to have columns
28598 https://bugs.webkit.org/show_bug.cgi?id=71840
28600 * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
28602 2011-11-08 Jon Lee <jonlee@apple.com>
28604 [WK2] Expose acceptMIMETypes for file inputs
28605 https://bugs.webkit.org/show_bug.cgi?id=71836
28606 <rdar://problem/10407367>
28608 Reviewed by Anders Carlsson.
28610 * Shared/WebOpenPanelParameters.cpp:
28611 (WebKit::WebOpenPanelParameters::acceptMIMETypes):
28612 * Shared/WebOpenPanelParameters.h:
28613 * UIProcess/API/C/WKOpenPanelParameters.cpp:
28614 (WKOpenPanelParametersCopyAcceptedMIMETypes):
28615 * UIProcess/API/C/WKOpenPanelParameters.h:
28617 2011-11-08 Zan Dobersek <zandobersek@gmail.com>
28619 [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
28620 https://bugs.webkit.org/show_bug.cgi?id=71837
28622 Reviewed by Martin Robinson.
28624 Ensure that directories for databases and local storage are in a 'webkitgtk'
28625 directory in current user's data directory, noting they originate from the Gtk port.
28627 * UIProcess/gtk/WebContextGtk.cpp:
28628 (WebKit::WebContext::platformDefaultDatabaseDirectory):
28629 (WebKit::WebContext::platformDefaultLocalStorageDirectory):
28631 2011-11-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
28633 [Qt] Workaround some problems in QML API tests
28634 https://bugs.webkit.org/show_bug.cgi?id=71818
28636 Reviewed by Tor Arne Vestbø.
28638 This commit workaround the issue of QML's QtTest crashing when we run tests after
28639 "windowShown". We delay to the next run of the mainloop. This workaround is not
28640 pretty but shouldn't affect the semantics of the tests. And we benefit more from
28641 having working tests right now.
28643 This patch also improves Download to: wait for the load before emitting click, and
28644 properly identifying the "succeeded" signal of the downloadItem object.
28646 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28647 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28648 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28650 2011-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
28652 Clean up QtViewportInteractionEngine
28654 Reviewed by Simon Hausmann.
28656 * UIProcess/qt/QtViewportInteractionEngine.cpp:
28657 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
28658 (WebKit::QtViewportInteractionEngine::setItemRectVisible):
28660 Rename the method to make it more obvious what it does. Avoid implicit
28661 conversion to/from QVariant.
28663 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
28664 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
28665 (WebKit::QtViewportInteractionEngine::itemSizeChanged):
28667 Only call this method on item size changes, and not for every interaction
28668 with the viewport item. Before this change it was even being called during
28671 * UIProcess/qt/QtViewportInteractionEngine.h:
28672 (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
28674 Rename to make it clean that this is called from the animator.
28676 2011-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
28678 [Qt] Improve the animation time constant
28679 https://bugs.webkit.org/show_bug.cgi?id=71790
28681 Reviewed by Simon Hausmann.
28683 Use 250 milliseconds instead of 400, which feels a lot more natural
28684 and makes the mini browser feel more responsive.
28686 * UIProcess/qt/QtViewportInteractionEngine.cpp:
28688 2011-11-08 Alexis Menard <alexis.menard@openbossa.org>
28690 [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
28691 https://bugs.webkit.org/show_bug.cgi?id=71355
28693 Reviewed by Simon Hausmann.
28695 As we try to unify our public API offer we need to merge our double
28696 WebPageProxy implementations first into a common class. That will help
28697 to merge our TouchWebView and DesktopWebView views into one class later.
28698 This commit just merge stuff around and doesn't contain any functional changes.
28701 * UIProcess/API/qt/qdesktopwebview.cpp:
28702 (QDesktopWebViewPrivate::init):
28703 * UIProcess/API/qt/qtouchwebpage.cpp:
28704 (QTouchWebPagePrivate::paintToCurrentGLContext):
28705 * UIProcess/API/qt/qtouchwebpage.h:
28706 * UIProcess/API/qt/qtouchwebpage_p.h:
28707 * UIProcess/API/qt/qtouchwebview.cpp:
28708 (QTouchWebViewPrivate::init):
28709 (QTouchWebViewPrivate::_q_viewportUpdated):
28710 (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28711 * UIProcess/API/qt/qtouchwebview_p.h:
28712 * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
28713 * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
28714 * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
28715 * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
28716 * UIProcess/qt/QtWebPageProxy.cpp:
28717 (dragOperationToDropAction):
28718 (QtWebPageProxy::QtWebPageProxy):
28719 (QtWebPageProxy::handleEvent):
28720 (QtWebPageProxy::handleMouseMoveEvent):
28721 (QtWebPageProxy::handleMousePressEvent):
28722 (QtWebPageProxy::handleMouseReleaseEvent):
28723 (QtWebPageProxy::handleMouseDoubleClickEvent):
28724 (QtWebPageProxy::handleWheelEvent):
28725 (QtWebPageProxy::handleHoverLeaveEvent):
28726 (QtWebPageProxy::handleHoverMoveEvent):
28727 (QtWebPageProxy::handleDragEnterEvent):
28728 (QtWebPageProxy::handleDragLeaveEvent):
28729 (QtWebPageProxy::handleDragMoveEvent):
28730 (QtWebPageProxy::handleDropEvent):
28731 (QtWebPageProxy::timerEvent):
28732 (QtWebPageProxy::processDidCrash):
28733 (QtWebPageProxy::didReceiveDownloadResponse):
28734 (QtWebPageProxy::paintContent):
28735 (QtWebPageProxy::createDrawingAreaProxy):
28736 (QtWebPageProxy::renderToCurrentGLContext):
28737 (QtWebPageProxy::doneWithTouchEvent):
28738 (QtWebPageProxy::setVisibleContentRectAndScale):
28739 (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
28740 (QtWebPageProxy::touchEvent):
28741 (QtWebPageProxy::findZoomableAreaForPoint):
28742 * UIProcess/qt/QtWebPageProxy.h:
28744 2011-11-08 Zan Dobersek <zandobersek@gmail.com>
28746 [WK2][GTK] Application cache directory is incorrectly set
28747 https://bugs.webkit.org/show_bug.cgi?id=70680
28749 Reviewed by Philippe Normand.
28751 Correctly set application cache directory to be in current
28752 user's default cache directory.
28754 * UIProcess/gtk/WebContextGtk.cpp:
28755 (WebKit::WebContext::applicationCacheDirectory):
28757 2011-11-07 Emil A Eklund <eae@chromium.org>
28759 Revert platform and scrolling to ints
28760 https://bugs.webkit.org/show_bug.cgi?id=71585
28762 Reviewed by Eric Seidel.
28764 Replace all uses of LayoutUnit and related types with ints in platform
28765 and scrolling code.
28767 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28768 (WebKit::BuiltInPDFView::invalidateScrollbarRect):
28769 (WebKit::BuiltInPDFView::visibleHeight):
28770 (WebKit::BuiltInPDFView::visibleWidth):
28771 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
28773 2011-11-07 Adam Barth <abarth@webkit.org>
28775 Move DomainRelaxationForbidden scheme registry to SchemeRegistry
28776 https://bugs.webkit.org/show_bug.cgi?id=71750
28778 Reviewed by Eric Seidel.
28780 * WebProcess/WebProcess.cpp:
28781 (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
28783 2011-11-07 Beth Dakin <bdakin@apple.com>
28785 https://bugs.webkit.org/show_bug.cgi?id=71490
28786 Support uiStateTransitionProgress for scrollbars
28787 -and corresponding-
28788 <rdar://problem/9849612>
28790 Reviewed by Sam Weinig.
28792 Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter.
28793 * UIProcess/win/WebPopupMenuProxyWin.cpp:
28794 (WebKit::WebPopupMenuProxyWin::onLButtonUp):
28795 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28796 (WebKit::BuiltInPDFView::handleMouseEvent):
28798 2011-11-07 Alexey Proskuryakov <ap@apple.com>
28800 The Full Keyboard Access preference should be read in the UI process
28801 https://bugs.webkit.org/show_bug.cgi?id=71734
28802 <rdar://problem/9237619>
28804 Reviewed by Darin Adler.
28806 This is consistent with how other global preferences (like language) are handled, and lets
28807 us tighten up the sandbox a little.
28809 * Shared/WebProcessCreationParameters.cpp:
28810 (WebKit::WebProcessCreationParameters::encode):
28811 (WebKit::WebProcessCreationParameters::decode):
28812 * Shared/WebProcessCreationParameters.h:
28813 Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value.
28815 * UIProcess/WebContext.h:
28816 * UIProcess/WebContext.cpp:
28817 (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process
28818 is already running, tell it.
28819 (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current
28822 * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28823 * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28824 * UIProcess/WebProcessProxy.h:
28825 Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function
28826 as any. One day, we will make code more consistent with language and other global preferences.
28828 * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h.
28829 * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm.
28830 * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
28831 * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
28832 (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved,
28833 push the preference value.
28835 * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process.
28837 * WebProcess/WebProcess.h:
28838 * WebProcess/WebProcess.cpp:
28839 (WebKit::WebProcess::WebProcess):
28840 (WebKit::WebProcess::fullKeyboardAccessModeChanged):
28841 (WebKit::WebProcess::fullKeyboardAccessEnabled):
28842 * WebProcess/mac/WebProcessMac.mm:
28843 WebCprocess now holds the preference value in a mamber value, which UI process pushes
28846 * WebProcess/WebProcess.messages.in: Added a message for changes preference value.
28848 * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist.
28850 2011-11-07 Anders Carlsson <andersca@apple.com>
28852 Add TiledCoreAnimationDrawingArea stub classes
28853 https://bugs.webkit.org/show_bug.cgi?id=71729
28855 Reviewed by Sam Weinig.
28857 * Shared/DrawingAreaInfo.h:
28858 * UIProcess/API/mac/WKView.mm:
28859 (-[WKView _shouldUseTiledDrawingArea]):
28860 (-[WKView WebKit::]):
28861 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
28862 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28863 (WebKit::TiledCoreAnimationDrawingAreaProxy::create):
28864 (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28865 (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
28866 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
28867 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28868 * WebKit2.xcodeproj/project.pbxproj:
28869 * WebProcess/WebPage/DrawingArea.cpp:
28870 (WebKit::DrawingArea::create):
28871 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28872 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28873 (WebKit::TiledCoreAnimationDrawingArea::create):
28874 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28875 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
28876 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
28877 (WebKit::TiledCoreAnimationDrawingArea::scroll):
28878 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
28879 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
28881 2011-11-07 Anders Carlsson <andersca@apple.com>
28883 Follow-up build fix.
28885 * WebProcess/WebPage/DrawingAreaImpl.h:
28887 2011-11-07 Anders Carlsson <andersca@apple.com>
28889 Remove unused DrawingArea::syncCompositingLayers
28890 https://bugs.webkit.org/show_bug.cgi?id=71717
28892 Reviewed by John Sullivan.
28894 * WebProcess/WebPage/DrawingArea.h:
28895 * WebProcess/WebPage/DrawingAreaImpl.cpp:
28896 * WebProcess/WebPage/TiledDrawingArea.h:
28898 2011-11-07 Anders Carlsson <andersca@apple.com>
28900 Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates
28901 https://bugs.webkit.org/show_bug.cgi?id=71708
28903 Reviewed by Sam Weinig.
28905 The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions
28906 everywhere and, since the meaning is now inverted, invert the checks and return values.
28908 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
28909 (WebKit::NetscapePlugin::callSetWindow):
28910 (WebKit::NetscapePlugin::geometryDidChange):
28911 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28912 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
28913 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28914 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28915 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28916 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
28917 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28918 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28919 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28921 2011-11-07 Anders Carlsson <andersca@apple.com>
28923 NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac
28924 https://bugs.webkit.org/show_bug.cgi?id=71707
28926 Reviewed by Sam Weinig.
28928 This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size
28929 and location as the plug-in (relative to the screen).
28931 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28932 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28933 (WebKit::NetscapePlugin::platformGeometryDidChange):
28934 Call updateFakeWindowBounds.
28936 (WebKit::NetscapePlugin::updateFakeWindowBounds):
28937 Convert the plug-in position to screen coordinates and set the window bounds to be the location and
28938 size of the plug-in, where the location is relative to the screen.
28940 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
28943 (WebKit::NetscapePlugin::windowAndViewFramesChanged):
28944 Call updateFakeWindowBounds.
28946 2011-11-07 Sam Weinig <sam@webkit.org>
28948 WKPage.h should be in PrivateHeaders.
28950 Rubber-stamped by Anders Carlsson.
28952 * WebKit2.xcodeproj/project.pbxproj:
28953 Mark WKPage.h private.
28955 2011-11-07 Anders Carlsson <andersca@apple.com>
28957 Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
28958 https://bugs.webkit.org/show_bug.cgi?id=71699
28960 Reviewed by Sam Weinig.
28962 Add a getScreenTransform function which given a coordinate space returns a transform that converts a
28963 point from that coordinate space to the screen coordinate space. We then get the source -> screen transform
28964 and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the
28965 source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space
28966 and use mapPoint to map the source point and return the destination point.
28968 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28969 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28970 (WebKit::NetscapePlugin::getScreenTransform):
28971 (WebKit::NetscapePlugin::convertPoint):
28973 * WebProcess/Plugins/PluginView.cpp:
28974 (WebKit::PluginView::initializePlugin):
28975 Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by
28976 the time NPP_SetWindow is called in the plug-in.
28978 2011-11-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
28980 [Qt] Put handling of gestures and their interaction in one place
28981 https://bugs.webkit.org/show_bug.cgi?id=71682
28983 Reviewed by Simon Hausmann.
28985 Before this patch, the interaction (ie. cancelling animations, events)
28986 was handled in the respective recognizers which then knew about each
28989 * UIProcess/qt/QtGestureRecognizer.h:
28990 (WebKit::QtGestureRecognizer::isRecognized):
28991 * UIProcess/qt/QtPanGestureRecognizer.cpp:
28992 (WebKit::QtPanGestureRecognizer::recognize):
28993 * UIProcess/qt/QtPanGestureRecognizer.h:
28994 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28995 (WebKit::QtPinchGestureRecognizer::recognize):
28996 * UIProcess/qt/QtPinchGestureRecognizer.h:
28997 * UIProcess/qt/QtTouchWebPageProxy.cpp:
28998 (QtTouchWebPageProxy::QtTouchWebPageProxy):
28999 (QtTouchWebPageProxy::doneWithTouchEvent):
29000 * UIProcess/qt/QtTouchWebPageProxy.h:
29001 * UIProcess/qt/QtViewportInteractionEngine.cpp:
29002 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29003 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29004 (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
29005 (WebKit::QtViewportInteractionEngine::interruptScrollAnimation):
29006 (WebKit::QtViewportInteractionEngine::panGestureActive):
29007 (WebKit::QtViewportInteractionEngine::scaleAnimationActive):
29008 (WebKit::QtViewportInteractionEngine::interruptScaleAnimation):
29009 (WebKit::QtViewportInteractionEngine::pinchGestureActive):
29010 * UIProcess/qt/QtViewportInteractionEngine.h:
29012 2011-11-07 Simon Hausmann <simon.hausmann@nokia.com>
29014 [Qt] Make it possible to include qdesktopwebview.h from apps
29016 Reviewed by Tor Arne Vestbø.
29018 * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward
29019 declare the structs manually.
29021 2011-11-07 Simon Hausmann <simon.hausmann@nokia.com>
29023 [Qt] Fix failing inspector tests after build system changes
29024 https://bugs.webkit.org/show_bug.cgi?id=71677
29026 Reviewed by Tor Arne Vestbø.
29028 Ensure symbols from the qt resource system are referenced
29029 from outside the static webcore library. One way of doing that is
29030 to initialize the resources right away, as explained in the documentation
29031 of th Qt resource system.
29033 * WebProcess/WebPage/qt/WebPageQt.cpp:
29035 (WebKit::WebPage::platformInitialize):
29037 2011-11-03 Anders Carlsson <andersca@apple.com>
29039 Add NetscapePlugin::convertFromRootView
29040 https://bugs.webkit.org/show_bug.cgi?id=71526
29042 Reviewed by Sam Weinig.
29044 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29045 (WebKit::NetscapePlugin::convertFromRootView):
29046 New function that converts a point from root view coordinates to plug-in coordinates.
29047 Returns false if the conversion can't be done.
29049 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29050 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29051 (WebKit::fillInCocoaEventFromMouseEvent):
29052 (WebKit::initializeMouseEvent):
29053 (WebKit::NetscapePlugin::platformHandleMouseEvent):
29054 (WebKit::NetscapePlugin::platformHandleWheelEvent):
29055 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29056 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29057 Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the
29058 event position (which is in root view coordinates).
29060 2011-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
29062 [Qt] Refactor and clean up the qmake build system
29064 The qmake build system has accumulated a bit of cruft and redundancy
29065 over time. There's also a fairly tight coupling between how to build
29066 the various targets, and _what_ to build, making it harder to add new
29067 rules or sources. This patch aims to elevate these issues somewhat.
29069 This is a short-list of the changes:
29071 * The rules for how to build targets are now mostly contained as
29072 prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
29073 allows us to do pre- and post-processing of each project file,
29074 which helps to clean up the actual project files.
29076 * Derived sources are no longer generated as a separate make-step
29077 but is part of each target's project file as a subdir. Makefile
29078 rules are used to ensure that we run make on the derived sources
29079 before running qmake on the actual target makefile. This makes
29080 it easier to keep a proper dependency between derived sources
29083 * We use GNU make and the compiler to generate dependencies on
29084 UNIX-based systems running Qt 5. This allows us to lessen the
29085 need to run qmake, which should reduce compile time.
29087 * WebKit2 is now build by default if building with Qt 5. It can
29088 be disabled by passing --no-webkit2 to build-webkit.
29090 The result of these changes are hopefully a cleaner and easier
29091 build system to modify, and faster build times due to no longer
29092 running qmake on every single build. It's also a first step
29093 towards possibly generating the list of sources using another
29096 https://bugs.webkit.org/show_bug.cgi?id=71222
29098 Reviewed by Simon Hausmann.
29100 * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro.
29101 * Target.pri: Copied from Source/WebKit2/WebKit2.pro.
29102 * UIProcess/API/qt/tests/tests.pri:
29103 * UIProcess/API/qt/tests/tests.pro: Removed.
29106 * WebKit2API.pri: Removed.
29109 2011-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
29111 [Qt] Support programmatic scrolling with the QTouchWebView
29113 Reviewed by Simon Hausmann.
29115 As more code can be shared between the programmatic scrolling and the
29116 method for ensuring that the contents are within valid bounds, this
29117 patch includes a bit of refactoring as well.
29119 * UIProcess/API/qt/qdesktopwebview_p.h:
29120 (QDesktopWebViewPrivate::scrollPositionRequested):
29121 * UIProcess/API/qt/qtouchwebview.cpp:
29122 (QTouchWebViewPrivate::scrollPositionRequested):
29123 * UIProcess/API/qt/qtouchwebview_p.h:
29124 * UIProcess/qt/QtTouchViewInterface.cpp:
29125 (WebKit::QtTouchViewInterface::scrollPositionRequested):
29126 * UIProcess/qt/QtTouchViewInterface.h:
29127 * UIProcess/qt/QtViewInterface.h:
29128 * UIProcess/qt/QtViewportInteractionEngine.cpp:
29129 (WebKit::QtViewportInteractionEngine::event):
29130 (WebKit::boundPosition):
29131 (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29132 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
29133 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29134 (WebKit::QtViewportInteractionEngine::setConstraints):
29135 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
29136 (WebKit::QtViewportInteractionEngine::contentViewportChanged):
29137 * UIProcess/qt/QtViewportInteractionEngine.h:
29138 * UIProcess/qt/QtWebPageProxy.cpp:
29139 (QtWebPageProxy::pageDidRequestScroll):
29140 * UIProcess/qt/QtWebPageProxy.h:
29142 2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
29144 De-virtualize JSObject::getPropertyNames
29145 https://bugs.webkit.org/show_bug.cgi?id=71306
29147 Reviewed by Darin Adler.
29149 Added getPropertyNames to the MethodTable, changed all the virtual
29150 implementations of getPropertyNames to static ones, and replaced
29151 all call sites with corresponding lookups in the MethodTable.
29153 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
29154 (WebKit::NPJSObject::enumerate):
29156 2011-11-03 Anders Carlsson <andersca@apple.com>
29158 Get rid of NetscapePlugin::m_clipRectInWindowCoordinates
29159 https://bugs.webkit.org/show_bug.cgi?id=71521
29161 Reviewed by Dan Bernstein.
29163 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29164 (WebKit::NetscapePlugin::geometryDidChange):
29165 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29167 2011-11-03 Anders Carlsson <andersca@apple.com>
29169 Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible
29170 https://bugs.webkit.org/show_bug.cgi?id=71520
29172 Reviewed by Dan Bernstein.
29174 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29175 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
29176 (WebKit::NetscapePlugin::platformPaint):
29177 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29178 (WebKit::NetscapePlugin::platformHandleMouseEvent):
29179 (WebKit::NetscapePlugin::platformHandleWheelEvent):
29180 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29181 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29183 2011-11-03 Anders Carlsson <andersca@apple.com>
29185 Add NetscapePlugin::convertToRootView
29186 https://bugs.webkit.org/show_bug.cgi?id=71519
29188 Reviewed by Darin Adler.
29190 Yet another step towards eliminating uses of m_frameRectInWindowCoordinates.
29192 Also, use the "root view" terminology, since that's really what we mean here.
29194 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29195 (WebKit::NetscapePlugin::callSetWindow):
29196 Use convertToRootView to get the plug-in location and clip rect in root view coordinates.
29198 (WebKit::NetscapePlugin::convertToRootView):
29199 Apply the m_pluginToRootViewTransform.mapPoint transform.
29201 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29202 Add convertToRootView.
29204 2011-11-03 Anders Carlsson <andersca@apple.com>
29206 Move plug-in size and backing store checks to PluginProxy::updateBackingStore
29207 https://bugs.webkit.org/show_bug.cgi?id=71508
29209 Reviewed by Darin Adler.
29211 * WebProcess/Plugins/PluginProxy.cpp:
29212 (WebKit::PluginProxy::geometryDidChange):
29213 Remove code to send back an empty backing store if the plug-in size is empty
29214 or doesn't need a backing store. This check is now done...
29216 (WebKit::PluginProxy::updateBackingStore):
29219 2011-11-03 Anders Carlsson <andersca@apple.com>
29221 Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates
29222 https://bugs.webkit.org/show_bug.cgi?id=71506
29224 Reviewed by Darin Adler.
29226 * PluginProcess/PluginControllerProxy.cpp:
29227 (WebKit::PluginControllerProxy::geometryDidChange):
29228 This no longer needs to take the frame rect in window coordinates.
29230 * PluginProcess/PluginControllerProxy.h:
29231 * PluginProcess/PluginControllerProxy.messages.in:
29232 Remove frameRectInWindowCoordinates from the GeometryDidChange message.
29234 * WebProcess/Plugins/PluginProxy.cpp:
29235 (WebKit::PluginProxy::geometryDidChange):
29236 Don't pass frameRectInWindowCoordinates when sending GeometryDidChange.
29238 2011-11-03 Anders Carlsson <andersca@apple.com>
29240 Get rid of Plugin::wantsWindowRelativeCoordinates()
29241 https://bugs.webkit.org/show_bug.cgi?id=71504
29243 Reviewed by Darin Adler.
29245 Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates,
29246 we can go ahead and remove it.
29248 * PluginProcess/PluginControllerProxy.cpp:
29249 (WebKit::PluginControllerProxy::paint):
29250 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29251 (WebKit::NetscapePlugin::snapshot):
29252 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29253 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
29254 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
29255 * WebProcess/Plugins/Plugin.h:
29256 * WebProcess/Plugins/PluginProxy.cpp:
29257 * WebProcess/Plugins/PluginProxy.h:
29258 * WebProcess/Plugins/PluginView.cpp:
29259 (WebKit::PluginView::paint):
29261 2011-11-03 Anders Carlsson <andersca@apple.com>
29263 NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports
29264 https://bugs.webkit.org/show_bug.cgi?id=71501
29266 Reviewed by Darin Adler.
29268 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29269 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29272 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29273 (WebKit::NetscapePlugin::platformGeometryDidChange):
29274 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
29276 (WebKit::NetscapePlugin::platformPaint):
29277 No need to translate back and forth between window and plug-in relative coordinates anymore.
29279 2011-11-03 Darin Adler <darin@apple.com>
29281 Change remaining callers of releaseRef to call leakRef
29282 https://bugs.webkit.org/show_bug.cgi?id=71422
29284 Reviewed by Darin Fisher.
29286 * Platform/mac/ModuleMac.mm:
29287 (WebKit::Module::load):
29288 * Shared/API/c/WKArray.cpp:
29290 * Shared/API/c/WKData.cpp:
29292 * Shared/API/c/WKDictionary.cpp:
29293 (WKDictionaryCopyKeys):
29294 * Shared/API/c/WKGeometry.cpp:
29298 * Shared/API/c/WKMutableArray.cpp:
29299 (WKMutableArrayCreate):
29300 * Shared/API/c/WKMutableDictionary.cpp:
29301 (WKMutableDictionaryCreate):
29302 * Shared/API/c/WKNumber.cpp:
29306 * Shared/API/c/WKSharedAPICast.h:
29307 (WebKit::toCopiedAPI):
29308 (WebKit::toCopiedURLAPI):
29309 * Shared/API/c/cf/WKErrorCF.cpp:
29310 (WKErrorCreateWithCFError):
29311 * Shared/API/c/cf/WKURLRequestCF.cpp:
29312 (WKURLRequestCreateWithCFURLRequest):
29313 * Shared/API/c/cf/WKURLResponseCF.cpp:
29314 (WKURLResponseCreateWithCFURLResponse):
29315 * Shared/API/c/mac/WKURLRequestNS.mm:
29316 (WKURLRequestCreateWithNSURLRequest):
29317 * Shared/API/c/mac/WKURLResponseNS.mm:
29318 (WKURLResponseCreateWithNSURLResponse):
29319 * Shared/cf/ArgumentCodersCF.cpp:
29321 * UIProcess/API/C/WKBackForwardList.cpp:
29322 (WKBackForwardListCopyBackListWithLimit):
29323 (WKBackForwardListCopyForwardListWithLimit):
29324 * UIProcess/API/C/WKContext.cpp:
29326 (WKContextCreateWithInjectedBundlePath):
29327 * UIProcess/API/C/WKCredential.cpp:
29328 (WKCredentialCreate):
29329 (WKCredentialCreateWithCertificateInfo):
29330 * UIProcess/API/C/WKDatabaseManager.cpp:
29331 (WKDatabaseManagerGetOriginKey):
29332 (WKDatabaseManagerGetOriginQuotaKey):
29333 (WKDatabaseManagerGetOriginUsageKey):
29334 (WKDatabaseManagerGetDatabaseDetailsKey):
29335 (WKDatabaseManagerGetDatabaseDetailsNameKey):
29336 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29337 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29338 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29339 * UIProcess/API/C/WKFrame.cpp:
29340 (WKFrameCopyChildFrames):
29341 * UIProcess/API/C/WKGeolocationPosition.cpp:
29342 (WKGeolocationPositionCreate):
29343 * UIProcess/API/C/WKGrammarDetail.cpp:
29344 (WKGrammarDetailCreate):
29345 * UIProcess/API/C/WKPage.cpp:
29346 (WKPageGetSessionHistoryURLValueType):
29347 (WKPageCopySessionState):
29348 * UIProcess/API/C/WKPreferences.cpp:
29349 (WKPreferencesCreateWithIdentifier):
29350 * UIProcess/API/C/win/WKView.cpp:
29352 * UIProcess/win/WebUndoClient.cpp:
29353 (WebKit::WebUndoClient::registerEditCommand):
29354 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29355 (WKBundleFrameCopyChildFrames):
29356 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29357 (WKBundleNodeHandleCreate):
29358 (WKBundleNodeHandleCopyDocument):
29359 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29360 (WKBundleNodeHandleCopyDocumentFrame):
29361 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29362 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29363 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29364 (WKBundlePageCopyTrackedRepaintRects):
29365 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29366 (WKBundleScriptWorldCreateWorld):
29369 2011-11-02 Darin Adler <darin@apple.com>
29371 Change remaining callers of releaseRef to call leakRef
29372 https://bugs.webkit.org/show_bug.cgi?id=71422
29374 Reviewed by Darin Fisher.
29376 * Platform/mac/ModuleMac.mm:
29377 (WebKit::Module::load): Use leakRef.
29378 (WebKit::Module::unload): Use leakRef, and cast to void
29379 to avoid unused return value warning.
29381 * Shared/API/c/WKArray.cpp:
29383 * Shared/API/c/WKData.cpp:
29385 * Shared/API/c/WKDictionary.cpp:
29386 (WKDictionaryCopyKeys):
29387 * Shared/API/c/WKGeometry.cpp:
29391 * Shared/API/c/WKMutableArray.cpp:
29392 (WKMutableArrayCreate):
29393 * Shared/API/c/WKMutableDictionary.cpp:
29394 (WKMutableDictionaryCreate):
29395 * Shared/API/c/WKNumber.cpp:
29399 * Shared/API/c/WKSharedAPICast.h:
29400 (WebKit::toCopiedAPI):
29401 (WebKit::toCopiedURLAPI):
29402 * Shared/API/c/cf/WKErrorCF.cpp:
29403 (WKErrorCreateWithCFError):
29404 * Shared/API/c/cf/WKURLRequestCF.cpp:
29405 (WKURLRequestCreateWithCFURLRequest):
29406 * Shared/API/c/cf/WKURLResponseCF.cpp:
29407 (WKURLResponseCreateWithCFURLResponse):
29408 * Shared/API/c/mac/WKURLRequestNS.mm:
29409 (WKURLRequestCreateWithNSURLRequest):
29410 * Shared/API/c/mac/WKURLResponseNS.mm:
29411 (WKURLResponseCreateWithNSURLResponse):
29412 * Shared/cf/ArgumentCodersCF.cpp:
29414 * UIProcess/API/C/WKBackForwardList.cpp:
29415 (WKBackForwardListCopyBackListWithLimit):
29416 (WKBackForwardListCopyForwardListWithLimit):
29417 * UIProcess/API/C/WKContext.cpp:
29419 (WKContextCreateWithInjectedBundlePath):
29420 * UIProcess/API/C/WKCredential.cpp:
29421 (WKCredentialCreate):
29422 (WKCredentialCreateWithCertificateInfo):
29423 * UIProcess/API/C/WKDatabaseManager.cpp:
29424 (WKDatabaseManagerGetOriginKey):
29425 (WKDatabaseManagerGetOriginQuotaKey):
29426 (WKDatabaseManagerGetOriginUsageKey):
29427 (WKDatabaseManagerGetDatabaseDetailsKey):
29428 (WKDatabaseManagerGetDatabaseDetailsNameKey):
29429 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29430 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29431 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29432 * UIProcess/API/C/WKFrame.cpp:
29433 (WKFrameCopyChildFrames):
29434 * UIProcess/API/C/WKGeolocationPosition.cpp:
29435 (WKGeolocationPositionCreate):
29436 * UIProcess/API/C/WKGrammarDetail.cpp:
29437 (WKGrammarDetailCreate):
29438 * UIProcess/API/C/WKPage.cpp:
29439 (WKPageGetSessionHistoryURLValueType):
29440 (WKPageCopySessionState):
29441 * UIProcess/API/C/WKPreferences.cpp:
29442 (WKPreferencesCreateWithIdentifier):
29443 * UIProcess/API/C/win/WKView.cpp:
29445 * UIProcess/win/WebUndoClient.cpp:
29446 (WebKit::WebUndoClient::registerEditCommand):
29447 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29448 (WKBundleFrameCopyChildFrames):
29449 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29450 (WKBundleNodeHandleCreate):
29451 (WKBundleNodeHandleCopyDocument):
29452 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29453 (WKBundleNodeHandleCopyDocumentFrame):
29454 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29455 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29456 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29457 (WKBundlePageCopyTrackedRepaintRects):
29458 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29459 (WKBundleScriptWorldCreateWorld):
29462 2011-11-03 Anders Carlsson <andersca@apple.com>
29464 NetscapePlugin should use plug-in relative coordinates on Mac
29465 https://bugs.webkit.org/show_bug.cgi?id=71486
29467 Reviewed by Adam Roben.
29469 * PluginProcess/PluginControllerProxy.cpp:
29470 (WebKit::PluginControllerProxy::paint):
29471 Don't translate the graphics context when the plug-in doesn't want window relative coordinates.
29472 This also fixed a bug I introduced in my previous commit where we'd always pass the dirty rect in
29473 plug-in coordinates even if the plug-in wants window relative coordinates.
29475 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29476 (WebKit::NetscapePlugin::snapshot):
29477 Don't do the whole translate dance if the plug-in doesn't want window relative coordinates.
29479 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29480 Return false for PLATFORM_ARCHITECTURE(MAC).
29482 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29483 (WebKit::NetscapePlugin::platformPaint):
29484 Simplify code now that we know that the we're always given plug-in relative coordinates.
29486 2011-11-03 Anders Carlsson <andersca@apple.com>
29488 PluginControllerProxy's dirty rect should be in plug-in coordinates
29489 https://bugs.webkit.org/show_bug.cgi?id=71481
29491 Reviewed by Sam Weinig.
29493 * PluginProcess/PluginControllerProxy.cpp:
29494 (WebKit::PluginControllerProxy::paint):
29495 Convert the dirty rect to window coordinates before passing it to the plug-in.
29497 (WebKit::PluginControllerProxy::invalidate):
29498 No need to convert the dirty rect to window coordinates.
29500 (WebKit::PluginControllerProxy::paintEntirePlugin):
29501 Use m_pluginSize instead of m_frameRectInWindowCoordinates.isEmpty.
29503 2011-11-03 Anders Carlsson <andersca@apple.com>
29505 Use the right function to determine whether NPWindow coordinates should be window relative
29506 https://bugs.webkit.org/show_bug.cgi?id=71480
29508 Reviewed by Adam Roben.
29510 We want to use wantsWindowRelativeNPWindowCoordinates here, and not wantsWindowRelativeCoordinates
29511 which is a temporary function that will be removed (and that returns the wrong value!)
29513 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29514 (WebKit::NetscapePlugin::geometryDidChange):
29516 2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
29518 Unreviewed build fix after r99195.
29520 The right name is restrictMinimumScaleFactorToViewportSize.
29522 * UIProcess/API/qt/qtouchwebview.cpp:
29523 (QTouchWebViewPrivate::updateViewportConstraints):
29525 2011-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
29527 [GTK] Use WEBKIT_API instead of WK_EXPORT in WebKitEnumTypes.h
29528 https://bugs.webkit.org/show_bug.cgi?id=71457
29530 Reviewed by Martin Robinson.
29534 2011-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
29536 [Qt] Bounce back limits are wrong in some situations
29537 https://bugs.webkit.org/show_bug.cgi?id=71471
29539 Reviewed by Simon Hausmann.
29541 The valid position points were in viewport coordinates, but we were
29542 requiring valid position points in content coordinates.
29544 * UIProcess/qt/QtViewportInteractionEngine.cpp:
29545 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
29547 2011-11-03 Fady Samuel <fsamuel@chromium.org>
29549 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
29550 https://bugs.webkit.org/show_bug.cgi?id=70609
29552 Reviewed by Kenneth Rohde Christiansen.
29554 * UIProcess/API/qt/qtouchwebview.cpp:
29555 (QTouchWebViewPrivate::updateViewportConstraints):
29556 * WebProcess/WebPage/WebPage.cpp:
29557 (WebKit::WebPage::viewportConfigurationAsText):
29559 2011-11-03 Andras Becsi <andras.becsi@nokia.com>
29561 [Qt][WK2] Fix the signal signature of the loadFailed API test.
29563 Rubber-stamped by Simon Hausmann.
29565 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
29566 (WebViewAbstraction::touchViewLoadFailed):
29567 (WebViewAbstraction::desktopViewLoadFailed):
29569 2011-11-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
29571 [Qt] Fix an assertion under WebPage::setViewportSize.
29572 https://bugs.webkit.org/show_bug.cgi?id=71473
29574 Reviewed by Simon Hausmann.
29576 The web view can have an empty size and it causes the assert in computeViewportAttributes.
29577 Don't notify the web page of such a size change in this case.
29579 * UIProcess/API/qt/qtouchwebview.cpp:
29580 (QTouchWebViewPrivate::updateViewportSize):
29582 2011-11-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
29584 [WK2] State variable name refactor in WebPageProxy.cpp
29585 https://bugs.webkit.org/show_bug.cgi?id=71467
29587 Reviewed by Andreas Kling.
29589 Renaming m_inDecidePolicyForMIMEType to m_inDecidePolicyForResponse after
29590 https://bugs.webkit.org/show_bug.cgi?id=55827 .
29592 * UIProcess/WebPageProxy.cpp:
29593 (WebKit::WebPageProxy::WebPageProxy):
29594 (WebKit::WebPageProxy::receivedPolicyDecision):
29595 (WebKit::WebPageProxy::decidePolicyForResponse):
29596 * UIProcess/WebPageProxy.h:
29598 2011-11-03 Nayan Kumar K <nayankk@motorola.com>
29600 [GTK][WEBKIT2] Add support for title property in WebKitWebView.
29601 https://bugs.webkit.org/show_bug.cgi?id=68074
29603 Reviewed by Philippe Normand.
29605 Support for 'title' property is added in WebKitWebView.
29606 Functions to get the value of this property is provided.
29608 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29609 (didReceiveTitleForFrame): LoaderClient titleRecieve callback.
29610 (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback.
29611 * UIProcess/API/gtk/WebKitWebView.cpp:
29612 (webkitWebViewGetProperty): 'title' property get function.
29613 (webkit_web_view_class_init): Register new property.
29614 (webkitWebViewSetTitle): Notify WebKitWebView about title receive.
29615 (webkit_web_view_get_title): API to get main frame title.
29616 * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose.
29617 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API.
29618 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29619 (testWebViewTitle): Test webkit_web_view_get_title API.
29620 (beforeAll): Add testWebViewTitle test.
29622 2011-11-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
29624 [Qt][WK2] Download support and API in UIProcess
29625 https://bugs.webkit.org/show_bug.cgi?id=68962
29627 Reviewed by Simon Hausmann.
29629 We implement our WkContextDownloadClient and the needed callbacks.
29630 We also add APIs by exposing QWebDownloadItem. Objects from this type
29631 have their ownership handled by QDesktopWebView and will be created or
29632 destroyed as needed. Classes implementing ViewInterface (QDesktopWebViewPrivate
29633 and TouchViewInterface) will receive a signal (downloadRequested) with a pointer
29634 to the recently created QWebDownloadItem. With that they can connect the proper
29635 signals and slots, set the download destination path and then call start().
29636 Objects of this type will provide the progress of a download, a slot to cancel it,
29637 and signals for getting finished or failure status.
29638 QWebDownloadItem was also exposed in QML.
29639 Qt needed an asynchronous way for UIProcess to return a destination path to WebProcess,
29640 therefore the startTransfer API was added to WebKit2's Download handlers.
29642 * Shared/qt/WebCoreArgumentCodersQt.cpp:
29643 (CoreIPC::::encode):
29644 (CoreIPC::::decode):
29645 Add encoding and decoding of suggestedFilename for ResourceResponse.
29647 * UIProcess/API/qt/WKView.h:
29648 * UIProcess/API/qt/qbasewebview.h: Add signal downloadRequested.
29649 * UIProcess/API/qt/qdesktopwebview.cpp:
29650 (QDesktopWebViewPrivate::downloadRequested):
29651 * UIProcess/API/qt/qdesktopwebview_p.h:
29653 * UIProcess/API/qt/qwebdownloaditem.cpp: Added.
29654 (QWebDownloadItemPrivate::QWebDownloadItemPrivate):
29655 (QWebDownloadItem::QWebDownloadItem):
29656 (QWebDownloadItem::~QWebDownloadItem):
29657 (QWebDownloadItem::url):
29658 (QWebDownloadItem::destinationPath):
29659 (QWebDownloadItem::setDestinationPath):
29660 (QWebDownloadItem::suggestedFilename):
29661 (QWebDownloadItem::mimeType):
29662 (QWebDownloadItem::expectedContentLength):
29663 (QWebDownloadItem::totalBytesReceived):
29664 (QWebDownloadItem::cancel):
29665 (QWebDownloadItem::start):
29666 * UIProcess/API/qt/qwebdownloaditem.h: Added.
29667 * UIProcess/API/qt/qwebdownloaditem_p.h: Added.
29668 (QWebDownloadItemPrivate::didReceiveResponse):
29670 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: Added.
29671 * UIProcess/API/qt/tests/qmltests/common/download.html: Added.
29672 * UIProcess/API/qt/tests/qmltests/common/download.zip: Added.
29673 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
29675 * UIProcess/Downloads/DownloadProxy.cpp:
29676 (WebKit::DownloadProxy::startTransfer): Qt only function added.
29677 * UIProcess/Downloads/DownloadProxy.h:
29679 * UIProcess/PageClient.h: Added Qt specific function to call handleDownloadRequest from QtWebPageProxy.
29681 * UIProcess/WebContext.cpp:
29682 (WebKit::WebContext::download):
29683 Using WebPageProxy::handleDownloadRequest to bootstrap a download through PageClient.
29685 * UIProcess/WebPageProxy.cpp:
29686 (WebKit::WebPageProxy::receivedPolicyDecision):
29687 Using handleDownloadRequest() to bootstrap a download through PageClient.
29688 (WebKit::WebPageProxy::handleDownloadRequest): Calls PageClient::handleDownloadRequest().
29689 * UIProcess/WebPageProxy.h:
29691 * UIProcess/qt/QtDownloadManager.cpp: Added.
29692 (WebKit::toQtDownloadManager):
29693 (WebKit::qt_wk_didReceiveResponse):
29694 (WebKit::qt_wk_didCreateDestination):
29695 (WebKit::qt_wk_didFinishDownload):
29696 (WebKit::qt_wk_didFailDownload):
29697 (WebKit::qt_wk_didReceiveDataForDownload):
29698 (QtDownloadManager::downloadReceivedResponse): Will reach QtWebPageProxy::didReceiveDownloadResponse.
29699 (QtDownloadManager::downloadCreatedDestination):
29700 (QtDownloadManager::downloadFinished):
29701 (QtDownloadManager::downloadFailed):
29702 (QtDownloadManager::downloadDataReceived):
29703 * UIProcess/qt/QtDownloadManager.h: Added.
29704 Bootstrap our WKContextDownloadClient and set its callbacks.
29705 This entity will also handle all downloads and keep a map of them.
29706 It will be kept alive together with the WebContext as a static member
29707 of QtWebPageProxy, so we can keep it across several WebPages and, therefore,
29710 * UIProcess/qt/QtWebPageProxy.cpp:
29711 (QtWebPageProxy::defaultWKContext):
29712 (QtWebPageProxy::~QtWebPageProxy):
29713 (QtWebPageProxy::handleDownloadRequest):
29714 (QtWebPageProxy::didReceiveDownloadResponse):
29715 * UIProcess/qt/QtWebPageProxy.h:
29716 From now on it will keep a static QtDownloadManager to live together
29717 with the default WebContext. It implements PageClient::handleDownloadRequest.
29718 QtWebPageProxy::didReceiveDownloadResponse will emit the view's signal downloadRequested.
29720 * UIProcess/qt/QtTouchViewInterface.h:
29721 (WebKit::QtTouchViewInterface::downloadRequested):
29722 * UIProcess/qt/QtViewInterface.h:
29724 * UIProcess/qt/qweberror.cpp:
29725 (QWebError::description):
29726 * UIProcess/qt/qweberror.h:
29727 (QWebError::errorCodeAsDownloadError):
29728 Add Download error handling to QWebError and a new API
29729 to retrieve the error description from the original ResourceError.
29730 Also, it now has QWebDownloadItem::DownloadError errorCodeAsDownloadError()
29731 that returns the error code as a DownloadError.
29736 * WebProcess/Downloads/Download.h:
29737 * WebProcess/Downloads/DownloadManager.cpp:
29738 (WebKit::DownloadManager::startTransfer):
29739 * WebProcess/Downloads/DownloadManager.h:
29740 Adding Qt specific startTransfer function.
29742 * WebProcess/Downloads/qt/DownloadQt.cpp:
29743 (WebKit::Download::start):
29744 (WebKit::Download::startWithHandle):
29745 (WebKit::Download::didDecideDestination):
29746 (WebKit::Download::startTransfer):
29747 * WebProcess/Downloads/qt/QtFileDownloader.cpp:
29748 (WebKit::QtFileDownloader::init): start() was renamed to init().
29749 (WebKit::QtFileDownloader::determineFilename):
29750 Calling onReadyRead() here was unnecessary and it was triggering the overall
29751 download process even before DownloadManager finished startDownload(). This
29752 was leading to a DownloadManager with an empty list of downloads.
29753 (WebKit::QtFileDownloader::startTransfer): decidedDestination() became startTransfer().
29754 (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
29755 (WebKit::QtFileDownloader::handleDownloadResponse):
29756 (WebKit::QtFileDownloader::onReadyRead):
29757 (WebKit::QtFileDownloader::onFinished):
29758 (WebKit::QtFileDownloader::cancel):
29759 * WebProcess/Downloads/qt/QtFileDownloader.h:
29761 * WebProcess/WebProcess.cpp:
29762 (WebKit::WebProcess::startTransfer):
29763 * WebProcess/WebProcess.h:
29764 * WebProcess/WebProcess.messages.in:
29765 Adding Qt specific message StartTransfer and handling function.
29767 2011-11-03 Nayan Kumar K <nayankk@motorola.com>
29769 Add webkit_web_view_load_html and webkit_web_view_load_plain_text APIs.
29770 https://bugs.webkit.org/show_bug.cgi?id=69249
29772 Reviewed by Philippe Normand.
29774 This patch adds support for 2 more load APIs, namely
29775 webkit_web_view_load_html and webkit_web_view_load_plain_text.
29777 * UIProcess/API/gtk/WebKitWebView.cpp:
29778 (webkit_web_view_load_html): New API to load html string.
29779 (webkit_web_view_load_plain_text): New API to load plain text.
29780 * UIProcess/API/gtk/WebKitWebView.h: Public API addition.
29781 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29782 (testLoadHtml): Test webkit_web_view_load_html API.
29783 (testLoadPlainText): Test webkit_web_view_load_plain_text API.
29784 (beforeAll): Add new tests.
29785 * UIProcess/API/gtk/tests/WebViewTest.cpp:
29786 (WebViewTest::loadHtml): Test webkit_web_view_load_html API.
29787 (WebViewTest::loadPlainText): Test webkit_web_view_load_plain_text API.
29788 * UIProcess/API/gtk/tests/WebViewTest.h:
29790 2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
29792 [Qt][WK2] Failing assertion with desktop webview when touch mocking in MinBrowser
29793 https://bugs.webkit.org/show_bug.cgi?id=71452
29795 Reviewed by Andreas Kling.
29797 Don't re-implement touchEvent(), we don't intend to support touch events as we
29798 receive them from the QQuickCanvas at this point.
29800 * UIProcess/API/qt/qdesktopwebview.cpp:
29801 * UIProcess/API/qt/qdesktopwebview.h:
29803 2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
29805 [Qt] [WK2] MiniBrowser assert in QtWebProccess on startup in debug build.
29806 https://bugs.webkit.org/show_bug.cgi?id=71196
29808 Reviewed by Kenneth Rohde Christiansen.
29810 Ensure AC is turned off for the desktop view before we launch the process.
29811 This avoids "accidential" enterAc/exitAc calls that cause failing assertions
29812 because we don't really support AC in this setup.
29814 The touch side works the same way, i.e. enable the preference before calling
29817 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29818 (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
29820 2011-11-03 Balazs Kelemen <kbalazs@webkit.org>
29822 [Qt] X11 plugins need to be reworked for Qt5
29823 https://bugs.webkit.org/show_bug.cgi?id=70023
29825 Reviewed by Simon Hausmann.
29827 Disable X11 plugins.
29830 2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
29832 Unreviewed Qt build fix(es).
29834 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29835 (QtDesktopWebPageProxy::handleDragMoveEvent): Adapt to dragSession API change.
29836 (QtDesktopWebPageProxy::handleDropEvent): Ditto.
29837 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
29838 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): Implement here
29839 also, for plugin-disabled builds.
29841 2011-11-03 ChangSeok Oh <shivamidow@gmail.com>
29843 [GTK] Fix build-break on r99143
29844 https://bugs.webkit.org/show_bug.cgi?id=71440
29846 Reviewed by Philippe Normand.
29848 dragOperation() should be replaced with dragSession().operation since it was removed.
29849 And didDetectXSSForFrame of WKPageLoaderClient should be relocated.
29851 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29852 (webkitWebLoaderClientAttachLoaderClientToPage):
29853 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29854 (webkitWebViewBaseDragDataReceived):
29855 (webkitWebViewBaseDragMotion):
29857 2011-11-03 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
29859 [Qt] Flagging usage of X11 headers under PLAT_ARCH(X11)
29860 https://bugs.webkit.org/show_bug.cgi?id=71409
29862 Reviewed by Simon Hausmann.
29864 Build fix for building qtwebkit with latest qt5 which has removed Qt X11 headers.
29866 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
29868 2011-11-03 Philippe Normand <pnormand@igalia.com>
29870 Unreviewed, GTK build fix after r99093...
29872 * PluginProcess/PluginControllerProxy.h:
29874 2011-11-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
29876 [Qt] [WK] Debug build broken
29877 https://bugs.webkit.org/show_bug.cgi?id=71417
29879 Add WKNumber.h for WKBooleanGetTypeID
29880 Replace WKGetTypeId with WKGetTypeID
29881 Add initialization for didDetectXSSForFrame member in WKBundlePageLoaderClient
29884 Reviewed by Noam Rosenthal.
29886 * WebProcess/qt/QtBuiltinBundle.cpp:
29887 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
29888 * WebProcess/qt/QtBuiltinBundlePage.cpp:
29889 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
29891 2011-11-02 Mark Hahnenberg <mhahnenberg@apple.com>
29893 De-virtualize JSObject::getOwnPropertyNames
29894 https://bugs.webkit.org/show_bug.cgi?id=71307
29896 Reviewed by Darin Adler.
29898 Added getOwnPropertyNames to the MethodTable, changed all the virtual
29899 implementations of getOwnPropertyNames to static ones, and replaced
29900 all call sites with corresponding lookups in the MethodTable.
29902 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
29903 (WebKit::JSNPObject::getOwnPropertyNames):
29904 * WebProcess/Plugins/Netscape/JSNPObject.h:
29906 2011-11-02 Anders Carlsson <andersca@apple.com>
29908 Don't call NPP_SetWindow if the plug-in size or clip rect hasn't changed if the plug-in isn't using window relative coordinates
29909 https://bugs.webkit.org/show_bug.cgi?id=71418
29911 Reviewed by Adam Roben.
29913 This avoids calling into the plug-in when only the plug-in position relative to the window changes.
29915 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29916 (WebKit::NetscapePlugin::geometryDidChange):
29918 2011-11-02 Jon Lee <jonlee@apple.com>
29922 * WebProcess/WebPage/WebPage.cpp:
29923 (WebKit::WebPage::performDragControllerAction):
29925 2011-11-02 Jon Lee <jonlee@apple.com>
29927 Fix build error from r99108.
29929 * WebProcess/WebPage/WebPage.cpp:
29930 (WebKit::WebPage::performDragControllerAction):
29932 2011-11-02 Dean Jackson <dino@apple.com>
29934 Add ENABLE_CSS_SHADERS flag
29935 https://bugs.webkit.org/show_bug.cgi?id=71394
29937 Reviewed by Sam Weinig.
29939 * Configurations/FeatureDefines.xcconfig:
29941 2011-11-02 Anders Carlsson <andersca@apple.com>
29943 Allow the various plug-in ports to decide whether NPWindow coordinates should be window-relative
29944 https://bugs.webkit.org/show_bug.cgi?id=71415
29946 Reviewed by Darin Adler.
29948 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29949 (WebKit::NetscapePlugin::callSetWindow):
29950 Remove the PLUGIN_ARCHITECTURE(X11) ifdef and set the NPWindow members
29951 based on the return value of wantsWindowRelativeNPWindowCoordinates.
29953 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29954 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29955 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29956 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29957 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29958 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29959 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29960 Add platform specific implementations.
29962 2011-11-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
29964 [Qt] [WK] Debug build broken after r99065
29965 https://bugs.webkit.org/show_bug.cgi?id=71397
29967 Remove reference to panGestureActive becuase it is not defined anywhere.
29969 Reviewed by Simon Hausmann.
29971 * UIProcess/qt/QtViewportInteractionEngine.cpp:
29972 (WebKit::QtViewportInteractionEngine::panGestureStarted):
29974 2011-11-02 Jon Lee <jonlee@apple.com>
29976 Update dragging info on mac when user is dragging files into view
29977 https://bugs.webkit.org/show_bug.cgi?id=71325
29978 <rdar://problem/10379193>
29980 Reviewed by Darin Adler.
29982 * UIProcess/API/mac/WKView.mm:
29983 (-[WKView draggingUpdated:]): Based on the DragSession, we update NSDraggingInfo
29984 to update the badge and dragging formation.
29986 2011-11-02 Jon Lee <jonlee@apple.com>
29988 Expand DragController to provide more information about the dragging session
29989 https://bugs.webkit.org/show_bug.cgi?id=71324
29990 <rdar://problem/10379175>
29992 Reviewed by Darin Adler.
29994 We now pass the DragSession struct from the Web to the UI process, instead of the
29995 DragOperation enum.
29997 * Scripts/webkit2/messages.py:
29998 * Shared/WebCoreArgumentCoders.cpp:
29999 (CoreIPC::::encode):
30000 (CoreIPC::::decode):
30001 * Shared/WebCoreArgumentCoders.h:
30002 * UIProcess/API/mac/WKView.mm:
30003 (-[WKView draggingUpdated:]):
30004 * UIProcess/WebPageProxy.cpp:
30005 (WebKit::WebPageProxy::WebPageProxy): We now cache the last known DragSession state
30006 (WebKit::WebPageProxy::didPerformDragControllerAction):
30007 * UIProcess/WebPageProxy.h:
30008 (WebKit::WebPageProxy::dragSession):
30009 (WebKit::WebPageProxy::resetDragOperation):
30010 * UIProcess/WebPageProxy.messages.in:
30011 * UIProcess/win/WebView.cpp:
30012 (WebKit::WebView::keyStateToDragOperation):
30013 (WebKit::WebView::DragEnter):
30014 (WebKit::WebView::DragOver):
30015 * WebProcess/WebPage/WebPage.cpp:
30016 (WebKit::WebPage::performDragControllerAction):
30018 2011-11-02 Anders Carlsson <andersca@apple.com>
30020 Get rid of Plugin::deprecatedGeometryDidChange
30021 https://bugs.webkit.org/show_bug.cgi?id=71411
30023 Reviewed by Sam Weinig.
30025 Now that all Plugin subclasses implement geometryDidChange and do all the work there
30026 we can get rid of deprecatedGeometryDidChange.
30028 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30029 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30030 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
30031 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
30032 * WebProcess/Plugins/Plugin.h:
30033 * WebProcess/Plugins/PluginProxy.cpp:
30034 * WebProcess/Plugins/PluginProxy.h:
30035 * WebProcess/Plugins/PluginView.cpp:
30036 (WebKit::PluginView::viewGeometryDidChange):
30038 2011-11-02 Anders Carlsson <andersca@apple.com>
30040 Move back functions that were not added.
30042 * UIProcess/API/C/WKPage.h:
30044 2011-11-02 Anders Carlsson <andersca@apple.com>
30046 Fix build and WebKit2 ABI.
30048 * Shared/APIClientTraits.cpp:
30049 * Shared/APIClientTraits.h:
30050 Add page loader client sizes.
30052 * UIProcess/API/C/WKPage.h:
30053 Move the newly added callback functions in the loader client last and bump the
30054 WKPageLoaderClient version.
30056 2011-11-02 Anders Carlsson <andersca@apple.com>
30060 * WebProcess/Plugins/PluginView.h:
30062 2011-11-02 Tom Sepez <tsepez@chromium.org>
30064 XSSAuditor is silent
30065 https://bugs.webkit.org/show_bug.cgi?id=70973
30067 Reviewed by Adam Barth.
30069 * UIProcess/API/C/WKPage.h:
30070 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
30071 (webkitWebLoaderClientAttachLoaderClientToPage):
30072 * UIProcess/WebLoaderClient.cpp:
30073 (WebKit::WebLoaderClient::didDetectXSSForFrame):
30074 * UIProcess/WebLoaderClient.h:
30075 * UIProcess/WebPageProxy.cpp:
30076 (WebKit::WebPageProxy::didDetectXSSForFrame):
30077 * UIProcess/WebPageProxy.h:
30078 * UIProcess/WebPageProxy.messages.in:
30079 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30080 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30081 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
30082 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
30083 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30084 (WebKit::WebFrameLoaderClient::didDetectXSS):
30085 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
30087 2011-11-02 Anders Carlsson <andersca@apple.com>
30089 More window relative coordinate usage removal
30090 https://bugs.webkit.org/show_bug.cgi?id=71393
30092 Reviewed by Adam Roben.
30094 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30095 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30096 Just use m_clipRect instead of converting m_clipRectInWindowCoordinates to plug-in coordinates.
30098 (WebKit::NetscapePlugin::platformPaint):
30099 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
30101 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30102 (WebKit::NetscapePlugin::platformPaint):
30105 2011-11-02 Anders Carlsson <andersca@apple.com>
30107 Fix non-Mac builds and remove #if PLATFORM(MAC) around all contents scale factor functions.
30109 * PluginProcess/PluginControllerProxy.cpp:
30110 (WebKit::PluginControllerProxy::PluginControllerProxy):
30111 (WebKit::PluginControllerProxy::contentsScaleFactor):
30112 (WebKit::PluginControllerProxy::geometryDidChange):
30113 * PluginProcess/PluginControllerProxy.h:
30114 * PluginProcess/PluginCreationParameters.cpp:
30115 (WebKit::PluginCreationParameters::PluginCreationParameters):
30116 (WebKit::PluginCreationParameters::encode):
30117 (WebKit::PluginCreationParameters::decode):
30118 * PluginProcess/PluginCreationParameters.h:
30119 * PluginProcess/mac/PluginControllerProxyMac.mm:
30120 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30121 (WebKit::NetscapePlugin::contentsScaleFactor):
30122 (WebKit::NetscapePlugin::getAuthenticationInfo):
30123 (WebKit::NetscapePlugin::snapshot):
30124 (WebKit::NetscapePlugin::contentsScaleFactorChanged):
30125 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30126 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30127 * WebProcess/Plugins/Plugin.h:
30128 * WebProcess/Plugins/PluginController.h:
30129 * WebProcess/Plugins/PluginProxy.cpp:
30130 (WebKit::PluginProxy::initialize):
30131 (WebKit::PluginProxy::contentsScaleFactorChanged):
30132 (WebKit::PluginProxy::contentsScaleFactor):
30133 * WebProcess/Plugins/PluginProxy.h:
30134 * WebProcess/Plugins/PluginView.cpp:
30135 (WebKit::PluginView::contentsScaleFactor):
30137 2011-11-02 Anders Carlsson <andersca@apple.com>
30139 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size() in NetscapePlugin.
30140 https://bugs.webkit.org/show_bug.cgi?id=71390
30142 Reviewed by Adam Roben.
30144 m_pluginSize is always equal to m_frameRectInWindowCoordinates.size() and this moves us one
30145 sall step further towards eliminating m_frameRectInWindowCoordinates.
30147 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30148 (WebKit::NetscapePlugin::invalidate):
30149 (WebKit::NetscapePlugin::snapshot):
30151 2011-11-02 Anders Carlsson <andersca@apple.com>
30153 Fix non-Mac builds.
30155 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30156 (WebKit::NetscapePlugin::snapshot):
30158 2011-11-02 Anders Carlsson <andersca@apple.com>
30160 Plug-in snapshots are blurry in HiDPI
30161 https://bugs.webkit.org/show_bug.cgi?id=71387
30162 <rdar://problem/10385393>
30164 Reviewed by Adam Roben.
30166 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30167 (WebKit::NetscapePlugin::snapshot):
30168 Create the backing store in the right size and apply the contents scale factor
30169 to the newly created graphics context.
30171 * WebProcess/Plugins/PluginView.cpp:
30172 (WebKit::PluginView::paint):
30173 Pass the scale factor to ShareableBitmap::paint.
30175 2011-11-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
30177 [Qt] Implement message exchange between WebView and the web page
30178 https://bugs.webkit.org/show_bug.cgi?id=70545
30180 Reviewed by Noam Rosenthal.
30182 Adds a mechanism for the WebView to send messages to the JavaScript environment
30183 of the web page. In the WebView we have a method postMessage() and a signal
30184 messageReceived(), while in the web page we expose a navigator.qt object with a
30185 postMessage() method and a onmessage property. The messages are objects that
30186 follow the same structure as MessageEvents.
30188 The feature is disabled by default, and can be enabled by setting
30189 QWebPreferences::navigatorQtObjectEnabled property to true. Changes take effect
30190 after the next load(). QML tests are included.
30192 * UIProcess/qt/ClientImpl.h:
30193 * UIProcess/qt/ClientImpl.cpp:
30194 (setupContextInjectedBundleClient): Helper to register the injected bundle client.
30195 (qt_wk_didReceiveMessageFromInjectedBundle): Decode and dispatch a message received
30196 from the WebProcess to the WebPageProxy.
30198 * UIProcess/PageClient.h:
30199 (WebKit::PageClient::didReceiveMessageFromNavigatorQtObject):
30200 * UIProcess/WebPageProxy.cpp:
30201 (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
30202 * UIProcess/WebPageProxy.h:
30203 Handle messages received from the navigator.qt object via the injected bundle. Called
30204 from the ClientImpl.
30206 * UIProcess/API/qt/qbasewebview.cpp:
30207 (QBaseWebView::postMessage):
30208 (QBaseWebViewPrivate::setPageProxy):
30209 * UIProcess/API/qt/qbasewebview.h:
30210 * UIProcess/API/qt/qwebpreferences.cpp:
30211 (QWebPreferences::navigatorQtObjectEnabled):
30212 (QWebPreferences::setNavigatorQtObjectEnabled):
30213 * UIProcess/API/qt/qwebpreferences.h:
30214 The signal, slot and the setting to enable the feature.
30216 * UIProcess/qt/QtWebPageProxy.cpp:
30217 (QtWebPageProxy::defaultWKContext): setup the injected bundle client for this the
30218 default context so we can listen to messages from it.
30220 (QtWebPageProxy::QtWebPageProxy):
30221 (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
30222 (QtWebPageProxy::setNavigatorQtObjectEnabled):
30223 (QtWebPageProxy::postMessageToNavigatorQtObject):
30224 * UIProcess/qt/QtWebPageProxy.h:
30225 (QtWebPageProxy::navigatorQtObjectEnabled):
30226 Enabling and sending messages to the navigator.qt object are done by sending messages to
30227 the injected bundle, identifying the page that we want to act on.
30229 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: Added.
30230 * UIProcess/API/qt/tests/qmltests/common/messaging.html: Added.
30231 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30232 * WebProcess/qt/QtBuiltinBundle.cpp:
30233 (WebKit::QtBuiltinBundle::initialize):
30234 (WebKit::QtBuiltinBundle::didReceiveMessage):
30235 (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
30236 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
30237 * WebProcess/qt/QtBuiltinBundle.h:
30238 * WebProcess/qt/QtBuiltinBundlePage.cpp:
30239 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30240 (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30241 (WebKit::QtBuiltinBundlePage::didClearWindowForFrame):
30242 (WebKit::qt_postMessageCallback):
30243 (WebKit::QtBuiltinBundlePage::postMessageFromNavigatorQtObject):
30244 (WebKit::createWrappedMessage):
30245 (WebKit::QtBuiltinBundlePage::didReceiveMessageToNavigatorQtObject):
30246 (WebKit::QtBuiltinBundlePage::setNavigatorQtObjectEnabled):
30247 (WebKit::QtBuiltinBundlePage::registerNavigatorQtObject):
30248 (WebKit::QtBuiltinBundlePage::navigatorQtObjectClass):
30249 * WebProcess/qt/QtBuiltinBundlePage.h:
30250 (WebKit::QtBuiltinBundlePage::navigatorQtObjectEnabled):
30252 2011-11-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
30254 [Qt] Fix qmltest API test failures related to r98973.
30255 https://bugs.webkit.org/show_bug.cgi?id=71280
30257 Reviewed by Noam Rosenthal.
30259 Most of the API was moved from TouchWebView.page to TouchWebView directly.
30260 Fixed the qml tests to reflect this change.
30262 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
30263 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
30264 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
30265 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
30266 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
30267 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
30268 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
30270 2011-11-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
30272 [Qt] Handle interruption of page interaction better
30273 https://bugs.webkit.org/show_bug.cgi?id=71366
30275 Reviewed by Simon Hausmann.
30277 Touching the screen when a kinetic scrolling animation is running or
30278 it is bouncing back because it was out of bounds, the animation is
30279 immediately stopped and the content is immediately put into valid
30282 Touching the screen when the contents is bouncing back from a pinch
30283 zoom which was out of bounds, we do not stop the animation, but
30284 instead ignored the touch events while the animation lasts.
30286 In the future we want to queue the events instead.
30288 This also fixes some issues which was present before: As the bounce
30289 back animation from pinch zoom centers the content using the contents
30290 point which was in the center of the viewport, this animation could
30291 not be used when stopping a pan animation, as it wouldn't position the
30292 content at the place it was when the pan animation was interrupted.
30294 * UIProcess/qt/QtPanGestureRecognizer.cpp:
30295 (WebKit::QtPanGestureRecognizer::recognize):
30296 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
30297 (WebKit::QtPinchGestureRecognizer::recognize):
30298 * UIProcess/qt/QtViewportInteractionEngine.cpp:
30299 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30300 (WebKit::QtViewportInteractionEngine::reset):
30301 (WebKit::QtViewportInteractionEngine::setConstraints):
30302 (WebKit::QtViewportInteractionEngine::panAnimationActive):
30303 (WebKit::QtViewportInteractionEngine::panGestureStarted):
30304 (WebKit::QtViewportInteractionEngine::panGestureCancelled):
30305 (WebKit::QtViewportInteractionEngine::pinchAnimationActive):
30306 * UIProcess/qt/QtViewportInteractionEngine.h:
30308 2011-11-02 Zalan Bujtas <zbujtas@gmail.com>
30310 [Qt][WK2] Move content to resize (setResizesToContentsUsingLayoutSize) from UI process to Web process
30311 https://bugs.webkit.org/show_bug.cgi?id=71107
30313 Reviewed by Kenneth Rohde Christiansen.
30315 Reduce the number of IPC calls to WebProcess by moving the content to resize
30316 calls from UI process to Web process.
30318 * UIProcess/API/qt/qtouchwebview.cpp:
30319 (QTouchWebViewPrivate::updateViewportSize):
30320 (QTouchWebViewPrivate::updateViewportConstraints):
30321 (QTouchWebView::geometryChanged):
30322 * UIProcess/API/qt/qtouchwebview_p.h:
30323 * UIProcess/WebPageProxy.cpp:
30324 (WebKit::WebPageProxy::setViewportSize):
30325 (WebKit::WebPageProxy::preferencesDidChange):
30326 * UIProcess/WebPageProxy.h:
30327 * UIProcess/qt/QtTouchWebPageProxy.cpp:
30328 * UIProcess/qt/QtTouchWebPageProxy.h:
30329 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
30330 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
30331 * WebProcess/WebPage/WebPage.messages.in:
30333 2011-10-18 Dinu Jacob <dinu.jacob@nokia.com>
30335 [Qt][WK2]: Shouldn't send unhandled TouchCancel event to gesture recognizers
30336 https://bugs.webkit.org/show_bug.cgi?id=70333
30338 Reviewed by Simon Hausmann.
30340 Gesture recognizers should be reset for unhandled TouchCancel event.
30342 * UIProcess/qt/qtouchwebpageproxy.cpp:
30343 (QTouchWebPageProxy::doneWithTouchEvent):
30345 2011-11-02 Simon Hausmann <simon.hausmann@nokia.com>
30347 [Qt][WK2] Add support for touch event testing to WebKitTestRunner
30348 https://bugs.webkit.org/show_bug.cgi?id=71310
30350 Reviewed by Kenneth Rohde Christiansen.
30352 * UIProcess/WebPageProxy.cpp:
30353 (WebKit::WebPageProxy::handleTouchEvent): Add support for m_shouldSendEventsSynchronously.
30354 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30355 (QtDesktopWebPageProxy::handleEvent): Handle plain touch events in the desktop page proxy by
30356 forwarding them appropriately. We will receive them from WTR through ::event, but we won't
30357 receive them from QQuickCanvas (i.e. the user) because that doesn't uses ::event but only
30358 dedicated fooEvent() handlers, of which we don't re-implement the touch version.
30359 (QtDesktopWebPageProxy::handleTouchEvent): Forward touch events to WebPageProxy.
30360 * UIProcess/qt/QtDesktopWebPageProxy.h:
30361 * WebProcess/WebPage/WebPage.cpp:
30362 (WebKit::WebPage::touchEventSyncForTesting): Add support for synchronous touch event testing,
30363 similar to the way it's done for mouse events.
30364 * WebProcess/WebPage/WebPage.h: Ditto.
30365 * WebProcess/WebPage/WebPage.messages.in: Ditto.
30367 2011-11-02 Simon Hausmann <simon.hausmann@nokia.com>
30369 [WK2] Remove unused/duplicated modifiers member from WebTouchEvent
30370 https://bugs.webkit.org/show_bug.cgi?id=71353
30372 Reviewed by Kenneth Rohde Christiansen.
30374 WebTouchEvent::m_[ctrl,alt,meta,shift]Key are redundant compared to
30375 WebEvent::m_modifiers. The latter is fully populated and used, the former
30376 can be safely removed.
30378 * Shared/WebEvent.h:
30379 * Shared/WebTouchEvent.cpp:
30380 (WebKit::WebTouchEvent::WebTouchEvent):
30381 * Shared/qt/WebEventFactoryQt.cpp:
30382 (WebKit::WebEventFactory::createWebTouchEvent):
30384 2011-11-02 Philippe Normand <pnormand@igalia.com>
30386 Unreviewed, skip testWebKitSettingsNewWithSettings affected by bug
30389 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30390 (testWebKitSettingsNewWithSettings):
30392 2011-11-01 Andras Becsi <andras.becsi@nokia.com>
30394 [Qt][WK2] Make API tests less noisy
30395 https://bugs.webkit.org/show_bug.cgi?id=71295
30397 Reviewed by Simon Hausmann.
30399 Suppress superfluous debug messages of Qt5.
30401 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30402 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
30403 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30404 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30406 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30407 * UIProcess/API/qt/tests/util.cpp:
30409 * UIProcess/API/qt/tests/util.h:
30411 2011-11-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
30413 [Qt] Merge common desktop and touch view APIs under a base class.
30414 https://bugs.webkit.org/show_bug.cgi?id=71280
30416 Reviewed by Andreas Kling.
30418 - Make QDesktopWebView and QTouchWebView inherit from QBaseWebView.
30419 - Move methods from QTouchWebPage to QTouchWebView (through the base class).
30421 We use the same convenience macros as Qt internally by hiding QObject::d_ptr
30422 with QBaseWebView::d_ptr instead of inheriting QBaseWebViewPrivate from
30424 Also, QBaseWebView currently inherits from QQuickPaintedItem since QDesktopWebView
30425 needs it, but should be changed as soon as this is not required anymore.
30427 * UIProcess/API/qt/qbasewebview.cpp: Added.
30428 (QBaseWebViewPrivate::QBaseWebViewPrivate):
30429 (QBaseWebViewPrivate::setPageProxy):
30430 (QBaseWebView::QBaseWebView):
30431 (QBaseWebView::~QBaseWebView):
30432 (QBaseWebView::load):
30433 (QBaseWebView::url):
30434 (QBaseWebView::loadProgress):
30435 (QBaseWebView::title):
30436 (QBaseWebView::navigationController):
30437 (QBaseWebView::preferences):
30438 * UIProcess/API/qt/qbasewebview.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
30439 * UIProcess/API/qt/qbasewebview_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
30440 (QBaseWebViewPrivate::~QBaseWebViewPrivate):
30441 * UIProcess/API/qt/qdesktopwebview.cpp:
30442 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
30443 (QDesktopWebViewPrivate::enableMouseEvents):
30444 (QDesktopWebViewPrivate::disableMouseEvents):
30445 (QDesktopWebViewPrivate::webView):
30446 (QDesktopWebViewPrivate::setViewNeedsDisplay):
30447 (QDesktopWebViewPrivate::drawingAreaSize):
30448 (QDesktopWebViewPrivate::hasFocus):
30449 (QDesktopWebViewPrivate::isVisible):
30450 (QDesktopWebViewPrivate::startDrag):
30451 (QDesktopWebViewPrivate::didChangeUrl):
30452 (QDesktopWebViewPrivate::didChangeTitle):
30453 (QDesktopWebViewPrivate::didChangeStatusText):
30454 (QDesktopWebViewPrivate::loadDidBegin):
30455 (QDesktopWebViewPrivate::loadDidSucceed):
30456 (QDesktopWebViewPrivate::loadDidFail):
30457 (QDesktopWebViewPrivate::didChangeLoadProgress):
30458 (QDesktopWebViewPrivate::showContextMenu):
30459 (QDesktopWebViewPrivate::runJavaScriptAlert):
30460 (QDesktopWebViewPrivate::runJavaScriptConfirm):
30461 (QDesktopWebViewPrivate::runJavaScriptPrompt):
30462 (QDesktopWebView::QDesktopWebView):
30463 (QDesktopWebViewPrivate::init):
30464 (QDesktopWebView::~QDesktopWebView):
30465 (QDesktopWebView::geometryChanged):
30466 (QDesktopWebView::paint):
30467 (QDesktopWebView::event):
30468 (QDesktopWebView::pageRef):
30469 (QDesktopWebViewPrivate::processDidCrash):
30470 (QDesktopWebViewPrivate::didRelaunchProcess):
30471 (QDesktopWebViewPrivate::engine):
30472 (QDesktopWebViewPrivate::chooseFiles):
30473 (QDesktopWebViewPrivate::_q_onOpenPanelFilesSelected):
30474 (QDesktopWebViewPrivate::_q_onOpenPanelFinished):
30475 (QDesktopWebViewPrivate::didMouseMoveOverElement):
30476 (QDesktopWebViewPrivate::navigationPolicyForURL):
30477 * UIProcess/API/qt/qdesktopwebview.h:
30478 * UIProcess/API/qt/qdesktopwebview_p.h:
30479 * UIProcess/API/qt/qtouchwebpage.cpp:
30480 (QTouchWebPage::event):
30481 (QTouchWebPage::geometryChanged):
30482 (QTouchWebPagePrivate::QTouchWebPagePrivate):
30483 (QTouchWebPagePrivate::setPageProxy):
30484 (QTouchWebPagePrivate::paintToCurrentGLContext):
30485 * UIProcess/API/qt/qtouchwebpage.h:
30486 * UIProcess/API/qt/qtouchwebpage_p.h:
30487 (QTouchWebPagePrivate::touchPageProxy):
30488 * UIProcess/API/qt/qtouchwebview.cpp:
30489 (QTouchWebViewPrivate::init):
30490 (QTouchWebViewPrivate::loadDidCommit):
30491 (QTouchWebViewPrivate::_q_viewportUpdated):
30492 (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
30493 (QTouchWebViewPrivate::updateViewportConstraints):
30494 (QTouchWebView::QTouchWebView):
30495 (QTouchWebView::~QTouchWebView):
30496 (QTouchWebView::page):
30497 (QTouchWebView::geometryChanged):
30498 (QTouchWebView::onVisibleChanged):
30499 * UIProcess/API/qt/qtouchwebview.h:
30500 * UIProcess/API/qt/qtouchwebview_p.h:
30501 (QTouchWebViewPrivate::touchPageProxy):
30502 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30503 (tst_CommonViewTests::loadNonexistentFileUrl):
30504 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
30505 (WebViewAbstraction::WebViewAbstraction):
30506 (WebViewAbstraction::load):
30507 (WebViewAbstraction::url):
30508 (WebViewAbstraction::loadProgress):
30509 (WebViewAbstraction::goBack):
30510 (WebViewAbstraction::goForward):
30511 (WebViewAbstraction::stop):
30512 (WebViewAbstraction::reload):
30513 (WebViewAbstraction::touchViewLoadFailed):
30514 (WebViewAbstraction::desktopViewLoadFailed):
30515 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
30516 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30517 (tst_QTouchWebView::navigationStatusAtStartup):
30518 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30519 (QtDesktopWebPageProxy::createPopupMenuProxy):
30520 * UIProcess/qt/QtTouchViewInterface.cpp:
30521 (WebKit::QtTouchViewInterface::didChangeViewportProperties):
30522 (WebKit::QtTouchViewInterface::didChangeUrl):
30523 (WebKit::QtTouchViewInterface::didChangeTitle):
30524 (WebKit::QtTouchViewInterface::loadDidBegin):
30525 (WebKit::QtTouchViewInterface::loadDidCommit):
30526 (WebKit::QtTouchViewInterface::loadDidSucceed):
30527 (WebKit::QtTouchViewInterface::loadDidFail):
30528 (WebKit::QtTouchViewInterface::didChangeLoadProgress):
30531 2011-10-31 Anders Carlsson <andersca@apple.com>
30533 PluginProxy shouldn't use window-relative coordinates
30534 https://bugs.webkit.org/show_bug.cgi?id=71261
30536 Reviewed by Adam Roben.
30538 Change PluginProxy::wantsWindowRelativeCoordinates to return false and remove
30539 m_frameRectInWindowCoordinates and m_clipRectInWindowCoordinates. This is yet another step
30540 towards eliminating window-relative coordinates wherever possible.
30542 * WebProcess/Plugins/PluginProxy.cpp:
30543 (WebKit::PluginProxy::paint):
30544 Since the dirty rect passed to paint is now in plug-in coordinates, there's no need to convert it
30545 from window coordinates to plug-in coordinates before passing it to BackingStore::paint.
30547 (WebKit::PluginProxy::deprecatedGeometryDidChange):
30548 Assert that we're not calling this anymore.
30550 (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
30553 2011-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
30555 The QtViewportInteractionEngine should consider DPI adjustment
30556 https://bugs.webkit.org/show_bug.cgi?id=71283
30558 Reviewed by Simon Hausmann.
30560 * UIProcess/API/qt/qtouchwebview.cpp:
30562 Add some default values for now to make sure we are testing the
30563 DPI adjustment / CSS-item space conversion.
30565 (QTouchWebViewPrivate::updateViewportConstraints):
30566 * UIProcess/qt/QtViewportInteractionEngine.cpp:
30567 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
30568 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
30570 Clean up the guard to be more understandable.
30572 (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
30573 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
30575 Add methods for converting between CSS and item space.
30577 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
30578 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
30580 Make it clean which methods uses which coord space.
30582 (WebKit::QtViewportInteractionEngine::updateVisibleRect):
30583 (WebKit::QtViewportInteractionEngine::event):
30584 (WebKit::QtViewportInteractionEngine::computePosRangeForItemScale):
30586 Rename calculateBoundariesForScale and change its implementation to
30587 be correct. The new name reflects the space in which the computation
30588 takes place and reflects similar Qt API.
30590 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30591 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
30592 (WebKit::QtViewportInteractionEngine::scaleContent):
30594 Make sure to consider the right coord space.
30596 * UIProcess/qt/QtViewportInteractionEngine.h:
30597 (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
30599 Add the devicePixelRatio.
30601 2011-11-01 Simon Hausmann <simon.hausmann@nokia.com>
30603 Prospective clang build fix.
30605 Reviewed by Andreas Kling.
30607 * UIProcess/WebPageProxy.cpp:
30608 (WebKit::WebPageProxy::didReceiveEvent): Handle GestureSingleTap in the event type switch.
30610 2011-11-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
30612 [Qt] Create infrastructure for Qt's builtin bundle in web process.
30613 https://bugs.webkit.org/show_bug.cgi?id=71279
30615 Reviewed by Simon Hausmann.
30617 Create a builtin bundle for Qt port: an InjectedBundle which the code is together
30618 with the Qt's web process instead of being in a different library. This gives us
30619 access to many hooks at web process (using WKBundle* functions of C API) without
30620 adding any maintenance burden to cross-port code.
30622 Since we also use a InjectedBundle in the WebKitTestRunner, we only install our
30623 builtin bundle if there's no other installed. This is fine because WTR won't use
30624 the extra runtime features that we plan to provide with the builtin bundle.
30627 * WebProcess/qt/QtBuiltinBundle.cpp: Added.
30628 (WebKit::QtBuiltinBundle::~QtBuiltinBundle):
30629 (WebKit::QtBuiltinBundle::shared):
30630 (WebKit::QtBuiltinBundle::initialize):
30631 (WebKit::QtBuiltinBundle::didCreatePage):
30632 (WebKit::QtBuiltinBundle::willDestroyPage):
30633 (WebKit::QtBuiltinBundle::bundlePageForPageRef):
30634 * WebProcess/qt/QtBuiltinBundle.h: Added.
30635 (WebKit::QtBuiltinBundle::toRef):
30636 Object that holds a WKBundleRef and keeps track of the pages in the current context.
30638 * WebProcess/qt/QtBuiltinBundlePage.cpp: Added.
30639 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30640 (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30641 * WebProcess/qt/QtBuiltinBundlePage.h: Added.
30642 (WebKit::QtBuiltinBundlePage::page):
30643 Our representation for pages from the bundle perspective. This will be the right
30644 place to registering page related clients.
30646 * WebProcess/qt/WebProcessQt.cpp:
30647 (WebKit::WebProcess::platformInitializeWebProcess):
30648 If there's no bundle to be loaded, initialize Qt builtin bundle, which will register the
30649 bundle client for this context.
30651 2011-11-01 Simon Hausmann <simon.hausmann@nokia.com>
30653 [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
30654 https://bugs.webkit.org/show_bug.cgi?id=71274
30656 Reviewed by Kenneth Christiansen.
30658 * Shared/WebEvent.h: Add GestureSingleTap as gesture type.
30659 * Shared/WebEventConversion.cpp:
30660 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Support converting
30661 WebEven::GestureSingleTap to PlatformGestureEvent::TapType.
30662 * Shared/WebGestureEvent.cpp:
30663 (WebKit::WebGestureEvent::isGestureEventType): GestureSingleTap is a valid gesture event type.
30664 * WebKit2.pro: Add WebGestureEvent.cpp to the build.
30666 2011-10-31 Anders Carlsson <andersca@apple.com>
30668 PluginProxy::Update should pass the painted rect in plug-in coordinates
30669 https://bugs.webkit.org/show_bug.cgi?id=71257
30671 Reviewed by Adam Roben.
30673 This is one step in the process of migrating away from window relative coordinates
30674 and use plug-in relative coordinates instead, since window relative coordinates won't work
30677 * PluginProcess/PluginControllerProxy.cpp:
30678 (WebKit::PluginControllerProxy::paint):
30679 Convert the dirty rect back to plug-in coordinates.
30681 * WebProcess/Plugins/PluginProxy.cpp:
30682 (WebKit::PluginProxy::update):
30683 No need to convert the painted rect back to plug-in coordinates anymore.
30685 * WebProcess/Plugins/PluginProxy.messages.in:
30686 Document that the painted rect is in plug-in coordinates.
30688 2011-10-31 Anders Carlsson <andersca@apple.com>
30690 PluginControllerProxy should call Plugin::geometryDidChange
30691 https://bugs.webkit.org/show_bug.cgi?id=71255
30693 Reviewed by Sam Weinig.
30695 Pass enough information over in the GeometryDidChange message sent from
30696 PluginProxy to PluginControllerProxy so that PluginControllerProxy can call
30697 Plugin::geometryDidChange.
30699 * PluginProcess/PluginControllerProxy.cpp:
30700 (WebKit::PluginControllerProxy::paint):
30701 (WebKit::PluginControllerProxy::invalidate):
30702 (WebKit::PluginControllerProxy::paintEntirePlugin):
30703 Update for rename from m_frameRect to m_frameRectInWindowCoordinates.
30705 (WebKit::PluginControllerProxy::geometryDidChange):
30706 This now takes the plug-in size and the plug-in to root view transform as well.
30708 * PluginProcess/PluginControllerProxy.h:
30709 Store the plug-in size and rename m_frameRect to m_frameRectInWindowCoordinates.
30711 * PluginProcess/PluginControllerProxy.messages.in:
30712 Update message signature.
30714 * PluginProcess/mac/PluginControllerProxyMac.mm:
30715 (WebKit::PluginControllerProxy::platformGeometryDidChange):
30716 Use the plug-in size instead of the frame rect size.
30718 * Shared/WebCoreArgumentCoders.cpp:
30719 (CoreIPC::::encode):
30720 (CoreIPC::::decode):
30721 * Shared/WebCoreArgumentCoders.h:
30722 Add encoder/decoder for WebCore::AffineTransform.
30724 * WebProcess/Plugins/PluginProxy.cpp:
30725 (WebKit::PluginProxy::geometryDidChange):
30726 Compute the frame rect in window coordinates and send it over.
30728 (WebKit::PluginProxy::deprecatedGeometryDidChange):
30729 Move call to geometryDidChange() from here to the new PluginProxy::geometryDidChange.
30731 2011-10-31 Anders Carlsson <andersca@apple.com>
30733 Remove some uses of m_frameRectInWindowCoordinates from PluginProxy
30734 https://bugs.webkit.org/show_bug.cgi?id=71252
30736 Reviewed by Darin Adler.
30738 * WebProcess/Plugins/PluginProxy.cpp:
30739 (WebKit::PluginProxy::paint):
30740 (WebKit::PluginProxy::geometryDidChange):
30741 (WebKit::PluginProxy::updateBackingStore):
30742 (WebKit::PluginProxy::pluginBounds):
30743 * WebProcess/Plugins/PluginProxy.h:
30745 2011-10-31 Anders Carlsson <andersca@apple.com>
30747 Implement PluginProxy::geometryDidChange
30748 https://bugs.webkit.org/show_bug.cgi?id=71251
30750 Reviewed by Sam Weinig.
30752 Keep track of the plug-in size, the clip rect in plug-in coordinates and the
30753 transformation matrix from the root view to the plug-in.
30755 * WebProcess/Plugins/PluginProxy.cpp:
30756 (WebKit::PluginProxy::geometryDidChange):
30757 * WebProcess/Plugins/PluginProxy.h:
30759 2011-10-31 Anders Carlsson <andersca@apple.com>
30763 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30764 (WebKit::NetscapePlugin::platformGeometryDidChange):
30765 (WebKit::NetscapePlugin::platformPaint):
30766 (WebKit::NetscapePlugin::platformHandleMouseEvent):
30767 (WebKit::NetscapePlugin::platformHandleWheelEvent):
30768 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30769 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30771 2011-10-31 Anders Carlsson <andersca@apple.com>
30773 Factor code to resize the plug-in backing store out into a separate function
30774 https://bugs.webkit.org/show_bug.cgi?id=71250
30776 Reviewed by Adam Roben.
30778 Add a PluginProxy::contentsScaleFactor helper function to get rid of a bunch of PLATFORM(MAC) #ifdefs,
30779 and move the code to update the backing store out into a separate function.
30781 * WebProcess/Plugins/PluginProxy.cpp:
30782 (WebKit::PluginProxy::initialize):
30783 (WebKit::PluginProxy::paint):
30784 (WebKit::PluginProxy::geometryDidChange):
30785 (WebKit::PluginProxy::contentsScaleFactor):
30786 (WebKit::PluginProxy::updateBackingStore):
30787 (WebKit::PluginProxy::update):
30788 * WebProcess/Plugins/PluginProxy.h:
30790 2011-10-31 Jeff Miller <jeffm@apple.com>
30792 Add more APIs to WKUserContentURLPattern.h
30793 https://bugs.webkit.org/show_bug.cgi?id=71245
30795 Add additional WKUserContentURLPattern APIs to match what was provided by
30796 the equivalent WebKit1 API.
30798 Reviewed by Darin Adler.
30800 * Shared/API/c/WKUserContentURLPattern.cpp:
30801 (WKUserContentURLPatternCopyHost): Added.
30802 (WKUserContentURLPatternCopyScheme): Added.
30803 (WKUserContentURLPatternIsValid): Added.
30804 (WKUserContentURLPatternMatchesSubdomains): Added.
30806 * Shared/API/c/WKUserContentURLPattern.h: Added new APIs.
30808 * Shared/WebUserContentURLPattern.h:
30809 (WebKit::WebUserContentURLPattern::host): Added.
30810 (WebKit::WebUserContentURLPattern::scheme): Added.
30811 (WebKit::WebUserContentURLPattern::isValid): Added.
30812 (WebKit::WebUserContentURLPattern::matchesSubdomains): Added.
30814 2011-10-31 Anders Carlsson <andersca@apple.com>
30816 More work on making plug-ins work better with transforms
30817 https://bugs.webkit.org/show_bug.cgi?id=71241
30819 Reviewed by Darin Adler.
30821 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30822 (WebKit::NetscapePlugin::geometryDidChange):
30823 Implement NetscapePlugin::geometryDidChange and store the plug-in size,
30824 the clip rect and the root view transform. Use the transform to compute the window
30825 relative frame and clip rects.
30827 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30828 Add new member variables.
30830 * WebProcess/Plugins/PluginView.cpp:
30831 (WebKit::PluginView::viewGeometryDidChange):
30832 Always call the new Plugin::geometryDidChange.
30834 2011-10-27 Anders Carlsson <andersca@apple.com>
30836 Rename a couple of NetscapePlugin and PluginProxy member variables
30837 https://bugs.webkit.org/show_bug.cgi?id=71086
30839 Reviewed by Sam Weinig.
30841 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30842 (WebKit::NetscapePlugin::invalidate):
30843 (WebKit::NetscapePlugin::callSetWindow):
30844 (WebKit::NetscapePlugin::snapshot):
30845 (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
30846 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30847 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30848 (WebKit::NetscapePlugin::platformPaint):
30849 (WebKit::NetscapePlugin::platformHandleMouseEvent):
30850 (WebKit::NetscapePlugin::platformHandleWheelEvent):
30851 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30852 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30853 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30854 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30855 (WebKit::NetscapePlugin::platformPaint):
30856 * WebProcess/Plugins/PluginProxy.cpp:
30857 (WebKit::PluginProxy::paint):
30858 (WebKit::PluginProxy::geometryDidChange):
30859 (WebKit::PluginProxy::deprecatedGeometryDidChange):
30860 (WebKit::PluginProxy::update):
30861 * WebProcess/Plugins/PluginProxy.h:
30862 * WebProcess/Plugins/PluginView.cpp:
30863 (WebKit::PluginView::viewGeometryDidChange):
30865 2011-10-31 Andras Becsi <andras.becsi@nokia.com>
30867 [Qt][WK2] Fix qmltests after r98460 added widgets dependency.
30869 Reviewed by Simon Hausmann.
30871 Use QApplication and QtWidgets until we get rid of the widgets dependency of QScroller.
30873 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30874 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30877 2011-10-31 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
30879 [Qt] Make QWebPreferences hold a QtWebPageProxy
30880 https://bugs.webkit.org/show_bug.cgi?id=71219
30882 Reviewed by Andreas Kling.
30884 Change QWebPreferences to keep a pointer to QtWebPageProxy. The reason is that
30885 some features we want to control (like the messaging exchange between WebView and
30886 the web process) are not available via WKPreferencesRef.
30888 QtWebPageProxy now uses an OwnPtr to keep the QWebPreferences to clarify the
30889 ownership relationship. Before this change the QWebPreferences created was leaking.
30891 * UIProcess/API/qt/qwebpreferences.cpp:
30892 (QWebPreferencesPrivate::createPreferences):
30893 (QWebPreferencesPrivate::testAttribute):
30894 (QWebPreferencesPrivate::setAttribute):
30895 (QWebPreferencesPrivate::setFontFamily):
30896 (QWebPreferencesPrivate::fontFamily):
30897 (QWebPreferencesPrivate::setFontSize):
30898 (QWebPreferencesPrivate::fontSize):
30899 (QWebPreferencesPrivate::preferencesRef):
30900 * UIProcess/API/qt/qwebpreferences.h:
30901 * UIProcess/API/qt/qwebpreferences_p.h:
30902 * UIProcess/qt/QtWebPageProxy.cpp:
30903 (QtWebPageProxy::QtWebPageProxy):
30904 (QtWebPageProxy::preferences):
30905 * UIProcess/qt/QtWebPageProxy.h:
30907 2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
30909 [GTK] Add webkit_settings_new_with_settings() to WebKit2 GTK+ API
30910 https://bugs.webkit.org/show_bug.cgi?id=71111
30912 Reviewed by Martin Robinson.
30914 Convenient method to create a WebKitSettings object with initial
30917 * UIProcess/API/gtk/WebKitSettings.cpp:
30918 (webkit_settings_new_with_settings):
30919 * UIProcess/API/gtk/WebKitSettings.h:
30920 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30921 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30922 (testWebKitSettingsNewWithSettings):
30925 2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
30927 [GTK] Add methods to get/set the settings of a web view to WebKit2 GTK+ API
30928 https://bugs.webkit.org/show_bug.cgi?id=71109
30930 Reviewed by Martin Robinson.
30932 * GNUmakefile.am: Add WebKitSettingsPrivate.h.
30933 * UIProcess/API/gtk/WebKitSettings.cpp:
30934 (webkitSettingsAttachSettingsToPage): Set the preferences of the
30935 given WebKitSettings object to the page group of the given WKPage.
30936 * UIProcess/API/gtk/WebKitSettingsPrivate.h: Added.
30937 * UIProcess/API/gtk/WebKitWebView.cpp:
30938 (webkitWebViewConstructed): Create the default WebKitSettings for
30940 (webkit_web_view_set_settings):
30941 (webkit_web_view_get_settings):
30942 * UIProcess/API/gtk/WebKitWebView.h:
30943 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30944 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
30945 (testWebViewSettings):
30948 2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
30950 Unreviewed. Fix make distcheck build.
30952 * GNUmakefile.am: Remove docs/GNUmakefile.in from EXTRA_DIST,
30953 since its generation was removed from configure.ac in r98498.
30955 2011-10-28 Jeff Miller <jeffm@apple.com>
30957 More work on WebKit2 should respect WebKitOmitPDFSupport preference on the Mac
30958 https://bugs.webkit.org/show_bug.cgi?id=71156
30960 Don't include PDF and PostScript types in the set of MIME types with custom representations
30961 when initializing the web process if WebKitOmitPDFSupport is set.
30963 I believe the previous patch r98513 was actually sufficient to prevent PDFs from being
30964 shown inline when this preference was set, but to be complete we should exclude the MIME
30965 types here as well.
30967 Reviewed by Alexey Proskuryakov.
30969 * UIProcess/mac/WebContextMac.mm:
30970 (WebKit::WebContext::platformInitializeWebProcess):
30972 2011-10-28 John Sullivan <sullivan@apple.com>
30975 https://bugs.webkit.org/show_bug.cgi?id=71142
30976 Whether backspace goes Back should be configurable
30978 Reviewed by Sam Weinig.
30980 * Shared/WebPreferencesStore.h:
30981 Declared backspaceKeyNavigationEnabled property using macro. This initializes
30982 it to true, to match current behavior.
30984 * UIProcess/API/C/WKPreferences.cpp:
30985 (WKPreferencesSetBackspaceKeyNavigationEnabled):
30986 New function, pass value to impl.
30987 (WKPreferencesGetBackspaceKeyNavigationEnabled):
30988 New function, returns result from impl.
30990 * UIProcess/API/C/WKPreferences.h:
30991 Declared API functions for new preference.
30993 * WebProcess/WebPage/WebPage.cpp:
30994 (WebKit::WebPage::updatePreferences):
30995 Updates WebCore settings from WebKit2 prefs.
30997 2011-10-28 Timothy Hatcher <timothy@apple.com>
30999 Support using a different front-end for the Web Inspector in WebKit2.
31001 rdar://problem/10318665
31002 https://webkit.org/b/71089
31004 Reviewed by Sam Weinig.
31006 * Shared/WebProcessCreationParameters.cpp:
31007 (WebKit::WebProcessCreationParameters::encode): Added webInspectorBasePath and webInspectorLocalizedStringsPath.
31008 (WebKit::WebProcessCreationParameters::decode): Ditto.
31009 * Shared/WebProcessCreationParameters.h:
31010 * UIProcess/API/C/WKContext.cpp:
31011 (WKContextSetOverrideWebInspectorBaseDirectory): Added. Calls through to WebContext.
31012 (WKContextSetOverrideWebInspectorPagePath): Ditto.
31013 (WKContextSetOverrideWebInspectorLocalizedStringsPath): Ditto.
31014 * UIProcess/API/C/WKContextPrivate.h:
31015 * UIProcess/WebContext.cpp:
31016 (WebKit::WebContext::ensureWebProcess): Set webInspectorBasePath and webInspectorLocalizedStringsPath.
31017 * UIProcess/WebContext.h:
31018 (WebKit::WebContext::overrideWebInspectorBaseDirectory): Added.
31019 (WebKit::WebContext::setOverrideWebInspectorBaseDirectory): Added.
31020 (WebKit::WebContext::overrideWebInspectorPagePath): Added.
31021 (WebKit::WebContext::setOverrideWebInspectorPagePath): Added.
31022 (WebKit::WebContext::setOverrideWebInspectorLocalizedStringsPath): Added.
31023 * UIProcess/mac/WebInspectorProxyMac.mm:
31024 (WebKit::WebInspectorProxy::inspectorPageURL): Use WebContext::overrideWebInspectorPagePath if set.
31025 (WebKit::WebInspectorProxy::inspectorBaseURL): Use WebContext::overrideWebInspectorBaseDirectory if set.
31026 * WebProcess/WebPage/WebInspector.h:
31027 * WebProcess/WebPage/mac/WebInspectorMac.mm:
31028 (WebKit::globalInspectorLocalizedStringsURL): Added. Static storage for the setting.
31029 (WebKit::WebInspector::setLocalizedStringsPath): Added. Set globalInspectorLocalizedStringsURL.
31030 (WebKit::WebInspector::localizedStringsURL): Return globalInspectorLocalizedStringsURL.
31031 * WebProcess/com.apple.WebProcess.sb: Added read-only subpath for WEBKIT_WEB_INSPECTOR_DIR.
31032 * WebProcess/mac/WebProcessMac.mm:
31033 (WebKit::appendReadonlySandboxDirectory): Check path for empty to prevent an exception when
31034 calling through to fileSystemRepresentation.
31035 (WebKit::initializeSandbox): Added WEBKIT_WEB_INSPECTOR_DIR parameter.
31036 (WebKit::WebProcess::platformInitializeWebProcess): Call WebInspector::setLocalizedStringsPath.
31038 2011-10-28 Alexey Proskuryakov <ap@apple.com>
31040 Clean up BuiltInPDFView a little
31041 https://bugs.webkit.org/show_bug.cgi?id=71133
31043 Reviewed by Daniel Bates.
31045 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::createScrollbar):
31046 Removed an incorrect FIXME. Custom scrollbars specified in a document don't apply
31047 to subframes, and thus shouldn't apply to PDFs.
31049 * WebProcess/Plugins/PDF/BuiltInPDFView.h: (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
31050 Moved to a correct location. This is not a Plugin method, but a ScrollView one.
31052 2011-10-28 Jochen Eisinger <jochen@chromium.org>
31054 Rename a number of methods mentioning JavaScript to just Script instead
31055 https://bugs.webkit.org/show_bug.cgi?id=71105
31057 Reviewed by Adam Barth.
31059 * WebProcess/WebPage/WebPage.cpp:
31060 (WebKit::WebPage::updatePreferences):
31062 2011-10-28 Csaba Osztrogonác <ossy@webkit.org>
31064 [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31065 https://bugs.webkit.org/show_bug.cgi?id=70494
31067 One more buildfix. (unreviewed)
31069 * UIProcess/API/qt/qtouchwebpage.cpp:
31070 (computeEffectiveOpacity):
31071 (QTouchWebPage::itemChange):
31073 2011-10-28 Simon Hausmann <simon.hausmann@nokia.com>
31075 [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31076 https://bugs.webkit.org/show_bug.cgi?id=70494
31078 Reviewed by Kenneth Christiansen.
31080 Use QQuick* instead of QSG* as well as QStandardPaths
31081 instead of QDesktopLocation.
31083 * UIProcess/API/qt/qdesktopwebview.cpp:
31084 (QDesktopWebView::QDesktopWebView):
31085 (QDesktopWebView::geometryChanged):
31086 (QDesktopWebView::event):
31087 (QDesktopWebViewPrivate::engine):
31088 * UIProcess/API/qt/qdesktopwebview.h:
31089 * UIProcess/API/qt/qtouchwebpage.cpp:
31090 (QTouchWebPage::QTouchWebPage):
31091 (QTouchWebPage::event):
31092 (QTouchWebPage::geometryChanged):
31093 * UIProcess/API/qt/qtouchwebpage.h:
31094 * UIProcess/API/qt/qtouchwebview.cpp:
31095 (QTouchWebView::QTouchWebView):
31096 (QTouchWebView::geometryChanged):
31097 (QTouchWebView::touchEvent):
31098 * UIProcess/API/qt/qtouchwebview.h:
31099 * UIProcess/API/qt/tests/testwindow.h:
31100 (TestWindow::TestWindow):
31101 (TestWindow::resizeEvent):
31102 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31103 (QtDesktopWebPageProxy::createPopupMenuProxy):
31104 * UIProcess/qt/QtSGUpdateQueue.cpp:
31105 (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
31106 * UIProcess/qt/QtSGUpdateQueue.h:
31107 * UIProcess/qt/QtTouchViewInterface.cpp:
31108 (WebKit::QtTouchViewInterface::engine):
31109 * UIProcess/qt/QtViewportInteractionEngine.cpp:
31110 (WebKit::contentRectInViewportCoordinates):
31111 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31112 * UIProcess/qt/QtViewportInteractionEngine.h:
31113 * UIProcess/qt/WebContextQt.cpp:
31114 (WebKit::defaultDataLocation):
31115 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
31116 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
31117 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
31118 (WebKit::WebPopupMenuProxyQtDesktop::create):
31120 2011-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
31122 [Qt] Make the kinetic engine use the same curve and constants as on the N9
31123 https://bugs.webkit.org/show_bug.cgi?id=71102
31125 Reviewed by Simon Hausmann.
31127 Now that we are using the QScroller for kinetic scrolling and page
31128 interaction, we need to make sure it uses the same curve (exponential)
31129 and the same values as the MeeGo Touch physics engine used on the N9.
31131 * UIProcess/qt/QtViewportInteractionEngine.cpp:
31132 (WebKit::QtViewportInteractionEngine::reset):
31134 2011-10-28 Carlos Garcia Campos <cgarcia@igalia.com>
31136 [GTK] Add webkit_web_view_get_uri() to WebKit2 GTK+ API
31137 https://bugs.webkit.org/show_bug.cgi?id=70814
31139 Reviewed by Gustavo Noronha Silva.
31141 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
31142 (didStartProvisionalLoadForFrame): Update WebView URI to make sure
31143 it's updated to provisional URL.
31144 (didReceiveServerRedirectForProvisionalLoadForFrame): Update
31145 WebView URI if there's a server redirection.
31146 (didCommitLoadForFrame): Update WebView URI to make sure it
31147 contains the final one.
31148 (didSameDocumentNavigationForFrame): Update WebView URI when a
31149 navigation action within the same document is performed.
31150 (webkitWebLoaderClientAttachLoaderClientToPage): Add
31151 implementation for didSameDocumentNavigationForFrame callback.
31152 * UIProcess/API/gtk/WebKitWebView.cpp:
31153 (webkit_web_view_class_init): Add URI property.
31154 (webkitWebViewUpdateURI): Check whether current active URI has
31155 changed to updated it and emit ::notify signal if it changes.
31156 (webkit_web_view_load_uri): Call webkitWebViewUpdateURI() to make
31157 sure the active URI is updated when load operation is started.
31158 (webkit_web_view_load_alternate_html): Ditto.
31159 (webkit_web_view_reload): Ditto.
31160 (webkit_web_view_reload_bypass_cache): Ditto.
31161 (webkit_web_view_go_back): Ditto.
31162 (webkit_web_view_go_forward): Ditto.
31163 (webkit_web_view_get_uri): Ditto.
31164 (webkit_web_view_go_to_back_forward_list_item): Ditto.
31165 * UIProcess/API/gtk/WebKitWebView.h:
31166 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add
31167 webkitWebViewUpdateURI().
31168 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
31169 (provisionalLoadStartedCallback): Check provisional URL is the
31171 (provisionalLoadReceivedServerRedirectCallback): Check provisional
31172 URL after server redirection is the expected redirected URI.
31173 (provisionalLoadFailedCallback): Check active URI.
31174 (loadCommittedCallback): Ditto.
31175 (loadFinishedCallback): Ditto.
31176 (loadFailedCallback): Ditto
31177 (LoadTrackingTest::LoadTrackingTest): Check active URI is NULL
31178 before any loading operation has started.
31179 * UIProcess/API/gtk/tests/LoadTrackingTest.h:
31180 (LoadTrackingTest::setRedirectURI): Set the redirect URI to check
31181 it after a server redirection.
31182 * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
31183 (testBackForwardListNavigation): Use WebViewTest methods for
31184 navigation actions instead of using WebKitWebView API directly.
31185 (testBackForwardListLimitAndCache): Ditto.
31186 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
31187 (testLoadingStatus): Ditto.
31188 (testLoadingError): Ditto.
31189 (testLoadAlternateContent): Ditto.
31190 (testLoadCancelled): Ditto.
31191 (testWebViewReload): Ditto.
31192 (testLoadProgress): Ditto.
31193 (testWebViewActiveURI): Add a test to check that notify signal is
31194 emitted when active URI changes and it's correctly updated when
31195 loader client signals are emitted.
31196 (beforeAll): Add active-uri test.
31197 * UIProcess/API/gtk/tests/WebViewTest.cpp: Add custom load methods
31198 wrapping the WebKitWebView ones, to initialize the active URI to
31199 the requested one, so that it can be checked by the loader client
31201 (WebViewTest::loadURI):
31202 (WebViewTest::loadAlternateHTML):
31203 (WebViewTest::goBack):
31204 (WebViewTest::goForward):
31205 (WebViewTest::goToBackForwardListItem):
31206 * UIProcess/API/gtk/tests/WebViewTest.h:
31208 2011-10-21 No'am Rosenthal <noam.rosenthal@nokia.com>
31210 [Qt][WK2] Synchronize tiling with accelerated compositing
31211 https://bugs.webkit.org/show_bug.cgi?id=69151
31213 Reviewed by Simon Hausmann.
31215 Make QTouchWebView always render with accelerated compositing.
31216 At first, the web content would only render after the rest of the scene has rendered. In a
31217 future patch we'll enable rendering the web content via an FBO, which would cover all other
31220 Right now this only works for QTouchWebView, and thus accelerated compositing is disabled
31221 for desktop web-views. This required adding some settings enablers in Q
31222 WebPreferencesPrivate. Those are not exposed to the public API, as they are an implementation
31225 * UIProcess/API/qt/qtouchwebpage.cpp:
31226 (QTouchWebPage::QTouchWebPage):
31227 (QTouchWebPage::initSceneGraphConnections):
31228 (QTouchWebPagePrivate::QTouchWebPagePrivate):
31229 (QTouchWebPagePrivate::setPage):
31230 (computeEffectiveOpacity):
31231 (QTouchWebPagePrivate::paintToCurrentGLContext):
31232 (QTouchWebPagePrivate::_q_onAfterSceneRender):
31233 (QTouchWebPagePrivate::_q_onSceneGraphInitialized):
31234 (QTouchWebPage::itemChange):
31235 * UIProcess/API/qt/qtouchwebpage.h:
31236 * UIProcess/API/qt/qtouchwebpage_p.h:
31237 * UIProcess/API/qt/qwebpreferences.cpp:
31238 (QWebPreferencesPrivate::testAttribute):
31239 (QWebPreferencesPrivate::setAttribute):
31240 (QWebPreferencesPrivate::get):
31241 * UIProcess/API/qt/qwebpreferences_p.h:
31242 * UIProcess/TiledDrawingAreaProxy.cpp:
31243 (WebKit::TiledDrawingAreaProxy::renderNextFrame):
31244 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31245 (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
31246 * UIProcess/qt/QtTouchViewInterface.cpp:
31247 (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
31248 * UIProcess/qt/QtTouchWebPageProxy.cpp:
31249 (QtTouchWebPageProxy::QtTouchWebPageProxy):
31250 (QtTouchWebPageProxy::createDrawingAreaProxy):
31251 (QtTouchWebPageProxy::renderToCurrentGLContext):
31252 (QtTouchWebPageProxy::setVisibleContentRectAndScale):
31253 (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
31254 (QtTouchWebPageProxy::renderNextFrame):
31255 * UIProcess/qt/QtTouchWebPageProxy.h:
31256 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
31257 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
31258 * WebProcess/WebPage/qt/WebPageQt.cpp:
31259 (WebKit::WebPage::platformInitialize):
31260 * WebProcess/qt/WebProcessMainQt.cpp:
31261 (WebKit::WebProcessMainQt):
31263 2011-10-27 Martin Robinson <mrobinson@igalia.com>
31265 Fix the GTK+ build after r98664.
31267 * WebProcess/Plugins/Plugin.h: Add an IntSize forward declaration.
31269 2011-10-27 Anders Carlsson <andersca@apple.com>
31271 Add a Plugin::geometryDidChange that will work with transforms
31272 https://bugs.webkit.org/show_bug.cgi?id=71072
31274 Reviewed by Simon Fraser.
31276 Add a new Plugin::geometryDidChange pure virtual member function, that takes
31277 the size of the plug-in, the clip rect (in plug-in coordinates), and a matrix that makes
31278 it possible to convert between root view coordinates and plug-in coordinates.
31280 PluginView only calls this new geometryDidChange member function if
31281 Plugin::wantsWindowRelativeCoordinates returns false, which is only true for BuiltInPDFView right now.
31283 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31284 (WebKit::NetscapePlugin::geometryDidChange):
31285 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31288 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31289 (WebKit::BuiltInPDFView::updateScrollbars):
31290 (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
31291 (WebKit::BuiltInPDFView::paintContent):
31292 (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31293 (WebKit::BuiltInPDFView::geometryDidChange):
31294 (WebKit::BuiltInPDFView::setScrollOffset):
31295 (WebKit::BuiltInPDFView::maximumScrollPosition):
31296 (WebKit::BuiltInPDFView::visibleHeight):
31297 (WebKit::BuiltInPDFView::visibleWidth):
31298 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31299 There's no need to keep track of the plug-in rect anymore.
31301 * WebProcess/Plugins/Plugin.h:
31302 Add and document geometryDidChange.
31304 * WebProcess/Plugins/PluginProxy.cpp:
31305 (WebKit::PluginProxy::geometryDidChange):
31306 * WebProcess/Plugins/PluginProxy.h:
31309 * WebProcess/Plugins/PluginView.cpp:
31310 (WebKit::PluginView::viewGeometryDidChange):
31311 Call geometryDidChange.
31313 2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
31315 Reviewed by David Kilzer.
31317 Make FeatureDefines Identical Across OS X Projects
31318 https://bugs.webkit.org/show_bug.cgi?id=71051
31320 * Configurations/FeatureDefines.xcconfig:
31322 2011-10-27 Anders Carlsson <andersca@apple.com>
31324 Rename Plugin::geometryDidChange to Plugin::deprecatedGeometryDidChange
31325 https://bugs.webkit.org/show_bug.cgi?id=71065
31327 Reviewed by Simon Fraser.
31329 In preparation for adding a version of geometryDidChange that doesn't take window coordinates.
31331 * PluginProcess/PluginControllerProxy.cpp:
31332 (WebKit::PluginControllerProxy::geometryDidChange):
31333 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31334 (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
31335 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31336 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31337 (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31338 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31339 * WebProcess/Plugins/Plugin.h:
31340 * WebProcess/Plugins/PluginProxy.cpp:
31341 (WebKit::PluginProxy::deprecatedGeometryDidChange):
31342 * WebProcess/Plugins/PluginProxy.h:
31343 * WebProcess/Plugins/PluginView.cpp:
31344 (WebKit::PluginView::viewGeometryDidChange):
31346 2011-10-27 Michael Saboff <msaboff@apple.com>
31348 Investigate storing strings in 8-bit buffers when possible
31349 https://bugs.webkit.org/show_bug.cgi?id=66161
31351 Added export of StringImpl::getData16SlowCase for linking tests.
31353 Reviewed by Geoffrey Garen.
31357 2011-10-27 Sam Weinig <sam@webkit.org>
31359 Add allowsPlugIns property to WKBrowsingContextGroup
31360 https://bugs.webkit.org/show_bug.cgi?id=70987
31362 Reviewed by Anders Carlsson.
31364 Test: WKBrowsingContextGroupTest.GetSetPluginsEnabled
31366 * UIProcess/API/mac/WKBrowsingContextGroup.h:
31367 * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31368 (-[WKBrowsingContextGroup allowsJavaScript]):
31369 (-[WKBrowsingContextGroup setAllowsJavaScript:]):
31370 Rename to allowsJavaScript/setAllowsJavaScript.
31372 (-[WKBrowsingContextGroup allowsPlugIns]):
31373 (-[WKBrowsingContextGroup setAllowsPlugIns:]):
31374 Add allowsPlugIns/setAllowsPlugIns.
31376 2011-10-27 Carlos Garcia Campos <cgarcia@igalia.com>
31378 [Cairo] Implement ShareableBitmap::paint() when scaleFactor=1
31379 https://bugs.webkit.org/show_bug.cgi?id=71027
31381 Reviewed by Martin Robinson.
31383 Fixes windowless plugins in GTK+ port.
31385 * Shared/cairo/ShareableBitmapCairo.cpp:
31386 (WebKit::ShareableBitmap::paint): When scaleFactor is 1, simply
31387 call the paint method that doesn't receive a scaleFactor.
31389 2011-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
31391 Unreviewed, rolling out r98556.
31392 http://trac.webkit.org/changeset/98556
31393 https://bugs.webkit.org/show_bug.cgi?id=71031
31395 The test added by the patch doesn't pass on Snow Leopard
31396 (Requested by rniwa on #webkit).
31399 * win/WebKit2CFLite.def:
31401 2011-10-27 Mark Hahnenberg <mhahnenberg@apple.com>
31403 De-virtualize JSCell::toThisObject
31404 https://bugs.webkit.org/show_bug.cgi?id=70958
31406 Reviewed by Geoffrey Garen.
31408 Converted all instances of toThisObject to static functions,
31409 added toThisObject to the MethodTable, and replaced all call sites
31410 with a corresponding lookup in the MethodTable.
31412 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31413 (WebKit::NPJSObject::invoke):
31415 2011-10-27 Adam Roben <aroben@apple.com>
31417 Add WKBundlePageGetBackingScaleFactor
31419 Fixes <http://webkit.org/b/71025> <rdar://problem/10355037> REGRESSION (r97191): Clients
31420 can't reliably determine the scale factor of snapshots returned via
31421 WKBundlePageCreateSnapshot* API
31423 Reviewed by Sam Weinig.
31425 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
31426 (WKBundlePageGetBackingScaleFactor):
31427 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
31428 Added. Calls through to WebPage::deviceScaleFactor.
31430 * WebProcess/WebPage/WebPage.cpp:
31431 (WebKit::WebPage::deviceScaleFactor):
31432 * WebProcess/WebPage/WebPage.h:
31433 Added. Calls through to Page::deviceScaleFactor.
31435 2011-10-27 Zalan Bujtas <zbujtas@gmail.com>
31437 [Qt][WK2]Add setViewportSize API to WebKit2.
31438 https://bugs.webkit.org/show_bug.cgi?id=71006
31440 Reviewed by Kenneth Rohde Christiansen.
31442 Fixed layout rendering needs the viewport size information on the WebProcess
31443 side to be able to do viewport attribute calculations.
31445 * WebProcess/WebPage/WebPage.cpp:
31446 (WebKit::WebPage::setViewportSize):
31447 * WebProcess/WebPage/WebPage.h:
31448 (WebKit::WebPage::viewportSize):
31449 * WebProcess/WebPage/WebPage.messages.in:
31451 2011-10-27 Alexis Menard <alexis.menard@openbossa.org>
31453 [Qt][WK2] Move the C API callback setup out of QtWebPageProxy
31454 https://bugs.webkit.org/show_bug.cgi?id=70965
31456 Reviewed by Andreas Kling.
31458 Move out the setup of C API callback into ClientImpl file
31459 so that QtWebPageProxy will be less polluted.
31461 * UIProcess/qt/ClientImpl.cpp:
31462 (qt_wk_didStartProvisionalLoadForFrame):
31463 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
31464 (qt_wk_didCommitLoadForFrame):
31465 (qt_wk_didFinishLoadForFrame):
31466 (qt_wk_didFailLoadWithErrorForFrame):
31467 (qt_wk_didSameDocumentNavigationForFrame):
31468 (qt_wk_didReceiveTitleForFrame):
31469 (qt_wk_didStartProgress):
31470 (qt_wk_didChangeProgress):
31471 (qt_wk_didFinishProgress):
31472 (qt_wk_runJavaScriptAlert):
31473 (qt_wk_runJavaScriptConfirm):
31474 (qt_wk_runJavaScriptPrompt):
31475 (qt_wk_setStatusText):
31476 (qt_wk_runOpenPanel):
31477 (qt_wk_mouseDidMoveOverElement):
31478 (qt_wk_decidePolicyForNavigationAction):
31479 (qt_wk_decidePolicyForResponse):
31480 (setupPageLoaderClient):
31481 (setupPageUiClient):
31482 (setupPagePolicyClient):
31483 * UIProcess/qt/ClientImpl.h:
31484 * UIProcess/qt/QtWebPageProxy.cpp:
31485 (QtWebPageProxy::init):
31486 * UIProcess/qt/QtWebPageProxy.h:
31487 (QtWebPageProxy::viewInterface):
31489 2011-10-27 Zeno Albisser <zeno.albisser@nokia.com>
31491 [Qt][WK2] Remove QAction from MiniBrowser
31492 https://bugs.webkit.org/show_bug.cgi?id=70525
31494 This fixes the commonview tests that were failing
31496 WebViewAbstraction must forward actions to both
31497 the TouchWebView and the DesktopWebView.
31499 Reviewed by Kenneth Rohde Christiansen.
31501 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31502 (WebViewAbstraction::goBack):
31503 (WebViewAbstraction::goForward):
31504 (WebViewAbstraction::stop):
31505 (WebViewAbstraction::reload):
31507 2011-10-27 Zalan Bujtas <zbujtas@gmail.com>
31509 [Qt][WK2]Content size changed event does not require viewport attribute calculation.
31510 https://bugs.webkit.org/show_bug.cgi?id=70920
31512 Reviewed by Kenneth Rohde Christiansen.
31514 Remove unnecessary recalculation of viewport attributes.
31516 * UIProcess/qt/QtTouchViewInterface.cpp:
31517 (WebKit::QtTouchViewInterface::contentSizeChanged):
31519 2011-10-27 Shinya Kawanaka <shinyak@google.com>
31521 Implement legacy text check emulation in unified text check interface.
31522 https://bugs.webkit.org/show_bug.cgi?id=70299
31524 Reviewed by Hajime Morita.
31527 * win/WebKit2CFLite.def:
31529 2011-10-27 Philippe Normand <pnormand@igalia.com>
31531 [GStreamer] WebAudio AudioFileReader implementation
31532 https://bugs.webkit.org/show_bug.cgi?id=69834
31534 Reviewed by Martin Robinson.
31536 * GNUmakefile.am: Link against libfftw.
31538 2011-10-26 Alexey Proskuryakov <ap@apple.com>
31540 REGRESSION (r98153): Safari crashes if WebProcess crashed during printing
31541 https://bugs.webkit.org/show_bug.cgi?id=70982
31543 Reviewed by Dan Bernstein.
31545 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
31546 Null check page, it may be invalid already.
31548 2011-10-26 Jeff Miller <jeffm@apple.com>
31550 WebKit2 should respect secret WebKitOmitPDFSupport preference on the Mac
31551 https://bugs.webkit.org/show_bug.cgi?id=70943
31553 If WebKitOmitPDFSupport pref is set, disable both the new "plug-in" for subframes and the PDFKit-based support for the main frame only.
31555 Reviewed by Alexey Proskuryakov.
31557 * UIProcess/WebContext.cpp:
31558 (WebKit::WebContext::getPlugins): Don't register built-in PDF plugin if WebKitOmitPDFSupport pref is set.
31560 * UIProcess/WebContext.h: Added omitPDFSupport().
31562 * UIProcess/WebFrameProxy.cpp:
31563 (WebKit::WebFrameProxy::canShowMIMEType): Don't show PDFs if WebKitOmitPDFSupport is set.
31565 * UIProcess/mac/WebContextMac.mm:
31566 (WebKit::WebContext::omitPDFSupport): Added.
31568 2011-10-26 Sam Weinig <sam@webkit.org>
31570 Add initial setting to WKBrowsingContextGroup
31571 https://bugs.webkit.org/show_bug.cgi?id=70942
31573 Reviewed by Anders Carlsson.
31575 Test: WKBrowsingContextGroupTest.
31577 * UIProcess/API/mac/WKBrowsingContextGroup.h:
31578 * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31579 (-[WKBrowsingContextGroup isJavaScriptEnabled]):
31580 (-[WKBrowsingContextGroup setJavaScriptEnabled:]):
31581 Add setting to enabled/disable javascript. By default it is enabled.
31583 2011-10-25 Alexey Proskuryakov <ap@apple.com>
31585 Embedded PDFs should be known to DocumentLoader
31586 https://bugs.webkit.org/show_bug.cgi?id=70864
31588 Reviewed by Darin Adler.
31590 * WebProcess/Plugins/Plugin.h: Plugin stream load notifications now contain a suggested
31591 file name, in case the plug-in wants to save the file properly.
31593 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31594 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31595 (WebKit::BuiltInPDFView::addArchiveResource): Add the PDF as resource in DocumentLoader.
31596 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Call addArchiveResource.
31597 (WebKit::BuiltInPDFView::initialize): We need to remember source URL to create a resource
31598 for that. The URL needs to match one in HitTestResult, so we can't use response URL.
31599 (WebKit::BuiltInPDFView::streamDidReceiveResponse): Remember suggested file name, so
31600 that we could put it in archive resource later.
31601 (WebKit::BuiltInPDFView::manualStreamDidReceiveResponse): Ditto.
31603 * PluginProcess/PluginControllerProxy.cpp:
31604 (WebKit::PluginControllerProxy::streamDidReceiveResponse):
31605 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
31606 Pass an empty string for suggested file name. No plug-in that runs in a separate process
31607 cares about it, so it's not sent to the plugin process.
31609 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31610 (WebKit::NetscapePlugin::streamDidReceiveResponse):
31611 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
31612 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31613 Updated for new signatures.
31615 * WebProcess/Plugins/PluginProxy.cpp:
31616 (WebKit::PluginProxy::streamDidReceiveResponse):
31617 (WebKit::PluginProxy::manualStreamDidReceiveResponse):
31618 * WebProcess/Plugins/PluginProxy.h:
31619 Updated for new signatures.
31621 * WebProcess/Plugins/PluginView.cpp:
31622 (WebKit::PluginView::Stream::didReceiveResponse):
31623 (WebKit::PluginView::manualLoadDidReceiveResponse):
31624 Pass suggested file name to plug-in, in case the plug-in wants to save the file properly.
31626 2011-10-26 Mark Hahnenberg <mhahnenberg@apple.com>
31628 Remove getOwnPropertySlotVirtual
31629 https://bugs.webkit.org/show_bug.cgi?id=70741
31631 Reviewed by Geoffrey Garen.
31633 Removed all declarations and definitions of getOwnPropertySlotVirtual.
31634 Also replaced all call sites to getOwnPropertyVirtualVirtual with a
31635 corresponding lookup in the MethodTable.
31637 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31638 * WebProcess/Plugins/Netscape/JSNPObject.h:
31640 2011-10-26 Alejandro G. Castro <alex@igalia.com>
31642 [GTK] [WK2] Add WebKit2 distcheck support
31643 https://bugs.webkit.org/show_bug.cgi?id=70933
31645 Reviewed by Martin Robinson.
31647 * GNUmakefile.am: Add a bunch of missing files from API and
31648 sources, also include more files in the EXTRA_DIST.
31649 * UIProcess/API/gtk/docs/GNUmakefile.am: Add the version.xml to
31650 the cleaning section.
31652 2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
31654 [GTK] Fix gtk-doc warnings and style issues in WebKit2 GTK+ API
31655 https://bugs.webkit.org/show_bug.cgi?id=70930
31657 Reviewed by Martin Robinson.
31659 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
31660 * UIProcess/API/gtk/WebKitSettings.cpp:
31661 (webkit_settings_class_init):
31662 * UIProcess/API/gtk/WebKitWebView.h:
31663 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
31665 2011-10-26 Anders Carlsson <andersca@apple.com>
31667 Use the right contents scale factor for non-Mac plug-ins
31668 https://bugs.webkit.org/show_bug.cgi?id=70939
31670 Reviewed by Adam Roben.
31672 * WebProcess/Plugins/PluginProxy.cpp:
31673 (WebKit::PluginProxy::paint):
31674 (WebKit::PluginProxy::geometryDidChange):
31675 (WebKit::PluginProxy::update):
31677 2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
31679 [GTK] Add missing symbols to WebKit2 gtk-doc files
31680 https://bugs.webkit.org/show_bug.cgi?id=70927
31682 Reviewed by Martin Robinson.
31684 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
31685 WebKitBackForwardList, WebKitBackForwardListItem and WebKitSettings.
31686 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add missing symbols.
31687 * UIProcess/API/gtk/docs/webkit2gtk.types: Add missing types.
31689 2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
31691 [GTK] Inconsistent name of WebKitSettings macros
31692 https://bugs.webkit.org/show_bug.cgi?id=70924
31694 Reviewed by Martin Robinson.
31696 Rename WEBKIT_TYPE_WEB_SETTINGS as WEBKIT_TYPE_SETTINGS and
31697 WEBKIT_IS_WEB_SETTINGS as WEBKIT_IS_SETTINGS.
31699 * UIProcess/API/gtk/WebKitSettings.cpp:
31700 (webkit_settings_init):
31701 (webkit_settings_new):
31702 (webkit_settings_get_enable_javascript):
31703 (webkit_settings_set_enable_javascript):
31704 (webkit_settings_get_auto_load_images):
31705 (webkit_settings_set_auto_load_images):
31706 (webkit_settings_get_load_icons_ignoring_image_load_setting):
31707 (webkit_settings_set_load_icons_ignoring_image_load_setting):
31708 (webkit_settings_get_enable_offline_web_application_cache):
31709 (webkit_settings_set_enable_offline_web_application_cache):
31710 (webkit_settings_get_enable_html5_local_storage):
31711 (webkit_settings_set_enable_html5_local_storage):
31712 (webkit_settings_get_enable_html5_database):
31713 (webkit_settings_set_enable_html5_database):
31714 (webkit_settings_get_enable_xss_auditor):
31715 (webkit_settings_set_enable_xss_auditor):
31716 (webkit_settings_get_enable_frame_flattening):
31717 (webkit_settings_set_enable_frame_flattening):
31718 (webkit_settings_get_enable_plugins):
31719 (webkit_settings_set_enable_plugins):
31720 (webkit_settings_get_enable_java):
31721 (webkit_settings_set_enable_java):
31722 (webkit_settings_get_javascript_can_open_windows_automatically):
31723 (webkit_settings_set_javascript_can_open_windows_automatically):
31724 (webkit_settings_get_enable_hyperlink_auditing):
31725 (webkit_settings_set_enable_hyperlink_auditing):
31726 * UIProcess/API/gtk/WebKitSettings.h:
31728 2011-10-26 Andras Becsi <andras.becsi@nokia.com>
31730 [Qt][WK2] Rename clean-up of QtPinchGestureRecognizer and QtViewportInteractionEngine
31731 https://bugs.webkit.org/show_bug.cgi?id=70903
31733 Reviewed by Kenneth Rohde Christiansen.
31735 Rename computeTouchCenter to computePinchCenter,
31736 and use the plural form of coordinate where appropriate.
31738 * UIProcess/API/qt/qtouchwebview.cpp:
31739 (QTouchWebViewPrivate::_q_viewportUpdated):
31740 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31741 (WebKit::computePinchCenter):
31742 (WebKit::QtPinchGestureRecognizer::recognize):
31743 * UIProcess/qt/QtViewportInteractionEngine.cpp:
31744 (WebKit::contentRectInViewportCoordinates):
31745 (WebKit::QtViewportInteractionEngine::event):
31746 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31747 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31748 (WebKit::QtViewportInteractionEngine::scaleContent):
31749 * UIProcess/qt/QtViewportInteractionEngine.h:
31751 2011-10-26 Zalan Bujtas <zbujtas@gmail.com>
31753 Name viewport change event consistently.
31754 https://bugs.webkit.org/show_bug.cgi?id=70901
31756 Reviewed by Kenneth Rohde Christiansen.
31758 Use ViewportPropertiesDidChange term consistently throughout WebKit.
31760 * UIProcess/API/efl/PageClientImpl.cpp:
31761 (WebKit::PageClientImpl::didChangeViewportProperties):
31762 * UIProcess/API/efl/PageClientImpl.h:
31763 * UIProcess/API/gtk/PageClientImpl.cpp:
31764 (WebKit::PageClientImpl::didChangeViewportProperties):
31765 * UIProcess/API/gtk/PageClientImpl.h:
31766 * UIProcess/API/mac/PageClientImpl.h:
31767 * UIProcess/API/mac/PageClientImpl.mm:
31768 (WebKit::PageClientImpl::didChangeViewportProperties):
31769 * UIProcess/API/qt/qdesktopwebview.cpp:
31770 (QDesktopWebViewPrivate::didChangeViewportProperties):
31771 * UIProcess/API/qt/qdesktopwebview_p.h:
31772 * UIProcess/API/qt/qtouchwebview.cpp:
31773 (QTouchWebViewPrivate::didChangeViewportProperties):
31774 * UIProcess/API/qt/qtouchwebview_p.h:
31775 * UIProcess/PageClient.h:
31776 * UIProcess/WebPageProxy.cpp:
31777 (WebKit::WebPageProxy::didChangeViewportProperties):
31778 * UIProcess/WebPageProxy.h:
31779 * UIProcess/WebPageProxy.messages.in:
31780 * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31781 (QtDesktopWebPageProxy::didChangeViewportProperties):
31782 * UIProcess/qt/QtDesktopWebPageProxy.h:
31783 * UIProcess/qt/QtTouchViewInterface.cpp:
31784 (WebKit::QtTouchViewInterface::didChangeViewportProperties):
31785 * UIProcess/qt/QtTouchViewInterface.h:
31786 * UIProcess/qt/QtViewInterface.h:
31787 * UIProcess/qt/QtWebPageProxy.cpp:
31788 (QtWebPageProxy::didChangeViewportProperties):
31789 * UIProcess/qt/QtWebPageProxy.h:
31790 * UIProcess/win/WebView.cpp:
31791 (WebKit::WebView::didChangeViewportProperties):
31792 * UIProcess/win/WebView.h:
31793 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31794 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
31795 * WebProcess/WebCoreSupport/WebChromeClient.h:
31797 2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
31799 [GTK] Remove g_thread_init() calls from gtk-doc scanner too
31800 https://bugs.webkit.org/show_bug.cgi?id=70908
31802 Reviewed by Gustavo Noronha Silva.
31804 * UIProcess/API/gtk/docs/GNUmakefile.am:
31806 2011-10-25 Andras Becsi <andras.becsi@nokia.com>
31808 [Qt][WK2] Add the animations on the ViewportInteractionEngine
31809 https://bugs.webkit.org/show_bug.cgi?id=66664
31811 Reviewed by Kenneth Rohde Christiansen.
31813 Introduce a QScroller based panning and a QVariantAnimation based scale animation.
31814 QScroller also handles flick gestures and animates overshoot.
31815 If a pinch gesture ends, the scale animation will scale and reposition the content
31816 such that it is within valid boundaries. The content is by default animated such
31817 that the content position as seen in the center of the visible viewport stays
31818 in the center, unless the content would be out of valid bounds.
31819 The patch also simplifies the ViewportUpdateGuard by using reference counting
31820 instead of a boolean for defering update requests.
31822 * UIProcess/qt/QtPanGestureRecognizer.cpp:
31823 (WebKit::QtPanGestureRecognizer::recognize):
31824 * UIProcess/qt/QtPanGestureRecognizer.h:
31825 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31826 (WebKit::QtPinchGestureRecognizer::recognize):
31827 * UIProcess/qt/QtTouchWebPageProxy.cpp:
31828 (QtTouchWebPageProxy::doneWithTouchEvent):
31829 * UIProcess/qt/QtViewportInteractionEngine.cpp:
31830 (WebKit::bindToScaleLimits):
31831 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
31832 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
31833 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31834 (WebKit::QtViewportInteractionEngine::innerBoundedScale):
31835 (WebKit::QtViewportInteractionEngine::outerBoundedScale):
31836 (WebKit::QtViewportInteractionEngine::updateVisibleRect):
31837 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
31838 (WebKit::QtViewportInteractionEngine::event):
31839 (WebKit::QtViewportInteractionEngine::stopAnimations):
31840 (WebKit::QtViewportInteractionEngine::calculateBoundariesForScale):
31841 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
31842 (WebKit::QtViewportInteractionEngine::reset):
31843 (WebKit::QtViewportInteractionEngine::setConstraints):
31844 (WebKit::QtViewportInteractionEngine::panGestureStarted):
31845 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
31846 (WebKit::QtViewportInteractionEngine::panGestureCancelled):
31847 (WebKit::QtViewportInteractionEngine::panGestureEnded):
31848 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31849 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31850 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
31851 (WebKit::QtViewportInteractionEngine::contentViewportChanged):
31852 * UIProcess/qt/QtViewportInteractionEngine.h:
31853 (WebKit::QtViewportInteractionEngine::scroller):
31854 (WebKit::QtViewportInteractionEngine::ScaleAnimation::ScaleAnimation):
31855 (WebKit::QtViewportInteractionEngine::ScaleAnimation::updateCurrentValue):
31857 2011-10-26 Zeno Albisser <zeno.albisser@nokia.com>
31859 [Qt][WK2] Rewrite MiniBrowser in QML
31860 https://bugs.webkit.org/show_bug.cgi?id=70315
31862 Add the first QML based implementation of MiniBrowser.
31864 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31865 Zeno Albisser <zeno.albisser@nokia.com>
31867 Reviewed by Tor Arne Vestbø.
31869 * UIProcess/API/qt/qdesktopwebview.cpp:
31870 (QDesktopWebView::mousePressEvent):
31872 2011-10-20 Zeno Albisser <zeno.albisser@nokia.com>
31874 [Qt][WK2] Disable Context Menus until we have a proper QML implementation
31875 https://bugs.webkit.org/show_bug.cgi?id=70537
31877 This is just a temporary fix to avoid crashes in QtGui based
31878 MiniBrowser that does not link to QtWidgets.
31880 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31881 Zeno Albisser <zeno.albisser@nokia.com>
31883 Reviewed by Simon Hausmann.
31885 * UIProcess/qt/WebContextMenuProxyQt.cpp:
31886 (WebKit::WebContextMenuProxyQt::showContextMenu):
31887 (WebKit::WebContextMenuProxyQt::createContextMenu):
31889 2011-10-25 Zeno Albisser <zeno.albisser@nokia.com>
31891 [Qt][WK2] Remove QAction from MiniBrowser
31892 https://bugs.webkit.org/show_bug.cgi?id=70525
31894 In order to rewrite MiniBrowser in QML we need a suitable
31895 mechanism for triggering navigation actions.
31896 Due to the QtWidgets dependency of QAction the current
31897 solution is not suitable anymore. Therefore we introduce
31898 invokable methods and export properties in QWebNavigationController.
31900 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31901 Zeno Albisser <zeno.albisser@nokia.com>
31903 Reviewed by Simon Hausmann.
31905 * UIProcess/API/qt/WKView.h:
31906 * UIProcess/API/qt/qdesktopwebview.h:
31907 * UIProcess/API/qt/qtouchwebpage.h:
31908 * UIProcess/API/qt/qwebkittypes.h: Removed.
31909 * UIProcess/API/qt/qwebnavigationcontroller.cpp:
31910 (QWebNavigationController::QWebNavigationController):
31911 (QWebNavigationController::canGoBack):
31912 (QWebNavigationController::canGoForward):
31913 (QWebNavigationController::canStop):
31914 (QWebNavigationController::canReload):
31915 (QWebNavigationController::goBack):
31916 (QWebNavigationController::goForward):
31917 (QWebNavigationController::stop):
31918 (QWebNavigationController::reload):
31919 * UIProcess/API/qt/qwebnavigationcontroller.h:
31920 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
31921 (tst_CommonViewTests::backAndForward):
31922 (tst_CommonViewTests::reload):
31923 (tst_CommonViewTests::stop):
31924 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31925 (WebViewAbstraction::goBack):
31926 (WebViewAbstraction::goForward):
31927 (WebViewAbstraction::stop):
31928 (WebViewAbstraction::reload):
31929 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
31930 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
31931 (tst_QDesktopWebView::navigationStatusAtStartup):
31932 (LoadStartedCatcher::onLoadStarted):
31933 (tst_QDesktopWebView::stopEnabledAfterLoadStarted):
31934 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
31935 (tst_QTouchWebView::navigationStatusAtStartup):
31936 * UIProcess/qt/ClientImpl.cpp:
31937 (dispatchLoadSucceeded):
31938 (dispatchLoadFailed):
31939 (qt_wk_didStartProvisionalLoadForFrame):
31940 (qt_wk_didCommitLoadForFrame):
31941 (qt_wk_didSameDocumentNavigationForFrame):
31942 * UIProcess/qt/QtWebPageProxy.cpp:
31943 (QtWebPageProxy::QtWebPageProxy):
31944 (QtWebPageProxy::canGoBack):
31945 (QtWebPageProxy::goBack):
31946 (QtWebPageProxy::canGoForward):
31947 (QtWebPageProxy::goForward):
31948 (QtWebPageProxy::canStop):
31949 (QtWebPageProxy::stop):
31950 (QtWebPageProxy::canReload):
31951 (QtWebPageProxy::reload):
31952 (QtWebPageProxy::navigationStateChanged):
31953 (QtWebPageProxy::didRelaunchProcess):
31954 (QtWebPageProxy::processDidCrash):
31955 * UIProcess/qt/QtWebPageProxy.h:
31958 2011-10-26 Ryosuke Niwa <rniwa@webkit.org>
31960 Another GTK build fix attempt after r98413 and r98416.
31962 * WebProcess/Plugins/PluginProxy.cpp:
31963 (WebKit::PluginProxy::paint):
31964 (WebKit::PluginProxy::geometryDidChange):
31965 (WebKit::PluginProxy::update):
31967 2011-10-25 Ryosuke Niwa <rniwa@webkit.org>
31969 C/C++ needs ; after each statement.
31971 * PluginProcess/PluginControllerProxy.cpp:
31972 (WebKit::PluginControllerProxy::geometryDidChange):
31974 2011-10-25 Ryosuke Niwa <rniwa@webkit.org>
31976 GTK build fix attempt after r98413 and r98416.
31978 * PluginProcess/PluginControllerProxy.cpp:
31979 (WebKit::PluginControllerProxy::paint):
31980 (WebKit::PluginControllerProxy::geometryDidChange):
31982 2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
31984 Remove deletePropertyVirtual
31985 https://bugs.webkit.org/show_bug.cgi?id=70738
31987 Reviewed by Geoffrey Garen.
31989 Removed all declarations and definitions of deletePropertyVirtual.
31990 Also replaced all call sites to deletePropertyVirtual with a
31991 corresponding lookup in the MethodTable.
31993 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31994 * WebProcess/Plugins/Netscape/JSNPObject.h:
31995 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31996 (WebKit::NPJSObject::removeProperty):
31998 2011-10-25 Brent Fulgham <bfulgham@webkit.org>
32000 [WinCairo] Unreviewed build fix after r97587.
32002 * win/WebKit2CFLite.def:
32004 2011-10-25 Anders Carlsson <andersca@apple.com>
32006 CG plug-ins are always given a context with a scale factor of 1, even when the device scale factor is something else
32007 https://bugs.webkit.org/show_bug.cgi?id=67227
32008 <rdar://problem/10048319>
32010 Reviewed by Sam Weinig.
32012 * PluginProcess/PluginControllerProxy.cpp:
32013 (WebKit::PluginControllerProxy::paint):
32014 Apply the scale factor when painting.
32016 * WebProcess/Plugins/PluginProxy.cpp:
32017 (WebKit::PluginProxy::paint):
32018 Apply the scale factor when painting.
32020 (WebKit::PluginProxy::geometryDidChange):
32021 Make sure to apply the contents scale factor to the backing store size.
32023 (WebKit::PluginProxy::update):
32024 Apply the scale factor (when painting).
32026 2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
32029 https://bugs.webkit.org/show_bug.cgi?id=70740
32031 Reviewed by Geoffrey Garen.
32033 Removed all declarations and definitions of putVirtual.
32034 Also replaced all call sites to putVirtual with a
32035 corresponding lookup in the MethodTable.
32037 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32038 * WebProcess/Plugins/Netscape/JSNPObject.h:
32039 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
32040 (WebKit::NPJSObject::setProperty):
32042 2011-10-25 Anders Carlsson <andersca@apple.com>
32044 Plug-ins have no way to find out when the device scale factor changes
32045 https://bugs.webkit.org/show_bug.cgi?id=67226
32046 <rdar://problem/10048276>
32048 Reviewed by Sam Weinig.
32050 * PluginProcess/PluginControllerProxy.cpp:
32051 (WebKit::PluginControllerProxy::geometryDidChange):
32052 * PluginProcess/PluginControllerProxy.h:
32053 This now takes the contentsScaleFactor and calls contentsScaleFactorChanged on its plug-in
32054 if the scale factor changes.
32056 * PluginProcess/PluginControllerProxy.messages.in:
32057 GeometryDidChange now takes a contents scale factor parameter.
32059 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32060 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32061 (WebKit::NetscapePlugin::contentsScaleFactorChanged):
32062 Implement contentsScaleFactorChanged and call NPP_SetValue with the new scale factor.
32064 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32065 (WebKit::BuiltInPDFView::contentsScaleFactorChanged):
32066 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32069 * WebProcess/Plugins/Plugin.h:
32070 Add pure virtual contentsScaleFactorChanged member function.
32072 * WebProcess/Plugins/PluginProxy.cpp:
32073 (WebKit::PluginProxy::geometryDidChange):
32074 Add geometryDidChange overload that doesn't take any parameters. Make it send over the
32075 new scale factor to the plug-in process.
32077 (WebKit::PluginProxy::contentsScaleFactorChanged):
32078 Call geometryDidChange.
32080 * WebProcess/Plugins/PluginView.cpp:
32081 (WebKit::PluginView::setDeviceScaleFactor):
32082 Call Plugin::contentsScaleFactorChanged.
32084 * WebProcess/WebPage/WebPage.cpp:
32085 (WebKit::WebPage::setDeviceScaleFactor):
32086 Call setDeviceScaleFactor on all registered plug-ins.
32088 2011-10-25 Beth Dakin <bdakin@apple.com>
32090 https://bugs.webkit.org/show_bug.cgi?id=70852
32091 Setting up a HiDPI base-level GraphicsContext should be more straightforward for
32094 Reviewed by Dan Bernstein.
32096 When we need a base-level HiDPI GraphicsContext, call into new GraphicsContext api
32097 GraphicsContext::applyDeviceScaleFactor() rather than manually scaling and
32098 adjusting the base CTM.
32099 * WebProcess/WebPage/DrawingAreaImpl.cpp:
32100 (WebKit::DrawingAreaImpl::display):
32101 * WebProcess/WebPage/WebPage.cpp:
32102 (WebKit::WebPage::snapshotInViewCoordinates):
32103 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
32105 2011-10-25 Anders Carlsson <andersca@apple.com>
32107 Plug-ins have to use JavaScript to find out the current device scale factor
32108 https://bugs.webkit.org/show_bug.cgi?id=67225
32109 <rdar://problem/10048258>
32111 Reviewed by Darin Adler.
32113 * PluginProcess/PluginControllerProxy.cpp:
32114 (WebKit::PluginControllerProxy::PluginControllerProxy):
32115 Initialize m_contentsScaleFactor.
32117 * PluginProcess/PluginControllerProxy.h:
32118 Add contentsScaleFactor member function and m_contentsScaleFactor member variable.
32120 * PluginProcess/PluginCreationParameters.cpp:
32121 (WebKit::PluginCreationParameters::PluginCreationParameters):
32122 (WebKit::PluginCreationParameters::encode):
32123 (WebKit::PluginCreationParameters::decode):
32124 * PluginProcess/PluginCreationParameters.h:
32125 Add contentsScaleFactor to the creation parameters.
32127 * PluginProcess/mac/PluginControllerProxyMac.mm:
32128 (WebKit::PluginControllerProxy::contentsScaleFactor):
32129 Return the cached m_contentsScaleFactor.
32131 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
32132 (WebKit::NPN_GetValue):
32133 Handle getting the scale factor by calling NetscapePlugin::contentsScaleFactor.
32135 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32136 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32137 (WebKit::NetscapePlugin::contentsScaleFactor):
32138 Ask the plug-in controller for the contents scale factor.
32140 * WebProcess/Plugins/PluginController.h:
32141 Add contentsScaleFactor pure virtual member function.
32143 * WebProcess/Plugins/PluginProxy.cpp:
32144 (WebKit::PluginProxy::initialize):
32145 Set contentsScaleFactor in the creation parameters.
32147 * WebProcess/Plugins/PluginView.cpp:
32148 (WebKit::PluginView::contentsScaleFactor):
32149 Get the device scale factor from the page.
32151 * WebProcess/Plugins/PluginView.h:
32152 Add contentsScaleFactor().
32154 * WebProcess/WebPage/WebPage.cpp:
32155 (WebKit::WebPage::setDeviceScaleFactor):
32156 Bail if the scale factor didn't change.
32158 2011-10-25 Sam Weinig <sam@webkit.org>
32160 Flesh out WKBrowsingContextLoadDelegate a bit
32161 https://bugs.webkit.org/show_bug.cgi?id=70846
32163 Add didReceiveServerRedirectForProvisionalLoad, didFailProvisionalLoad
32166 Reviewed by Anders Carlsson.
32168 Test: WKBrowsingContextLoadDelegateTest
32170 * UIProcess/API/mac/WKBrowsingContextController.mm:
32171 (didReceiveServerRedirectForProvisionalLoadForFrame):
32172 (didFailProvisionalLoadWithErrorForFrame):
32173 (didFailLoadWithErrorForFrame):
32174 (setUpPageLoaderClient):
32175 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
32177 2011-10-25 Anders Carlsson <andersca@apple.com>
32179 Assertion failure when zooming a PDF in an iframe
32180 https://bugs.webkit.org/show_bug.cgi?id=70849
32182 Reviewed by Alexey Proskuryakov.
32184 If the plug-in doesn't want window relative coordinates, we shouldn't give the plug-in window relative coordinates.
32186 * WebProcess/Plugins/PluginView.cpp:
32187 (WebKit::PluginView::viewGeometryDidChange):
32189 2011-10-25 Sam Weinig <sam@webkit.org>
32191 Make loadFileURL:restrictToFilesWithin: work, albeit, without the correct
32192 restrictions for now.
32194 Reviewed by Anders Carlsson.
32196 * UIProcess/API/mac/WKBrowsingContextController.mm:
32197 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
32199 2011-10-25 Anders Carlsson <andersca@apple.com>
32201 PDF SUBFRAMES: Incomplete repaint after pinch to zoom
32202 https://bugs.webkit.org/show_bug.cgi?id=70821
32203 <rdar://problem/10312733>
32205 Reviewed by Simon Fraser.
32207 Add a new pure virtual member function, Plugin::wantsWindowRelativeCoordinates.
32208 If a plug-in subclass returns true, we'll keep giving the plug-in coordinates that
32209 are relative to the containing window. If a plug-in subclass returns false, we'll give it
32210 coordinates in a much more sane coordinate system, with the origin at the top left corner of the plug-in.
32212 Change BuiltinPDFView to return false so that it'll work correctly with pinch to zoom.
32214 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
32215 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
32216 Make wantsWindowRelativeCoordinates return true.
32218 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32219 (WebKit::BuiltInPDFView::paint):
32220 Remove translation since the graphics context is already set up in the right way.
32222 (WebKit::BuiltInPDFView::paintContent):
32223 No need to offset by the plug-in view location anymore.
32225 (WebKit::BuiltInPDFView::paintControls):
32226 Account for the scrollbars being children of the parent scroll view here.
32228 (WebKit::BuiltInPDFView::wantsWindowRelativeCoordinates):
32231 (WebKit::BuiltInPDFView::convertFromContainingViewToScrollbar):
32232 Implement this so that scrollbar hit testing works correctly.
32234 * WebProcess/Plugins/Plugin.h:
32235 Add wantsWindowRelativeCoordinates.
32237 * WebProcess/Plugins/PluginProxy.cpp:
32238 (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
32239 Return true for now.
32241 * WebProcess/Plugins/PluginView.cpp:
32242 (WebKit::PluginView::renderer):
32245 (WebKit::PluginView::paint):
32246 Handle the case when the plug-in doesn't want window relative coordinates.
32248 (WebKit::PluginView::transformsAffectFrameRect):
32251 (WebKit::PluginView::viewGeometryDidChange):
32252 No need to adjust the bounds to account for the scale factor now, since the frame rect will always be the
32253 same regardless of the transform.
32255 (WebKit::PluginView::clipRectInWindowCoordinates):
32258 2011-10-25 John Sullivan <sullivan@apple.com>
32260 "Open with" item missing from PDF context menu in some cases
32261 https://bugs.webkit.org/show_bug.cgi?id=70828
32262 <rdar://problem/10034302>
32264 Reviewed by Anders Carlsson.
32266 * UIProcess/API/mac/PDFViewController.mm:
32267 (insertOpenWithDefaultPDFMenuItem):
32268 New helper function, extracted from -menuForEvent:. Identical to original code except
32269 that it inserts the item at a specified index, rather than always at the end.
32270 (-[WKPDFView menuForEvent:]):
32271 Now keeps track of whether the Open With item has been inserted while iterating through
32272 the PDFKit-supplied menu items looking for a "Copy" item. If a "Copy" item is not found,
32273 inserts the Open With item at the top of the context menu.
32275 2011-10-25 Zeno Albisser <zeno.albisser@nokia.com>
32277 [Qt][WK2] QDesktopWebView and QTouchWebView should be declared in the meta type system.
32278 https://bugs.webkit.org/show_bug.cgi?id=70693
32280 This change allows us to use the template based features of the meta type system
32281 such as using the WebView classes as types for QVariant.
32283 Reviewed by Simon Hausmann.
32285 * UIProcess/API/qt/qdesktopwebview.h:
32286 * UIProcess/API/qt/qtouchwebview.h:
32288 2011-10-25 Zalan Bujtas <zbujtas@gmail.com>
32290 [Qt][WK2] Remove redundant setPageIsVisible() API
32291 https://bugs.webkit.org/show_bug.cgi?id=70520
32293 Use DrawingAreaProxy::visibilityDidChange() instead of DrawingAreaProxy::setPageIsVisible()
32294 Remove DrawingAreaProxy::setPageIsVisible(), not used anymore.
32295 This change disables the ability of suspending and resuming painting for TiledDrawingAreaProxy.
32296 However, TiledDrawingAreaProxy is about to be deprecated by using DrawingAreaProxyImpl
32297 as the UI process drawing area proxy for tiled based rendering.
32299 Reviewed by Simon Hausmann.
32301 * UIProcess/API/qt/qtouchwebpage.cpp:
32302 (QTouchWebPage::QTouchWebPage):
32303 (QTouchWebPagePrivate::setPage):
32304 * UIProcess/API/qt/qtouchwebpage.h:
32305 * UIProcess/API/qt/qtouchwebview.cpp:
32306 (QTouchWebView::QTouchWebView):
32307 (QTouchWebView::touchEvent):
32308 (QTouchWebView::onVisibleChanged):
32309 * UIProcess/API/qt/qtouchwebview.h:
32310 * UIProcess/DrawingAreaProxy.h:
32311 * UIProcess/DrawingAreaProxyImpl.cpp:
32312 * UIProcess/DrawingAreaProxyImpl.h:
32313 * UIProcess/TiledDrawingAreaProxy.cpp:
32314 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
32315 (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
32316 * UIProcess/TiledDrawingAreaProxy.h:
32317 * UIProcess/WebPageProxy.cpp:
32318 (WebKit::WebPageProxy::viewStateDidChange):
32319 * UIProcess/qt/QtWebPageProxy.cpp:
32320 * UIProcess/qt/QtWebPageProxy.h:
32322 2011-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
32324 [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API
32325 https://bugs.webkit.org/show_bug.cgi?id=69825
32327 Reviewed by Martin Robinson.
32329 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
32330 (webkitBackForwardListItemGetWKItem):
32331 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
32332 * UIProcess/API/gtk/WebKitWebView.cpp:
32333 (webkit_web_view_go_to_back_forward_list_item):
32334 * UIProcess/API/gtk/WebKitWebView.h:
32335 * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
32336 (testBackForwardListNavigation):
32338 2011-10-25 Vamshikrishna Yellenki <vamshi@motorola.com>
32340 [WK2]Critical warning while building WebKit2 GTK+
32341 https://bugs.webkit.org/show_bug.cgi?id=70591
32343 Reviewed by Martin Robinson.
32345 * WebProcess/WebPage/WebPage.cpp: Included DataObjectGtk.h to avoid warnings for GTK
32347 2011-10-24 Sam Weinig <sam@webkit.org>
32349 Simplify url accessors on WKBrowsingContextController
32350 https://bugs.webkit.org/show_bug.cgi?id=70797
32352 Reviewed by Anders Carlsson.
32354 * UIProcess/API/C/WKPage.cpp:
32355 (WKPageCopyActiveURL):
32356 (WKPageCopyProvisionalURL):
32357 (WKPageCopyCommittedURL):
32358 * UIProcess/API/C/WKPage.h:
32359 Add accessors to C SPI.
32361 * UIProcess/API/mac/WKBrowsingContextController.h:
32362 Remove unreachableURL accessor for now. It may make a glorious return when we have
32363 error page support.
32365 * UIProcess/API/mac/WKBrowsingContextController.mm:
32366 (-[WKBrowsingContextController activeURL]):
32367 (-[WKBrowsingContextController provisionalURL]):
32368 (-[WKBrowsingContextController committedURL]):
32369 Implement these in terms of the new C SPI.
32371 * UIProcess/WebPageProxy.cpp:
32372 (WebKit::WebPageProxy::activeURL):
32373 Add computation of the "active" URL, which is the URL one would show
32374 in an address field. It is the pending URL when there is one, the provisional
32375 URL when there is one, and otherwise the committed/final URL.
32377 (WebKit::WebPageProxy::provisionalURL):
32378 (WebKit::WebPageProxy::committedURL):
32379 Add access to the main frame URL.
32380 * UIProcess/WebPageProxy.h:
32382 2011-10-24 Sam Weinig <sam@webkit.org>
32384 Hook up minimalist load delegate to WKBrowsingContextController
32385 https://bugs.webkit.org/show_bug.cgi?id=70764
32387 Reviewed by Simon Fraser.
32389 * UIProcess/API/mac/WKBrowsingContextController.h:
32390 * UIProcess/API/mac/WKBrowsingContextController.mm:
32391 (-[WKBrowsingContextController loadDelegate]):
32392 (-[WKBrowsingContextController setLoadDelegate:]):
32393 Add loadDelegate getter/setter. As per convention, the delegate is not
32396 (didStartProvisionalLoadForFrame):
32397 (didCommitLoadForFrame):
32398 (didFinishLoadForFrame):
32399 (setUpPageLoaderClient):
32400 (-[WKBrowsingContextController initWithPageRef:]):
32401 Hookup the delegate to a WKPageLoaderClient.
32403 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Added.
32404 Add load delegate as a proper protocol.
32406 * WebKit2.xcodeproj/project.pbxproj:
32409 2011-10-24 Michael Saboff <msaboff@apple.com>
32411 WebKit doesn't build with recent changes to libdispatch
32412 https://bugs.webkit.org/show_bug.cgi?id=70737
32414 Added initialization for new WebKitSystemInterface function
32415 CreateVMPressureDispatchOnMainQueue.
32417 Reviewed by Geoffrey Garen.
32419 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
32420 (InitWebCoreSystemInterface):
32422 2011-10-24 Sam Weinig <sam@webkit.org>
32424 Add URL getters for the WKBrowsingContextController
32425 https://bugs.webkit.org/show_bug.cgi?id=70752
32427 Reviewed by Anders Carlsson.
32429 * UIProcess/API/mac/WKBrowsingContextController.h:
32430 * UIProcess/API/mac/WKBrowsingContextController.mm:
32432 Added helpers for autoreleasing.
32434 (-[WKBrowsingContextController activeURL]):
32435 Added buy not implemented yet.
32437 (-[WKBrowsingContextController pendingURL]):
32438 (-[WKBrowsingContextController provisionalURL]):
32439 (-[WKBrowsingContextController commitedURL]):
32440 (-[WKBrowsingContextController unreachableURL]):
32443 (-[WKBrowsingContextController title]):
32444 Convert to new autoreleased helper.
32446 2011-10-24 Sam Weinig <sam@webkit.org>
32448 Add zoom and title support to Objective-C WebKit2 API
32449 https://bugs.webkit.org/show_bug.cgi?id=70744
32451 Reviewed by Darin Adler.
32453 * UIProcess/API/mac/WKBrowsingContextController.h:
32454 * UIProcess/API/mac/WKBrowsingContextController.mm:
32455 (-[WKBrowsingContextController title]):
32456 (-[WKBrowsingContextController textZoom]):
32457 (-[WKBrowsingContextController setTextZoom:]):
32458 (-[WKBrowsingContextController pageZoom]):
32459 (-[WKBrowsingContextController setPageZoom:]):
32461 2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
32463 [GTK] Fix make distcheck build
32464 https://bugs.webkit.org/show_bug.cgi?id=69745
32466 Reviewed by Martin Robinson.
32470 2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
32472 [GTK] Initial implementation of back forward list for WebKit2 GTK+ API
32473 https://bugs.webkit.org/show_bug.cgi?id=69343
32475 Reviewed by Martin Robinson.
32477 * GNUmakefile.am: Add new files to compilation.
32478 * UIProcess/API/gtk/WebKitBackForwardList.cpp: Added.
32479 (webkitBackForwardListFinalize):
32480 (webkit_back_forward_list_init):
32481 (webkit_back_forward_list_class_init):
32482 (webkitBackForwardListGetOrCreateItem): Helper function that
32483 creates a new WebKitBackForwardListItem for the given
32484 WebBackForwardListItem or returns it from the cache if it's
32486 (webkitBackForwardListCreateList): Helper function to convert a
32487 WKArray of WebBackForwardListItems into a GList of
32488 WebKitBackForwardListItems.
32489 (webkitBackForwardListCreate): Create a new WebKitBackForwardList.
32490 (webkitBackForwardListChanged): Emits changed signal when the back
32491 forward list changes.
32492 (webkit_back_forward_list_get_current_item):
32493 (webkit_back_forward_list_get_back_item):
32494 (webkit_back_forward_list_get_forward_item):
32495 (webkit_back_forward_list_get_nth_item):
32496 (webkit_back_forward_list_get_length):
32497 (webkit_back_forward_list_get_back_list):
32498 (webkit_back_forward_list_get_back_list_with_limit):
32499 (webkit_back_forward_list_get_forward_list):
32500 (webkit_back_forward_list_get_forward_list_with_limit):
32501 * UIProcess/API/gtk/WebKitBackForwardList.h: Added.
32502 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Added.
32503 (webkitBackForwardListItemFinalize):
32504 (webkit_back_forward_list_item_init):
32505 (webkit_back_forward_list_item_class_init):
32506 (historyItemsMap): Global cache for WebKitBackForwardListItems.
32507 (webkitBackForwardListItemFinalized):
32508 (webkitBackForwardListItemGetOrCreate): Helper function that
32509 creates a new WebKitBackForwardListItem for the given
32510 WebBackForwardListItem or returns it from the global cache if it's
32512 (webkit_back_forward_list_item_get_uri):
32513 (webkit_back_forward_list_item_get_title):
32514 (webkit_back_forward_list_item_get_original_uri):
32515 * UIProcess/API/gtk/WebKitBackForwardListItem.h: Added.
32516 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: Added.
32517 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32518 (didChangeBackForwardList): Call webkitBackForwardListChanged() to
32519 notify that the list has changed.
32520 (webkitWebLoaderClientAttachLoaderClientToPage): Add
32521 implementation for didChangeBackForwardList.
32522 * UIProcess/API/gtk/WebKitWebView.cpp:
32523 (webkitWebViewConstructed):
32524 (webkit_web_view_get_back_forward_list): Return the back forward
32526 * UIProcess/API/gtk/WebKitWebView.h:
32527 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test.
32528 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Added.
32530 (testBackForwardListNavigation):
32531 (testBackForwardListLimitAndCache):
32534 * UIProcess/API/gtk/tests/TestMain.h:
32535 (Test::~Test): Check there are no objects leaked.
32536 (Test::objectFinalized): Callback called when a GObject is
32537 deleted, used to remove the watched object the list.
32538 (Test::assertObjectIsDeletedWhenTestFinishes): Add an object to
32539 the list of watched objects and add a weak pointer to remove it
32540 from the list when the object is finalized. If there aren't
32541 objects leaked, the list should be empty when the test finishes.
32542 * UIProcess/API/gtk/tests/WebViewTest.cpp:
32543 (WebViewTest::WebViewTest): Watch the web view to make sure it's
32545 * UIProcess/API/gtk/tests/WebViewTest.h: Make WebViewTest inherit
32547 * UIProcess/API/gtk/webkit2.h: Include WebKitBackForwardList.h and
32548 WebKitBackForwardListItem.h.
32549 * UIProcess/API/gtk/webkit2marshal.list:
32551 2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
32553 [GTK] Add helper function to set the loader client in WebKitWebView
32554 https://bugs.webkit.org/show_bug.cgi?id=70594
32556 Reviewed by Martin Robinson.
32558 * UIProcess/API/gtk/WebKitWebView.cpp:
32559 (webkitWebViewSetLoaderClient): Helper function to set the loader
32561 (webkitWebViewConstructed): Use webkitWebViewSetLoaderClient() to
32562 avoid unnecessary checks.
32563 (webkit_web_view_set_loader_client): Use
32564 webkitWebViewSetLoaderClient().
32566 2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
32568 [GTK] Remove g_thread_init() calls
32569 https://bugs.webkit.org/show_bug.cgi?id=70717
32571 Reviewed by Xan Lopez.
32573 With newer glib it's not needed anymore and with previous versions
32574 it was already called by g_type_init().
32576 * UIProcess/API/gtk/tests/TestMain.cpp:
32579 2011-10-24 Zeno Albisser <zeno.albisser@nokia.com>
32581 [Qt][WK2] WebView does not get focus when being clicked / touched in MiniBrowser.
32582 https://bugs.webkit.org/show_bug.cgi?id=70613
32584 Make TouchWebView and DesktopWebView take the focus whenever it receives
32585 a MouseClick or a TouchEvent.
32587 Reviewed by Simon Hausmann.
32589 * UIProcess/API/qt/qdesktopwebview.cpp:
32590 (QDesktopWebView::mousePressEvent):
32591 * UIProcess/API/qt/qtouchwebview.cpp:
32592 (QTouchWebView::touchEvent):
32593 * UIProcess/API/qt/qtouchwebview.h:
32595 2011-10-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
32597 [GTK] [WK2] Memory leaks in WebContextGtk.cpp
32598 https://bugs.webkit.org/show_bug.cgi?id=70505
32600 Free the output of g_build_filename()
32602 Reviewed by Martin Robinson.
32604 * UIProcess/gtk/WebContextGtk.cpp:
32605 (WebKit::WebContext::platformDefaultDatabaseDirectory):
32606 (WebKit::WebContext::platformDefaultLocalStorageDirectory):
32608 2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
32610 Remove getConstructDataVirtual
32611 https://bugs.webkit.org/show_bug.cgi?id=70638
32613 Reviewed by Darin Adler.
32615 Removed all declarations and definitions of getConstructDataVirtual.
32616 Also replaced all call sites to getConstructDataVirtual with a
32617 corresponding lookup in the MethodTable.
32619 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32620 * WebProcess/Plugins/Netscape/JSNPObject.h:
32622 2011-10-21 Alexey Proskuryakov <ap@apple.com>
32624 [WK2] Clicking a print button in a PDF doesn't do anything
32625 https://bugs.webkit.org/show_bug.cgi?id=70663
32626 <rdar://problem/9795014>
32628 Reviewed by Dan Bernstein.
32630 * UIProcess/WebPageProxy.h:
32631 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printMainFrame): Added a public method
32632 that PDFViewController could call.
32634 * UIProcess/API/mac/PDFViewController.h:
32635 * UIProcess/API/mac/PDFViewController.mm:
32636 (-[WKPDFView PDFViewPerformPrint:]):
32637 (WebKit::PDFViewController::print):
32638 Connect PDFView delegate method for printing.
32640 2011-10-21 Sam Weinig <sam@webkit.org>
32642 Lookup does not work on text using web fonts in WebKit2
32643 https://bugs.webkit.org/show_bug.cgi?id=70669
32644 <rdar://problem/10147441>
32646 Reviewed by Anders Carlsson.
32648 * WebProcess/WebPage/mac/WebPageMac.mm:
32649 (WebKit::WebPage::performDictionaryLookupForRange):
32650 If the font for the range is web font (and therefore no NSFont is
32651 available), use the system font of the same size. While not great,
32652 it approximates what WebKit1 does.
32654 2011-10-21 Sam Weinig <sam@webkit.org>
32656 Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup>
32657 https://bugs.webkit.org/show_bug.cgi?id=70667
32658 <rdar://problem/9622186>
32660 Reviewed by Anders Carlsson.
32662 * Shared/DictionaryPopupInfo.cpp:
32663 (WebKit::DictionaryPopupInfo::encode):
32664 (WebKit::DictionaryPopupInfo::decode):
32665 Account for the fact that the options dictionary can be null. This is due to Lookup passing
32666 back a null, rather than empty, dictionary when it could not find any interesting characteristics.
32668 2011-10-21 Sam Weinig <sam@webkit.org>
32670 Add WKBrowsingContextGroup which wraps WKPageGroupRef
32671 https://bugs.webkit.org/show_bug.cgi?id=70665
32673 Reviewed by Anders Carlsson.
32675 * UIProcess/API/mac/WKBrowsingContextGroup.h: Added.
32676 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added.
32677 (-[WKBrowsingContextGroup initWithIdentifier:]):
32678 (-[WKBrowsingContextGroup dealloc]):
32679 (-[WKBrowsingContextGroup pageGroupRef]):
32680 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
32681 * UIProcess/API/mac/WKView.h:
32682 * UIProcess/API/mac/WKView.mm:
32683 (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
32684 * WebKit2.xcodeproj/project.pbxproj:
32686 2011-10-21 Sam Weinig <sam@webkit.org>
32688 Mark member variables of WebKit2 API @private
32689 https://bugs.webkit.org/show_bug.cgi?id=70655
32691 Reviewed by Simon Fraser.
32693 * UIProcess/API/mac/WKBrowsingContextController.h:
32694 * UIProcess/API/mac/WKView.h:
32696 2011-10-21 Sam Weinig <sam@webkit.org>
32698 Rename WKProcessCluster to WKProcessGroup
32699 https://bugs.webkit.org/show_bug.cgi?id=70654
32701 Reviewed by Simon Fraser.
32703 * UIProcess/API/mac/WKProcessCluster.h: Removed.
32704 * UIProcess/API/mac/WKProcessCluster.mm: Removed.
32705 * UIProcess/API/mac/WKProcessClusterInternal.h: Removed.
32706 * UIProcess/API/mac/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.h.
32707 * UIProcess/API/mac/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.mm.
32708 (-[WKProcessGroup initWithInjectedBundleURL:]):
32709 * UIProcess/API/mac/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessClusterInternal.h.
32710 * UIProcess/API/mac/WKView.h:
32711 * UIProcess/API/mac/WKView.mm:
32712 (-[WKView initWithFrame:processCluster:]):
32713 * WebKit2.xcodeproj/project.pbxproj:
32715 2011-10-21 Sam Weinig <sam@webkit.org>
32717 Remove ability to create a WKView without a WKContextRef and WKPageGroupRef
32718 https://bugs.webkit.org/show_bug.cgi?id=70653
32720 Reviewed by Simon Fraser.
32722 Requiring a context and pagegroup removes the concept of global contexts,
32723 which is something that is both confusing, and makes Objective-C wrapping
32726 * UIProcess/API/mac/WKView.mm:
32727 (-[WKView initWithFrame:processCluster:]):
32728 * UIProcess/API/mac/WKViewPrivate.h:
32729 Remove init methods that didn't take both a context and a pagegroup.
32731 2011-10-21 Alexey Proskuryakov <ap@apple.com>
32733 [WK2] Crash after printing a view with accelerated compositing content
32734 https://bugs.webkit.org/show_bug.cgi?id=70643
32735 <rdar://problem/9479083>
32737 Reviewed by Darin Adler.
32739 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
32740 We cannot rely on -[WKView drawRect:] calling endPrinting() for us. That call to endPrinting()
32741 is still necessary to paint e.g. when resizing a window while a print dialog is present.
32743 2011-10-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
32745 [WK2] WebFrameLoaderClient::shouldFallback() should use a port-specific implementation
32746 https://bugs.webkit.org/show_bug.cgi?id=70055
32748 Reviewed by Luiz Agostini.
32750 In QtWebKit 1, our FrameLoaderClient::shouldFallback was checking for InterruptedForPolicyChange
32751 error. In WebKit2, we are relying on the common implementation for WebFrameLoaderClient::shouldFallback
32752 which doesn't check for the same error. Here we add this check only for Qt.
32754 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32755 (WebKit::WebFrameLoaderClient::shouldFallBack):
32757 2011-10-21 Anders Carlsson <andersca@apple.com>
32759 Flash of white when loading a page after a web process crash
32760 https://bugs.webkit.org/show_bug.cgi?id=70615
32761 <rdar://problem/10306906>
32763 Reviewed by Darin Adler.
32765 * UIProcess/API/mac/WKView.mm:
32766 (-[WKView _processDidCrash]):
32767 (-[WKView _didRelaunchProcess]):
32768 Remove calls to setNeedsDisplay here.
32770 * UIProcess/WebPageProxy.cpp:
32771 (WebKit::WebPageProxy::processDidCrash):
32772 Call setNeedsDisplay, but only if calling out to the loader client didn't relaunch the web process.
32774 * WebProcess/WebPage/DrawingArea.h:
32775 (WebKit::DrawingArea::setPaintingEnabled):
32776 * WebProcess/WebPage/DrawingAreaImpl.cpp:
32777 (WebKit::DrawingAreaImpl::DrawingAreaImpl):
32778 (WebKit::DrawingAreaImpl::setNeedsDisplay):
32779 (WebKit::DrawingAreaImpl::scroll):
32780 (WebKit::DrawingAreaImpl::setPaintingEnabled):
32781 * WebProcess/WebPage/DrawingAreaImpl.h:
32782 Add a way to disable painting completely for a drawing area.
32784 * WebProcess/WebPage/WebPage.cpp:
32785 (WebKit::WebPage::WebPage):
32786 Disable painting while setting up the web page, otherwise we'll get paint requests when we set the
32787 active state of the web page.
32789 2011-10-21 Csaba Osztrogonác <ossy@webkit.org>
32791 [Qt][WK2] Buildfix for newer Qt5. Remove duplicated defines.
32793 Reviewed by Simon Hausmann.
32795 * UIProcess/API/qt/tests/util.h:
32797 2011-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
32799 Unreviewed. Fix WebKit2 GTK+ build after r98081.
32801 * UIProcess/API/gtk/WebKitWebView.h:
32803 2011-10-21 Sheriff Bot <webkit.review.bot@gmail.com>
32805 Unreviewed, rolling out r98085.
32806 http://trac.webkit.org/changeset/98085
32807 https://bugs.webkit.org/show_bug.cgi?id=70589
32809 It broke the build (Requested by Ossy on #webkit).
32811 * UIProcess/API/qt/tests/util.h:
32813 2011-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
32815 [GTK] Fix API documentation comment for webkit_web_view_get_estimated_load_progress()
32816 https://bugs.webkit.org/show_bug.cgi?id=70587
32818 Reviewed by Philippe Normand.
32820 It's should start with /** to be recognized as API documentation.
32822 * UIProcess/API/gtk/WebKitWebView.cpp:
32824 2011-10-21 Csaba Osztrogonác <ossy@webkit.org>
32826 [Qt][WK2] Unreviewed buildfix for newer Qt5. Remove duplicated defines.
32828 * UIProcess/API/qt/tests/util.h:
32830 2011-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
32832 [GTK] Add can_go_back/forward methods to WebKit2 GTK+ API
32833 https://bugs.webkit.org/show_bug.cgi?id=69823
32835 Reviewed by Martin Robinson.
32837 * UIProcess/API/gtk/WebKitWebView.cpp:
32838 (webkit_web_view_go_back):
32839 (webkit_web_view_can_go_back):
32840 (webkit_web_view_go_forward):
32841 (webkit_web_view_can_go_forward):
32842 * UIProcess/API/gtk/WebKitWebView.h:
32844 2011-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
32846 [GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API
32847 https://bugs.webkit.org/show_bug.cgi?id=69610
32849 Reviewed by Martin Robinson.
32851 * UIProcess/API/gtk/WebKitWebView.cpp:
32852 (webkit_web_view_stop_loading):
32853 * UIProcess/API/gtk/WebKitWebView.h:
32854 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
32855 (provisionalLoadFailedCallback):
32856 (loadFailedCallback):
32857 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
32858 (LoadStopTrackingTest::loadCommitted):
32859 (LoadStopTrackingTest::loadFailed):
32860 (LoadStopTrackingTest::loadFinished):
32861 (testLoadCancelled):
32865 2011-10-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
32867 [Qt][WK2] qweberror* should follow the new file and class naming rules
32868 https://bugs.webkit.org/show_bug.cgi?id=70550
32870 Reviewed by Noam Rosenthal.
32872 Renaming qweberror* files and class to QtWebError*.
32873 QWebErrorPrivate is now merged into QtWebError.
32875 * UIProcess/API/qt/qdesktopwebview.cpp:
32876 (QDesktopWebViewPrivate::loadDidFail):
32877 * UIProcess/API/qt/qdesktopwebview_p.h:
32878 * UIProcess/qt/ClientImpl.cpp:
32879 (dispatchLoadFailed):
32880 * UIProcess/qt/QtTouchViewInterface.cpp:
32881 (WebKit::QtTouchViewInterface::loadDidFail):
32882 * UIProcess/qt/QtTouchViewInterface.h:
32883 * UIProcess/qt/QtViewInterface.h:
32884 * UIProcess/qt/QtWebError.cpp: Renamed from Source/WebKit2/UIProcess/qt/qweberror.cpp.
32885 (QtWebError::QtWebError):
32886 (QtWebError::type):
32887 (QtWebError::errorCode):
32889 * UIProcess/qt/QtWebError.h: Renamed from Source/WebKit2/UIProcess/qt/qweberror.h.
32890 (QtWebError::errorCodeAsHttpStatusCode):
32891 (QtWebError::errorCodeAsNetworkError):
32892 * UIProcess/qt/QtWebPageProxy.cpp:
32893 (QtWebPageProxy::loadDidFail):
32894 * UIProcess/qt/QtWebPageProxy.h:
32895 * UIProcess/qt/qweberror_p.h: Removed.
32898 2011-10-20 Alexey Proskuryakov <ap@apple.com>
32900 REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
32901 https://bugs.webkit.org/show_bug.cgi?id=70534
32902 <rdar://problem/10308827>
32904 Reviewed by Darin Adler.
32906 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::handleContextMenuEvent):
32907 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32908 * WebProcess/Plugins/Plugin.h:
32909 * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::handleContextMenuEvent):
32910 * WebProcess/Plugins/PluginProxy.h:
32911 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::handleEvent):
32912 Return true when handling contextmenu event, so that plug-ins won't get a default WebKit
32913 context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by
32916 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32917 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::handleContextMenuEvent):
32918 PDF is the only "plug-in" that wants default WebKit menu now.
32920 2011-10-20 Sam Weinig <sam@webkit.org>
32922 Put the WebKit2 C SPI in PrivateHeaders
32923 https://bugs.webkit.org/show_bug.cgi?id=70549
32925 Reviewed by Dan Bernstein.
32927 No change in behavior.
32929 * WebKit2.xcodeproj/project.pbxproj:
32931 2011-10-20 Brady Eidson <beidson@apple.com>
32933 <rdar://problem/9412849> and https://bugs.webkit.org/show_bug.cgi?id=70535
32934 WK2 - Crash deref'ing a null context menu
32936 Reviewed by Darin Adler.
32938 * WebProcess/WebPage/WebPage.cpp:
32939 (WebKit::WebPage::didSelectItemFromActiveContextMenu): In some cases that we still can't reproduce,
32940 this message can be received in the WebProcess after the context menu has been cleared, leading
32941 to a crash. Turning the ASSERT in to an early return will prevent the crash while we try to learn more
32942 about how this could happen.
32944 2011-10-20 Gustavo Noronha Silva <gns@gnome.org>
32946 GTK+ build fix. Wk2 documentation will be dealt with in future
32949 * UIProcess/API/gtk/docs/GNUmakefile.am:
32951 2011-10-20 Mark Hahnenberg <mhahnenberg@apple.com>
32953 Rename static deleteProperty to deletePropertyByIndex
32954 https://bugs.webkit.org/show_bug.cgi?id=70257
32956 Reviewed by Geoffrey Garen.
32958 Renaming versions of deleteProperty that use an unsigned as the property
32959 name to "deletePropertyByIndex" in preparation for adding them to the
32960 MethodTable, which requires unique names for each method.
32962 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32963 (WebKit::JSNPObject::deletePropertyVirtual):
32964 (WebKit::JSNPObject::deletePropertyByIndex):
32965 * WebProcess/Plugins/Netscape/JSNPObject.h:
32967 2011-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
32969 [GTK] Remove WebKitWebLoaderClientPrivate
32970 https://bugs.webkit.org/show_bug.cgi?id=70488
32972 Reviewed by Philippe Normand.
32974 It's unused since r97920.
32976 * GNUmakefile.am: Add WebKitWebLoaderClientPrivate.h.
32977 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32978 (webkitWebLoaderClientAttachLoaderClientToPage): Renamed to make
32979 it clear it's a private method of WebKitWebLoaderClient.
32980 (webkit_web_loader_client_init): Remove
32981 WebKitWebLoaderClientPrivate initialization.
32982 (webkit_web_loader_client_class_init): Removed adding
32983 WebKitWebLoaderClientPrivate struct as private data.
32984 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove
32985 WebKitWebLoaderClientPrivate definition.
32986 * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Move
32987 webkitWebLoaderClientAttachLoaderClientToPage method here since
32988 it's a private method implemented in WebKitWebLoaderClient, not in
32990 * UIProcess/API/gtk/WebKitWebView.cpp:
32991 (webkit_web_view_set_loader_client): Use
32992 webkitWebLoaderClientAttachLoaderClientToPage.
32993 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Remove
32994 webkitWebLoaderClientAttachLoaderClientToPage prototype.
32996 2011-10-10 Martin Robinson <mrobinson@igalia.com>
32998 [GTK] [WebKit2] Allow sharing page clients between WebViews
32999 https://bugs.webkit.org/show_bug.cgi?id=69814
33001 No longer associate WebPage client wrappers with a WebKitWebView. This allows the
33002 same client to be used with more than one WebKitWebView.
33004 Reviewed by Xan Lopez.
33006 * GNUmakefile.am: Add the new WebKitWebViewPrivate header.
33007 * UIProcess/API/gtk/WebKitDefines.h: Added some forward declarations for API classes.
33008 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: C API callbacks now convert their WKPageRef argument
33009 into a WebKitWebView directly and pass it as a parameter to signals. Remove the web-view property.
33010 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Move the estimated-progress property to WebKitWebView.
33011 * UIProcess/API/gtk/WebKitWebView.cpp: Add an estimated-load-progress property.
33012 (webkitWebViewConstructed):Only allocate one default WebKitWebLoaderClient.
33013 (webkitWebViewGetProperty): Add support for the new property.
33014 (webkit_web_view_class_init): Ditto.
33015 (webkitWebViewSetEstimatedLoadProgress): Added this private method so that the WebKitWebLoaderClient
33016 can update the appropriate WebKitWebView.
33017 (webkit_web_view_set_loader_client): Attach the C API callbacks here now.
33018 (webkit_web_view_get_estimated_load_progress): Moved from WebKitWebLoaderClient.
33019 * UIProcess/API/gtk/WebKitWebView.h: Added new method definition.
33020 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h.
33021 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Updated the load tracking tests callbacks to take the new parameter.
33022 (LoadTrackingTest::LoadTrackingTest): Listen to the WebKitWebView property now.
33023 (LoadTrackingTest::estimatedProgressChanged):
33024 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Added a test to verify that two WebViews share the same default client.
33025 * UIProcess/API/gtk/webkit2marshal.list: Updated the marshallers here.
33027 2011-10-19 Anders Carlsson <andersca@apple.com>
33029 White flash when painting a previously crashed WKView
33030 https://bugs.webkit.org/show_bug.cgi?id=70453
33031 <rdar://problem/10306906>
33033 Reviewed by John Sullivan.
33035 * UIProcess/WebPageProxy.cpp:
33036 (WebKit::WebPageProxy::reattachToWebProcess):
33037 Call waitForBackingStoreUpdateOnNextPaint so we'll wait for the next paint instead of painting white.
33039 2011-10-19 Beth Dakin <bdakin@apple.com>
33041 https://bugs.webkit.org/show_bug.cgi?id=70396
33042 Focus rings are too thin in HiDPI in WebKit2
33043 -and corresponding-
33044 <rdar://problem/10086876>
33046 Reviewed by Dan Bernstein.
33048 Rename wkSetPatternBaseCTM to wkSetBaseCTM
33049 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
33050 (InitWebCoreSystemInterface):
33052 When setting up a HiDPI context, we must also set the base CTM.
33053 * WebProcess/WebPage/DrawingAreaImpl.cpp:
33054 (WebKit::DrawingAreaImpl::display):
33055 * WebProcess/WebPage/WebPage.cpp:
33056 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
33057 (WebKit::WebPage::snapshotInViewCoordinates):
33059 2011-10-19 Sam Weinig <sam@webkit.org>
33061 Add skeleton of an Objective-C WebKit2 API
33062 https://bugs.webkit.org/show_bug.cgi?id=70438
33064 Reviewed by Anders Carlsson.
33066 Adds WKBrowsingContextController (WKPageRef wrapper) and WKProcessCluster
33067 (WKContextRef wrapper) as initial files of an Objective-C WebKit2 API. Also,
33068 hook them up so that you can get a WKBrowsingContextController from the WKView
33069 and you can create a WKView associated with a WKProcessCluster. These names are
33070 not final, and this work is mainly about getting the wrapper lifetimes worked
33073 * UIProcess/API/mac/WKBrowsingContextController.h: Added.
33074 * UIProcess/API/mac/WKBrowsingContextController.mm: Added.
33075 (-[WKBrowsingContextController dealloc]):
33076 (-[WKBrowsingContextController pageRef]):
33077 (-[WKBrowsingContextController loadRequest:]):
33078 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
33079 (-[WKBrowsingContextController stopLoading]):
33080 (-[WKBrowsingContextController reload]):
33081 (-[WKBrowsingContextController reloadFromOrigin]):
33082 (-[WKBrowsingContextController goForward]):
33083 (-[WKBrowsingContextController canGoForward]):
33084 (-[WKBrowsingContextController goBack]):
33085 (-[WKBrowsingContextController canGoBack]):
33086 (-[WKBrowsingContextController initWithPageRef:]):
33087 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added.
33088 Add wrapper for WKPageRef.
33090 * UIProcess/API/mac/WKProcessCluster.h: Added.
33091 * UIProcess/API/mac/WKProcessCluster.mm: Added.
33092 (-[WKProcessCluster init]):
33093 (-[WKProcessCluster initWithInjectedBundleURL:]):
33094 (-[WKProcessCluster dealloc]):
33095 (-[WKProcessCluster contextRef]):
33096 * UIProcess/API/mac/WKProcessClusterInternal.h: Added.
33097 Add wrapper for WKContextRef.
33099 * UIProcess/API/mac/WKView.h:
33100 * UIProcess/API/mac/WKView.mm:
33101 (-[WKView initWithFrame:processCluster:]):
33102 Add new init method which takes a WKProcessCluster.
33104 (-[WKView browsingContextController]):
33105 Add accessor for the WKBrowsingContextController. This works by lazily creating
33106 the wrapper and caching it in the view itself.
33108 * WebKit2.xcodeproj/project.pbxproj:
33111 2011-10-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
33113 [Qt] [WK2] Rename files and classes to follow conventions
33114 https://bugs.webkit.org/show_bug.cgi?id=70391
33116 Reviewed by Noam Rosenthal.
33118 Rename the files and classes following the agreed conventions on
33119 QtWebKit mailing list -- which are based on existing usage we have.
33121 - Public API follow Qt conventions: qsomething.cpp qsomething.h with class named QSomething
33123 - Private classes for public API classes follow Qt conventions:
33124 qsomething_p.h qsomething_p.cpp (if needed), with class named QSomethingPrivate
33126 - Subclasses and Qt-specific implementations of WebKit/WebCore classes use Qt suffix:
33127 FrameLoaderClientQt.cpp
33129 - Other classes created for using in our port use Qt prefix: QtFileDownloader, QtViewInterface
33131 This is documented in https://trac.webkit.org/wiki/QtWebKitHacking
33133 * UIProcess/API/qt/qdesktopwebview.cpp:
33134 (QDesktopWebViewPrivate::chooseFiles):
33136 (QDesktopWebViewPrivate::navigationPolicyForURL):
33137 * UIProcess/API/qt/qdesktopwebview_p.h:
33138 * UIProcess/API/qt/qtouchwebpage.cpp:
33139 (QTouchWebPage::updatePaintNode):
33140 (QTouchWebPagePrivate::setPage):
33141 * UIProcess/API/qt/qtouchwebpage.h:
33142 * UIProcess/API/qt/qtouchwebpage_p.h:
33143 * UIProcess/API/qt/qtouchwebview.cpp:
33144 (QTouchWebViewPrivate::updateViewportConstraints):
33145 * UIProcess/API/qt/qtouchwebview.h:
33146 * UIProcess/API/qt/qtouchwebview_p.h:
33147 * UIProcess/TiledDrawingAreaProxy.h:
33148 * UIProcess/qt/ClientImpl.cpp:
33149 (toQtViewInterface):
33150 (toQtPolicyInterface):
33151 (qt_wk_runJavaScriptAlert):
33152 (qt_wk_runJavaScriptConfirm):
33153 (qt_wk_runJavaScriptPrompt):
33154 (qt_wk_setStatusText):
33155 (qt_wk_runOpenPanel):
33156 (qt_wk_mouseDidMoveOverElement):
33157 (qt_wk_decidePolicyForNavigationAction):
33158 * UIProcess/qt/QtDesktopWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.cpp.
33159 (dragOperationToDropAction):
33160 (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
33161 (QtDesktopWebPageProxy::createDrawingAreaProxy):
33162 (QtDesktopWebPageProxy::paintContent):
33163 (QtDesktopWebPageProxy::setViewportArguments):
33164 (QtDesktopWebPageProxy::doneWithTouchEvent):
33165 (QtDesktopWebPageProxy::createPopupMenuProxy):
33166 (QtDesktopWebPageProxy::handleEvent):
33167 (QtDesktopWebPageProxy::handleMouseMoveEvent):
33168 (QtDesktopWebPageProxy::handleMousePressEvent):
33169 (QtDesktopWebPageProxy::handleMouseReleaseEvent):
33170 (QtDesktopWebPageProxy::handleMouseDoubleClickEvent):
33171 (QtDesktopWebPageProxy::handleWheelEvent):
33172 (QtDesktopWebPageProxy::handleHoverLeaveEvent):
33173 (QtDesktopWebPageProxy::handleHoverMoveEvent):
33174 (QtDesktopWebPageProxy::handleDragEnterEvent):
33175 (QtDesktopWebPageProxy::handleDragLeaveEvent):
33176 (QtDesktopWebPageProxy::handleDragMoveEvent):
33177 (QtDesktopWebPageProxy::handleDropEvent):
33178 (QtDesktopWebPageProxy::timerEvent):
33179 * UIProcess/qt/QtDesktopWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.h.
33180 * UIProcess/qt/QtGestureRecognizer.cpp:
33181 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
33182 * UIProcess/qt/QtGestureRecognizer.h:
33183 * UIProcess/qt/QtPanGestureRecognizer.cpp:
33184 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
33185 * UIProcess/qt/QtPanGestureRecognizer.h:
33186 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
33187 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
33188 * UIProcess/qt/QtPinchGestureRecognizer.h:
33189 * UIProcess/qt/QtPolicyInterface.h: Renamed from Source/WebKit2/UIProcess/qt/PolicyInterface.h.
33190 * UIProcess/qt/QtSGTileNode.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.cpp.
33191 (WebKit::QtSGTileNode::QtSGTileNode):
33192 (WebKit::QtSGTileNode::setBackBuffer):
33193 (WebKit::QtSGTileNode::swapBuffersIfNeeded):
33194 * UIProcess/qt/QtSGTileNode.h: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.h.
33195 * UIProcess/qt/QtSGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.cpp.
33196 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
33197 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
33198 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
33199 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
33200 (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
33201 (WebKit::QtSGUpdateQueue::createTileNode):
33202 (WebKit::QtSGUpdateQueue::removeTileNode):
33203 (WebKit::QtSGUpdateQueue::setNodeBackBuffer):
33204 (WebKit::QtSGUpdateQueue::swapTileBuffers):
33205 (WebKit::QtSGUpdateQueue::applyUpdates):
33206 (WebKit::QtSGUpdateQueue::getScaleNode):
33207 * UIProcess/qt/QtSGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.h.
33208 (WebKit::QtSGUpdateQueue::isSwapPending):
33209 (WebKit::NodeUpdate::NodeUpdate):
33210 (WebKit::NodeUpdate::~NodeUpdate):
33211 * UIProcess/qt/QtTouchViewInterface.cpp: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp.
33212 (WebKit::QtTouchViewInterface::QtTouchViewInterface):
33213 (WebKit::QtTouchViewInterface::didFindZoomableArea):
33214 (WebKit::QtTouchViewInterface::sceneGraphUpdateQueue):
33215 (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
33216 (WebKit::QtTouchViewInterface::drawingAreaSize):
33217 (WebKit::QtTouchViewInterface::contentSizeChanged):
33218 (WebKit::QtTouchViewInterface::isActive):
33219 (WebKit::QtTouchViewInterface::hasFocus):
33220 (WebKit::QtTouchViewInterface::isVisible):
33221 (WebKit::QtTouchViewInterface::startDrag):
33222 (WebKit::QtTouchViewInterface::didReceiveViewportArguments):
33223 (WebKit::QtTouchViewInterface::didChangeUrl):
33224 (WebKit::QtTouchViewInterface::didChangeTitle):
33225 (WebKit::QtTouchViewInterface::didChangeToolTip):
33226 (WebKit::QtTouchViewInterface::didChangeStatusText):
33227 (WebKit::QtTouchViewInterface::didChangeCursor):
33228 (WebKit::QtTouchViewInterface::loadDidBegin):
33229 (WebKit::QtTouchViewInterface::loadDidCommit):
33230 (WebKit::QtTouchViewInterface::loadDidSucceed):
33231 (WebKit::QtTouchViewInterface::loadDidFail):
33232 (WebKit::QtTouchViewInterface::didChangeLoadProgress):
33233 (WebKit::QtTouchViewInterface::showContextMenu):
33234 (WebKit::QtTouchViewInterface::hideContextMenu):
33235 (WebKit::QtTouchViewInterface::runJavaScriptAlert):
33236 (WebKit::QtTouchViewInterface::runJavaScriptConfirm):
33237 (WebKit::QtTouchViewInterface::runJavaScriptPrompt):
33238 (WebKit::QtTouchViewInterface::processDidCrash):
33239 (WebKit::QtTouchViewInterface::didRelaunchProcess):
33240 (WebKit::QtTouchViewInterface::engine):
33241 * UIProcess/qt/QtTouchViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.h.
33242 (WebKit::QtTouchViewInterface::chooseFiles):
33243 (WebKit::QtTouchViewInterface::didMouseMoveOverElement):
33244 * UIProcess/qt/QtTouchWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.cpp.
33245 (QtTouchWebPageProxy::QtTouchWebPageProxy):
33246 (QtTouchWebPageProxy::createDrawingAreaProxy):
33247 (QtTouchWebPageProxy::processDidCrash):
33248 (QtTouchWebPageProxy::paintContent):
33249 (QtTouchWebPageProxy::doneWithTouchEvent):
33250 (QtTouchWebPageProxy::handleEvent):
33251 (QtTouchWebPageProxy::setVisibleContentRectAndScale):
33252 (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
33253 (QtTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
33254 (QtTouchWebPageProxy::touchEvent):
33255 (QtTouchWebPageProxy::findZoomableAreaForPoint):
33256 (QtTouchWebPageProxy::renderNextFrame):
33257 * UIProcess/qt/QtTouchWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h.
33258 (QtTouchWebPageProxy::touchViewInterface):
33259 (QtTouchWebPageProxy::drawingArea):
33260 * UIProcess/qt/QtViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/ViewInterface.h.
33261 * UIProcess/qt/QtViewportInteractionEngine.cpp: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.cpp.
33262 (WebKit::visibleRectInContentCoordinate):
33263 (WebKit::contentRectInViewportCoordinate):
33264 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
33265 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
33266 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
33267 (WebKit::QtViewportInteractionEngine::~QtViewportInteractionEngine):
33268 (WebKit::QtViewportInteractionEngine::reset):
33269 (WebKit::QtViewportInteractionEngine::setConstraints):
33270 (WebKit::QtViewportInteractionEngine::panGestureStarted):
33271 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
33272 (WebKit::QtViewportInteractionEngine::panGestureCancelled):
33273 (WebKit::QtViewportInteractionEngine::panGestureEnded):
33274 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
33275 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
33276 (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
33277 (WebKit::QtViewportInteractionEngine::contentViewportChanged):
33278 (WebKit::QtViewportInteractionEngine::updateContentIfNeeded):
33279 (WebKit::QtViewportInteractionEngine::updateContentScaleIfNeeded):
33280 (WebKit::QtViewportInteractionEngine::updateContentPositionIfNeeded):
33281 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
33282 (WebKit::QtViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
33283 (WebKit::QtViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
33284 (WebKit::QtViewportInteractionEngine::scaleContent):
33285 * UIProcess/qt/QtViewportInteractionEngine.h: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.h.
33286 (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
33287 (WebKit::operator==):
33288 * UIProcess/qt/QtWebPageProxy.cpp:
33289 (QtWebPageProxy::QtWebPageProxy):
33290 (QtWebPageProxy::registerEditCommand):
33291 * UIProcess/qt/QtWebPageProxy.h:
33292 * UIProcess/qt/QtWebUndoCommand.cpp: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.cpp.
33293 (QtWebUndoCommand::QtWebUndoCommand):
33294 (QtWebUndoCommand::~QtWebUndoCommand):
33295 (QtWebUndoCommand::redo):
33296 (QtWebUndoCommand::undo):
33297 * UIProcess/qt/QtWebUndoCommand.h: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.h.
33298 (QtWebUndoCommand::inUndoRedo):
33299 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
33300 (WebKit::TiledDrawingAreaProxy::updateWebView):
33301 * UIProcess/qt/WebContextMenuProxyQt.cpp:
33302 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
33303 (WebKit::WebContextMenuProxyQt::create):
33304 * UIProcess/qt/WebContextMenuProxyQt.h:
33307 2011-10-19 Tomasz Morawski <t.morawski@samsung.com>
33309 [EFL][WK2] Added missing dummy interpretKeyEvent function
33310 https://bugs.webkit.org/show_bug.cgi?id=70311
33312 Reviewed by Ryosuke Niwa.
33314 Added missing dummy interpretKeyEvent function needed to compile WK2.
33316 * WebProcess/WebPage/efl/WebPageEfl.cpp:
33317 (WebKit::WebPage::interpretKeyEvent):
33319 2011-10-18 Sam Weinig <sam@webkit.org>
33321 Move uses of C SPI out of WKView.h and into WKViewPrivate.h
33322 https://bugs.webkit.org/show_bug.cgi?id=70387
33324 Reviewed by Dan Bernstein.
33326 * UIProcess/API/mac/WKViewPrivate.h:
33327 Move declarations here.
33329 * UIProcess/API/mac/WKView.h:
33330 * UIProcess/API/mac/WKView.mm:
33331 (-[WKView _updateRemoteAccessibilityRegistration:]):
33332 (-[WKView initWithFrame:]):
33333 (-[WKView initWithFrame:contextRef:]):
33334 (-[WKView _registerDraggedTypes]):
33335 (-[WKView initWithFrame:contextRef:pageGroupRef:]):
33336 (-[WKView pageRef]):
33337 (-[WKView canChangeFrameLayout:]):
33338 (-[WKView printOperationWithPrintInfo:forFrame:]):
33339 (-[WKView setFrame:andScrollBy:]):
33340 Move definitions to private category.
33342 * UIProcess/API/mac/PDFViewController.mm:
33343 * UIProcess/mac/WKFullScreenWindowController.mm:
33344 * UIProcess/mac/WebInspectorProxyMac.mm:
33345 Update to include WKViewPrivate.h where necessary.
33347 2011-10-18 Sam Weinig <sam@webkit.org>
33349 Stop leaking internal names in WKView API header
33350 https://bugs.webkit.org/show_bug.cgi?id=70380
33352 Reviewed by Anders Carlsson.
33354 Move _frameSizeUpdatesDisabledCount to WKViewData. Since we cannot change the size of
33355 WKView due to the fragile Objective-C ABI, we must rename the existing variable unused. If
33356 drop 32-bit support, we will be able to remove it.
33358 * UIProcess/API/mac/WKView.h:
33359 * UIProcess/API/mac/WKView.mm:
33360 (-[WKView disableFrameSizeUpdates]):
33361 (-[WKView enableFrameSizeUpdates]):
33362 (-[WKView frameSizeUpdatesDisabled]):
33363 * WebKit2.xcodeproj/project.pbxproj:
33365 2011-10-18 Alexey Proskuryakov <ap@apple.com>
33367 Expose PDF information in hit test result
33368 https://bugs.webkit.org/show_bug.cgi?id=70353
33370 Reviewed by Sam Weinig.
33372 * Shared/WebHitTestResult.cpp:
33373 (WebKit::WebHitTestResult::Data::encode):
33374 (WebKit::WebHitTestResult::Data::decode):
33375 * Shared/WebHitTestResult.h:
33376 (WebKit::WebHitTestResult::absolutePDFURL):
33377 * UIProcess/API/C/WKHitTestResult.cpp:
33378 (WKHitTestResultCopyAbsolutePDFURL):
33379 * UIProcess/API/C/WKHitTestResult.h:
33380 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
33381 (WKBundleHitTestResultCopyAbsolutePDFURL):
33382 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
33383 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
33384 (WebKit::InjectedBundleHitTestResult::absolutePDFURL):
33385 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
33386 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
33387 (WebKit::WebChromeClient::mouseDidMoveOverElement):
33388 Pass through PDF URL from hit testing to injected bundle client.
33390 2011-10-18 Enrica Casucci <enrica@apple.com>
33392 Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101
33393 https://bugs.webkit.org/show_bug.cgi?id=70340
33394 <rdar://problem/9548174>
33396 We have seen a number of crash reports for this issue that seem to occurr when
33397 the user drags an image from a web page onto the desktop.
33398 We have not been able to reproduce this crash, therefore this is a speculative fix,
33399 but the theory is that the dragging source has been already released when draggedImage
33401 This patch attempts a fix for the problem by retaining the dragging source when
33402 NSFilePromiseDragSource is created.
33404 Reviewed by Darin Adler.
33406 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
33407 (-[WKPasteboardFilePromiseOwner initWithSource:]):
33408 (-[WKPasteboardFilePromiseOwner dealloc]):
33410 2011-10-18 Alexey Proskuryakov <ap@apple.com>
33412 [WK2] Crash after storing credentials in Keychain
33413 https://bugs.webkit.org/show_bug.cgi?id=70376
33414 <rdar://problem/9647503>
33416 Reviewed by Dan Bernstein.
33418 * Shared/mac/SecKeychainItemResponseData.cpp:
33419 (WebKit::SecKeychainItemResponseData::encode):
33420 (WebKit::SecKeychainItemResponseData::decode):
33421 Actually send keychain item over, too. In shimSecKeychainItemCreateFromContent(), we are
33422 going to use it to override SecKeychainItemCreateFromContent(), and we cannot return noErr
33423 from this function without returning a non-null keychain item.
33425 2011-10-18 Damian Kaleta <dkaleta@apple.com>
33427 This revised fix doesn't break SL build.
33428 https://bugs.webkit.org/show_bug.cgi?id=70345
33430 Reviewed and landed by Sam Weinig.
33432 * UIProcess/API/mac/WKView.mm:
33433 (+[WKView hideWordDefinitionWindow]): Hides the definition window.
33434 * UIProcess/API/mac/WKViewPrivate.h:
33436 2011-10-18 Sam Weinig <sam@webkit.org>
33438 Move spellCheckerDocumentTag and handleCorrectionPanelResult from WKViewPrivate to WKViewInternal
33439 https://bugs.webkit.org/show_bug.cgi?id=70377
33441 Reviewed by Anders Carlsson.
33443 * UIProcess/API/mac/WKView.mm:
33444 (-[WKView spellCheckerDocumentTag]):
33445 (-[WKView handleCorrectionPanelResult:]):
33446 Move definition of methods to (Internal) area.
33448 * UIProcess/API/mac/WKViewInternal.h:
33451 * UIProcess/API/mac/WKViewPrivate.h:
33454 * UIProcess/cf/WebBackForwardListCF.cpp:
33455 Add missing newline.
33457 * UIProcess/mac/CorrectionPanel.mm:
33458 Change #include to WKViewInternal.h
33460 * WebKit2.xcodeproj/project.pbxproj:
33463 2011-10-18 Sam Weinig <sam@webkit.org>
33465 Move WKView helper files into a sub-group
33466 https://bugs.webkit.org/show_bug.cgi?id=70375
33468 Reviewed by Darin Adler.
33470 * WebKit2.xcodeproj/project.pbxproj:
33471 Move some files around.
33473 2011-10-18 Sheriff Bot <webkit.review.bot@gmail.com>
33475 Unreviewed, rolling out r97788.
33476 http://trac.webkit.org/changeset/97788
33477 https://bugs.webkit.org/show_bug.cgi?id=70366
33479 broke compile (Requested by inferno-sec on #webkit).
33481 * UIProcess/API/mac/WKView.mm:
33482 * UIProcess/API/mac/WKViewPrivate.h:
33484 2011-10-18 Damian Kaleta <dkaleta@apple.com>
33486 Add WebKit API to hide the definition window
33487 https://bugs.webkit.org/show_bug.cgi?id=70345
33489 Reviewed by Anders Carlsson.
33491 * UIProcess/API/mac/WKView.mm:
33492 (-[WKView hideWordDefinitionWindow]): Hides the definition window.
33493 * UIProcess/API/mac/WKViewPrivate.h:
33495 2011-10-18 Adam Barth <abarth@webkit.org>
33497 Always enable ENABLE(XPATH)
33498 https://bugs.webkit.org/show_bug.cgi?id=70217
33500 Reviewed by Eric Seidel.
33502 * Configurations/FeatureDefines.xcconfig:
33504 2011-10-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
33506 [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin
33508 We don't need a separate plugin, as we no longer expose the WK2
33509 APIs under QtWebKit.experimental, but now use QtWebKit. The version
33510 was also changed to 3.0 instead of 5.0, as the original plugin was
33511 versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.
33513 Reviewed by Andreas Kling.
33515 * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed.
33516 * UIProcess/API/qt/qmlplugin/qmldir: Removed.
33517 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed.
33518 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33519 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
33520 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
33521 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
33522 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
33523 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33524 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
33525 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
33526 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
33527 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
33528 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
33529 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
33530 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
33531 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
33533 2011-10-18 Dinu Jacob <dinu.jacob@nokia.com>
33535 [Qt][WK2] ASSERT when displaying context menu in input field
33536 https://bugs.webkit.org/show_bug.cgi?id=69859
33538 Reviewed by Simon Hausmann.
33540 When creating a submenu in the context menu, the submenu of type
33541 QWidget is statically cast to QObject before calling setParent on
33542 it. QObject::setParent asserts if the object is a QWidget. So, call
33543 setParent of QWidget itself.
33545 * UIProcess/qt/WebContextMenuProxyQt.cpp:
33546 (WebKit::WebContextMenuProxyQt::createContextMenu):
33548 2011-10-18 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
33550 [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot
33551 https://bugs.webkit.org/show_bug.cgi?id=70329
33553 Reviewed by Andreas Kling.
33555 Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent,
33556 but I'm getting strange results with tryCompare(). This commit also adds an extra check
33557 to make sure the hovered link is the correct one.
33559 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33561 2011-10-18 Alexis Menard <alexis.menard@openbossa.org>
33563 [Qt][WK2] Some QML tests were accidentally committed.
33564 https://bugs.webkit.org/show_bug.cgi?id=70321
33566 Reviewed by Andreas Kling.
33568 These tests were committed by accident. They should not be there.
33570 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33572 2011-10-18 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
33574 [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView
33575 https://bugs.webkit.org/show_bug.cgi?id=70297
33577 Reviewed by Simon Hausmann.
33579 Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but
33580 WebKit doesn't make the difference, so we need to create move events for them.
33582 While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit
33583 different because we want to emulate that the mouse is not only leaving the current node, but
33584 completely leaving the whole document. The way to do this is to manufacture a move event with
33585 a very far position, and was inspired by WebView::handleMouseEvent() in
33586 Source/WebKit/win/WebView.cpp.
33588 This patch fixes DesktopWebViewLinkHovered QML tests.
33590 * UIProcess/qt/qdesktopwebpageproxy.cpp:
33591 (QDesktopWebPageProxy::handleEvent):
33592 (QDesktopWebPageProxy::handleHoverLeaveEvent):
33593 * UIProcess/qt/qdesktopwebpageproxy.h:
33595 2011-10-18 Alexis Menard <alexis.menard@openbossa.org>
33597 [Qt][WK2] WebPreferences are impossible to use in QML.
33598 https://bugs.webkit.org/show_bug.cgi?id=70141
33600 Reviewed by Kenneth Rohde Christiansen.
33602 Make it possible to use qwkpreferences in QML. Renamed it
33603 to follow our new style regarding class names. This class is
33604 now a QObject that is exposed as a property of the view.
33605 The tests give an idea of the usage.
33607 * UIProcess/API/qt/WKView.h:
33608 * UIProcess/API/qt/qdesktopwebview.cpp:
33609 (QDesktopWebView::preferences):
33610 * UIProcess/API/qt/qdesktopwebview.h:
33611 * UIProcess/API/qt/qmlplugin/plugin.cpp:
33612 (WebKit2QmlPlugin::registerTypes):
33613 * UIProcess/API/qt/qtouchwebpage.cpp:
33614 (QTouchWebPage::preferences):
33615 * UIProcess/API/qt/qtouchwebpage.h:
33616 * UIProcess/API/qt/qwebpreferences.cpp: Added.
33617 (QWebPreferencesPrivate::createPreferences):
33618 (QWebPreferencesPrivate::testAttribute):
33619 (QWebPreferencesPrivate::setAttribute):
33620 (QWebPreferencesPrivate::setFontFamily):
33621 (QWebPreferencesPrivate::fontFamily):
33622 (QWebPreferencesPrivate::setFontSize):
33623 (QWebPreferencesPrivate::fontSize):
33624 (QWebPreferences::QWebPreferences):
33625 (QWebPreferences::~QWebPreferences):
33626 (QWebPreferences::autoLoadImages):
33627 (QWebPreferences::setAutoLoadImages):
33628 (QWebPreferences::javascriptEnabled):
33629 (QWebPreferences::setJavascriptEnabled):
33630 (QWebPreferences::pluginsEnabled):
33631 (QWebPreferences::setPluginsEnabled):
33632 (QWebPreferences::offlineWebApplicationCacheEnabled):
33633 (QWebPreferences::setOfflineWebApplicationCacheEnabled):
33634 (QWebPreferences::localStorageEnabled):
33635 (QWebPreferences::setLocalStorageEnabled):
33636 (QWebPreferences::XSSAuditingEnabled):
33637 (QWebPreferences::setXSSAuditingEnabled):
33638 (QWebPreferences::privateBrowsingEnabled):
33639 (QWebPreferences::setPrivateBrowsingEnabled):
33640 (QWebPreferences::dnsPrefetchEnabled):
33641 (QWebPreferences::setDnsPrefetchEnabled):
33642 (QWebPreferences::standardFontFamily):
33643 (QWebPreferences::setStandardFontFamily):
33644 (QWebPreferences::fixedFontFamily):
33645 (QWebPreferences::setFixedFontFamily):
33646 (QWebPreferences::serifFontFamily):
33647 (QWebPreferences::setSerifFontFamily):
33648 (QWebPreferences::sansSerifFontFamily):
33649 (QWebPreferences::setSansSerifFontFamily):
33650 (QWebPreferences::cursiveFontFamily):
33651 (QWebPreferences::setCursiveFontFamily):
33652 (QWebPreferences::fantasyFontFamily):
33653 (QWebPreferences::setFantasyFontFamily):
33654 (QWebPreferences::minimumFontSize):
33655 (QWebPreferences::setMinimumFontSize):
33656 (QWebPreferences::defaultFontSize):
33657 (QWebPreferences::setDefaultFontSize):
33658 (QWebPreferences::defaultFixedFontSize):
33659 (QWebPreferences::setDefaultFixedFontSize):
33660 * UIProcess/API/qt/qwebpreferences.h: Added.
33661 * UIProcess/API/qt/qwebpreferences_p.h: Added.
33662 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added.
33663 * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added.
33664 * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added.
33665 * UIProcess/qt/QtWebPageProxy.cpp:
33666 (QtWebPageProxy::preferences):
33667 * UIProcess/qt/QtWebPageProxy.h:
33668 * UIProcess/qt/qwkpreferences.cpp: Removed.
33669 * UIProcess/qt/qwkpreferences.h: Removed.
33670 * UIProcess/qt/qwkpreferences_p.h: Removed.
33674 2011-10-18 Tomasz Morawski <t.morawski@samsung.com>
33676 [EFL][WK2] Fix compilation error by include WebErrors.h file.
33677 https://bugs.webkit.org/show_bug.cgi?id=70309
33679 Unreviewed build fix
33681 Added a header file to fix compilation error.
33683 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
33685 2011-10-18 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
33687 [Qt][WK2] Implement geolocation provider for qt port
33688 https://bugs.webkit.org/show_bug.cgi?id=59199
33690 Reviewed by Simon Hausmann.
33692 Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com>
33694 Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt),
33695 allowing QtWebKit clients to implement or override their own provider using WK2 APIs.
33697 * UIProcess/API/C/WKGeolocationManager.h:
33698 * UIProcess/qt/WebContextQt.cpp:
33699 (WebKit::WebContext::platformInitializeWebProcess):
33700 * UIProcess/qt/WebGeolocationProviderQt.cpp: Added.
33701 (toLocationProvider):
33702 (locationStartUpdating):
33703 (locationStopUpdating):
33704 (WebGeolocationProviderQt::create):
33705 (WebGeolocationProviderQt::provider):
33706 (WebGeolocationProviderQt::WebGeolocationProviderQt):
33707 (WebGeolocationProviderQt::~WebGeolocationProviderQt):
33708 (WebGeolocationProviderQt::updateTimeout):
33709 (WebGeolocationProviderQt::positionUpdated):
33710 (WebGeolocationProviderQt::startUpdating):
33711 (WebGeolocationProviderQt::stopUpdating):
33712 * UIProcess/qt/WebGeolocationProviderQt.h: Added.
33715 2011-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
33717 [UNIX] Use SOCK_SEQPACKET when available
33718 https://bugs.webkit.org/show_bug.cgi?id=61287
33720 Reviewed by Darin Adler.
33722 Sockets of type SEQPACKET are actually DGRAM sockets but that
33723 notifies the other end when the connection is closed. When
33724 SEQPACKET sockets are not available GTK+ port uses STREAM sockets
33725 while Qt port uses DGRAM sockets.
33727 * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible.
33728 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
33729 (WebKit::ProcessLauncher::launchProcess): Ditto.
33730 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
33731 (WebKit::ProcessLauncher::launchProcess): Ditto.
33733 2011-10-17 Jon Lee <jonlee@apple.com>
33735 Filtering of URLs when serializing back forward list saves bad current index value
33736 https://bugs.webkit.org/show_bug.cgi?id=70282
33737 <rdar://problem/10057763>
33739 Reviewed by Sam Weinig.
33741 When reading the serialized b-f list, perform a sanity check on the current index.
33742 If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of
33745 When serializing the b-f list, currentIndex can be negative in the case where the list
33746 has one item only, and that item gets filtered out. In this instance currentIndex should
33747 just be -1. A crashing case showed an index that was more negative, a situation that I
33748 could not replicate. Since this value will get cleaned up when the b-f list is restored,
33749 I just strengthened the assertion to check for a more negative index in case we run into it again.
33751 * UIProcess/cf/WebBackForwardListCF.cpp:
33752 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion
33753 in case we go beyond NoCurrentItemIndex (which, as an int, is -1).
33754 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
33756 2011-10-14 Chris Marrin <cmarrin@apple.com>
33758 Throttle rate of requestAnimationFrame when page is not visible
33759 https://bugs.webkit.org/show_bug.cgi?id=67873
33761 Reviewed by Anders Carlsson.
33763 Plumb through notification when the window is hidden/shown or
33764 minimized/unminimized
33766 * WebProcess/WebPage/DrawingAreaImpl.cpp:
33767 (WebKit::DrawingAreaImpl::suspendPainting):
33768 (WebKit::DrawingAreaImpl::resumePainting):
33770 2011-10-17 No'am Rosenthal <noam.rosenthal@nokia.com>
33772 [Qt][WK2] Synchronize tiling with accelerated compositing
33773 https://bugs.webkit.org/show_bug.cgi?id=69151
33775 Reviewed by Simon Hausmann.
33777 Make the tiled "non-composited" content and the composited layers go through the same
33778 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
33779 content and a seperate layer tree, we put everything in a layer tree, with the non-
33780 composited content being a layer in the tree.
33782 This allows fixing several issues with websites that have large content areas that are
33783 composited or overlap with composited layers.
33785 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
33786 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
33787 its own tiled backing store, and uses the LayerTreeHost communication channel to pass
33788 content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
33789 based on TextureMapper, which can be painted directly with OpenGL.
33791 Several optimizations are available for the non-composited layer as well, e.g. specifying
33792 a trajectory and updating the visible rect together with the content scale.
33794 This code is currently disabled, a separate patch will enable it and glue it to
33797 * DerivedSources.pro:
33798 * Platform/CoreIPC/MessageID.h:
33799 * Scripts/webkit2/messages.py:
33800 * Shared/LayerTreeContext.h:
33801 * Shared/WebLayerTreeInfo.cpp:
33802 (WebKit::WebLayerInfo::encode):
33803 (WebKit::WebLayerInfo::decode):
33804 * Shared/WebLayerTreeInfo.h:
33805 * Shared/qt/LayerTreeContextQt.cpp:
33806 (WebKit::LayerTreeContext::LayerTreeContext):
33807 (WebKit::LayerTreeContext::~LayerTreeContext):
33808 (WebKit::LayerTreeContext::encode):
33809 (WebKit::LayerTreeContext::decode):
33810 (WebKit::LayerTreeContext::isEmpty):
33811 (WebKit::operator==):
33812 * UIProcess/DrawingAreaProxy.cpp:
33813 (WebKit::DrawingAreaProxy::updateWebView):
33814 (WebKit::DrawingAreaProxy::contentsRect):
33815 * UIProcess/DrawingAreaProxy.h:
33816 (WebKit::DrawingAreaProxy::viewportVisibleRect):
33817 (WebKit::DrawingAreaProxy::isBackingStoreReady):
33818 (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
33819 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
33820 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
33821 (WebKit::DrawingAreaProxy::createTileForLayer):
33822 (WebKit::DrawingAreaProxy::updateTileForLayer):
33823 (WebKit::DrawingAreaProxy::removeTileForLayer):
33824 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
33825 (WebKit::DrawingAreaProxy::page):
33826 * UIProcess/DrawingAreaProxyImpl.cpp:
33827 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
33828 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
33829 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
33830 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
33831 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
33832 * UIProcess/DrawingAreaProxyImpl.h:
33833 * UIProcess/LayerTreeHostProxy.h: Added.
33834 (WebKit::LayerTreeHostProxy::layerByID):
33835 (WebKit::LayerTreeHostProxy::rootLayer):
33836 (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
33837 (WebKit::LayerTreeHostProxy::notifySyncRequired):
33838 (WebKit::LayerTreeHostProxy::showDebugBorders):
33839 (WebKit::LayerTreeHostProxy::showRepaintCounter):
33840 (WebKit::LayerTreeHostProxy::paintContents):
33841 * UIProcess/LayerTreeHostProxy.messages.in: Added.
33842 * UIProcess/WebPageProxy.cpp:
33843 (WebKit::WebPageProxy::didReceiveMessage):
33844 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
33846 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
33847 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
33848 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
33849 (WebCore::WebGraphicsLayer::setChildren):
33850 (WebCore::WebGraphicsLayer::addChild):
33851 (WebCore::WebGraphicsLayer::addChildAtIndex):
33852 (WebCore::WebGraphicsLayer::addChildAbove):
33853 (WebCore::WebGraphicsLayer::addChildBelow):
33854 (WebCore::WebGraphicsLayer::replaceChild):
33855 (WebCore::WebGraphicsLayer::removeFromParent):
33856 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
33857 (WebCore::WebGraphicsLayer::setContentsToImage):
33858 (WebCore::WebGraphicsLayer::setNeedsDisplay):
33859 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
33860 (WebCore::WebGraphicsLayer::syncCompositingState):
33861 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
33862 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
33863 (WebCore::WebGraphicsLayer::setContentsScale):
33864 (WebCore::WebGraphicsLayer::setRootLayer):
33865 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
33866 (WebCore::WebGraphicsLayer::setVisibleContentRect):
33867 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
33868 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
33869 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
33870 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
33871 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
33872 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
33873 (WebCore::WebGraphicsLayer::createTile):
33874 (WebCore::WebGraphicsLayer::updateTile):
33875 (WebCore::WebGraphicsLayer::removeTile):
33876 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
33877 (WebCore::WebGraphicsLayer::layerTreeTileClient):
33878 (WebCore::WebGraphicsLayer::updateContentBuffers):
33879 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
33880 (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
33881 * WebProcess/WebPage/DrawingArea.h:
33882 * WebProcess/WebPage/DrawingAreaImpl.cpp:
33883 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
33884 * WebProcess/WebPage/DrawingAreaImpl.h:
33885 * WebProcess/WebPage/LayerTreeHost.cpp:
33886 (WebKit::LayerTreeHost::create):
33887 * WebProcess/WebPage/LayerTreeHost.h:
33888 (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
33889 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
33890 (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
33891 (WebKit::LayerTreeHost::renderNextFrame):
33892 * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
33893 * WebProcess/WebPage/TiledDrawingArea.cpp:
33894 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
33895 * WebProcess/WebPage/TiledDrawingArea.h:
33896 * WebProcess/WebPage/WebPage.cpp:
33897 (WebKit::WebPage::didReceiveMessage):
33898 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
33899 (WebKit::LayerTreeHostQt::create):
33900 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
33901 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
33902 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
33903 (WebKit::LayerTreeHostQt::scheduleLayerFlush):
33904 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
33905 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
33906 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
33907 (WebKit::LayerTreeHostQt::invalidate):
33908 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
33909 (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
33910 (WebKit::LayerTreeHostQt::forceRepaint):
33911 (WebKit::LayerTreeHostQt::sizeDidChange):
33912 (WebKit::LayerTreeHostQt::didInstallPageOverlay):
33913 (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
33914 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
33915 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
33916 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
33917 (WebKit::LayerTreeHostQt::didDeleteLayer):
33918 (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
33919 (WebKit::LayerTreeHostQt::layerFlushTimerFired):
33920 (WebKit::LayerTreeHostQt::createPageOverlayLayer):
33921 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
33922 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
33923 (WebKit::LayerTreeHostQt::releaseImageBackingStore):
33924 (WebKit::LayerTreeHostQt::notifyAnimationStarted):
33925 (WebKit::LayerTreeHostQt::notifySyncRequired):
33926 (WebKit::LayerTreeHostQt::paintContents):
33927 (WebKit::LayerTreeHostQt::showDebugBorders):
33928 (WebKit::LayerTreeHostQt::showRepaintCounter):
33929 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
33930 (WebKit::LayerTreeHostQt::createTile):
33931 (WebKit::LayerTreeHostQt::updateTile):
33932 (WebKit::LayerTreeHostQt::removeTile):
33933 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
33934 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
33935 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
33936 (WebKit::LayerTreeHostQt::renderNextFrame):
33937 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
33940 2011-10-17 Ada Chan <adachan@apple.com>
33942 Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess
33943 https://bugs.webkit.org/show_bug.cgi?id=70168
33945 Reviewed by Alexey Proskuryakov.
33947 * UIProcess/WebProcessProxy.cpp:
33948 (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess,
33949 since url may not point to a directory.
33951 2011-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
33953 [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API
33954 https://bugs.webkit.org/show_bug.cgi?id=69524
33956 Reviewed by Martin Robinson.
33958 * UIProcess/API/gtk/WebKitWebView.cpp:
33959 (webkit_web_view_get_custom_charset):
33960 (webkit_web_view_set_custom_charset):
33961 * UIProcess/API/gtk/WebKitWebView.h:
33962 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
33963 (testWebViewCustomCharset):
33966 2011-10-14 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
33968 [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
33969 https://bugs.webkit.org/show_bug.cgi?id=69832
33971 Reviewed by Kenneth Rohde Christiansen.
33973 We implement decidePolicyForResponse in our PolicyClient in order to
33974 decide whether a given ResourceResponse should be downloaded or loaded.
33976 * Shared/qt/WebCoreArgumentCodersQt.cpp:
33977 (CoreIPC::::encode):
33978 (CoreIPC::::decode):
33979 Implement serialization of ResourceResponse.
33981 * UIProcess/qt/ClientImpl.cpp:
33982 (qt_wk_decidePolicyForResponse):
33983 * UIProcess/qt/ClientImpl.h:
33984 * UIProcess/qt/QtWebPageProxy.cpp:
33985 (QtWebPageProxy::init):
33987 2011-10-17 Nayan Kumar K <nayankk@motorola.com>
33989 [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI
33990 https://bugs.webkit.org/show_bug.cgi?id=70040
33992 Reviewed by Martin Robinson.
33994 * UIProcess/API/gtk/WebKitError.cpp:
33995 * UIProcess/API/gtk/WebKitError.h:
33997 2011-10-16 Adam Barth <abarth@webkit.org>
33999 Always enable ENABLE(DOM_STORAGE)
34000 https://bugs.webkit.org/show_bug.cgi?id=70189
34002 Reviewed by Eric Seidel.
34004 * Configurations/FeatureDefines.xcconfig:
34005 * WebProcess/WebPage/WebPage.cpp:
34006 (WebKit::WebPage::updatePreferences):
34007 * WebProcess/WebProcess.cpp:
34008 (WebKit::WebProcess::initializeWebProcess):
34010 2011-10-15 Adam Barth <abarth@webkit.org>
34012 Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
34013 https://bugs.webkit.org/show_bug.cgi?id=70194
34015 Reviewed by Daniel Bates.
34017 * Shared/DrawingAreaInfo.h:
34018 * UIProcess/DrawingAreaProxy.h:
34019 * UIProcess/DrawingAreaProxy.messages.in:
34020 * UIProcess/PageClient.h:
34021 * UIProcess/TiledDrawingAreaProxy.cpp:
34022 * UIProcess/TiledDrawingAreaProxy.h:
34023 * UIProcess/WebPageProxy.cpp:
34024 * UIProcess/WebPageProxy.h:
34025 * UIProcess/WebPageProxy.messages.in:
34026 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
34027 (WebKit::WebChromeClient::contentsSizeChanged):
34028 * WebProcess/WebCoreSupport/WebChromeClient.h:
34029 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34030 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34031 * WebProcess/WebPage/DrawingArea.cpp:
34032 (WebKit::DrawingArea::create):
34033 * WebProcess/WebPage/DrawingArea.h:
34034 * WebProcess/WebPage/DrawingArea.messages.in:
34035 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
34036 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
34037 * WebProcess/WebPage/TiledDrawingArea.cpp:
34038 * WebProcess/WebPage/TiledDrawingArea.h:
34039 * WebProcess/WebPage/WebPage.cpp:
34040 (WebKit::WebPage::setSize):
34041 * WebProcess/WebPage/WebPage.h:
34042 * WebProcess/WebPage/WebPage.messages.in:
34044 2011-10-15 Sheriff Bot <webkit.review.bot@gmail.com>
34046 Unreviewed, rolling out r97559.
34047 http://trac.webkit.org/changeset/97559
34048 https://bugs.webkit.org/show_bug.cgi?id=70176
34050 Broke build on Mac (Requested by noamr_ on #webkit).
34052 * DerivedSources.pro:
34053 * Platform/CoreIPC/MessageID.h:
34054 * Scripts/webkit2/messages.py:
34055 * Shared/LayerTreeContext.h:
34056 * Shared/WebLayerTreeInfo.cpp:
34057 (WebKit::WebLayerInfo::encode):
34058 (WebKit::WebLayerInfo::decode):
34059 * Shared/WebLayerTreeInfo.h:
34060 * Shared/qt/LayerTreeContextQt.cpp:
34061 (WebKit::LayerTreeContext::LayerTreeContext):
34062 (WebKit::LayerTreeContext::~LayerTreeContext):
34063 (WebKit::LayerTreeContext::encode):
34064 (WebKit::LayerTreeContext::decode):
34065 (WebKit::LayerTreeContext::isEmpty):
34066 (WebKit::operator==):
34067 * UIProcess/DrawingAreaProxy.cpp:
34068 * UIProcess/DrawingAreaProxy.h:
34069 * UIProcess/DrawingAreaProxyImpl.cpp:
34070 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34071 * UIProcess/DrawingAreaProxyImpl.h:
34072 * UIProcess/LayerTreeHostProxy.h: Removed.
34073 * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34074 * UIProcess/WebPageProxy.cpp:
34075 (WebKit::WebPageProxy::didReceiveMessage):
34076 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34078 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34079 (WebCore::deletedLayerIDs):
34080 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34081 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34082 (WebCore::WebGraphicsLayer::setChildren):
34083 (WebCore::WebGraphicsLayer::addChild):
34084 (WebCore::WebGraphicsLayer::addChildAtIndex):
34085 (WebCore::WebGraphicsLayer::addChildAbove):
34086 (WebCore::WebGraphicsLayer::addChildBelow):
34087 (WebCore::WebGraphicsLayer::replaceChild):
34088 (WebCore::WebGraphicsLayer::removeFromParent):
34089 (WebCore::WebGraphicsLayer::setContentsRect):
34090 (WebCore::WebGraphicsLayer::setContentsToImage):
34091 (WebCore::WebGraphicsLayer::setNeedsDisplay):
34092 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34093 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34094 (WebCore::WebGraphicsLayer::didSynchronize):
34095 (WebCore::WebGraphicsLayer::layerInfo):
34096 (WebCore::WebGraphicsLayer::syncCompositingState):
34097 (WebCore::WebGraphicsLayer::needsDisplayRect):
34098 (WebCore::WebGraphicsLayer::takeLayersToDelete):
34099 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34100 (WebCore::divideIntoTiles):
34101 (WebCore::collectCompositingInfoForThisLayer):
34102 (WebCore::collectCompositingInfoRecursively):
34103 (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34104 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34105 * WebProcess/WebPage/DrawingArea.h:
34106 * WebProcess/WebPage/DrawingAreaImpl.cpp:
34107 * WebProcess/WebPage/DrawingAreaImpl.h:
34108 * WebProcess/WebPage/LayerTreeHost.cpp:
34109 (WebKit::LayerTreeHost::create):
34110 * WebProcess/WebPage/LayerTreeHost.h:
34111 * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34112 * WebProcess/WebPage/TiledDrawingArea.cpp:
34113 * WebProcess/WebPage/TiledDrawingArea.h:
34114 * WebProcess/WebPage/WebPage.cpp:
34115 (WebKit::WebPage::didReceiveMessage):
34116 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34117 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34119 2011-10-15 No'am Rosenthal <noam.rosenthal@nokia.com>
34121 [Qt][WK2] Synchronize tiling with accelerated compositing
34122 https://bugs.webkit.org/show_bug.cgi?id=69151
34124 Reviewed by Simon Hausmann.
34126 Make the tiled "non-composited" content and the composited layers go through the same
34127 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34128 content and a seperate layer tree, we put everything in a layer tree, with the non-
34129 composited content being a layer in the tree.
34131 This allows fixing several issues with websites that have large content areas that are
34132 composited or overlap with composited layers.
34134 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34135 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34136 its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34137 content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34138 based on TextureMapper, which can be painted directly with OpenGL.
34140 Several optimizations are available for the non-composited layer as well, e.g. specifying
34141 a trajectory and updating the visible rect together with the content scale.
34143 This code is currently disabled, a separate patch will enable it and glue it to
34146 * DerivedSources.pro:
34147 * Platform/CoreIPC/MessageID.h:
34148 * Scripts/webkit2/messages.py:
34149 * Shared/LayerTreeContext.h:
34150 * Shared/WebLayerTreeInfo.cpp:
34151 (WebKit::WebLayerInfo::encode):
34152 (WebKit::WebLayerInfo::decode):
34153 * Shared/WebLayerTreeInfo.h:
34154 * Shared/qt/LayerTreeContextQt.cpp:
34155 (WebKit::LayerTreeContext::LayerTreeContext):
34156 (WebKit::LayerTreeContext::~LayerTreeContext):
34157 (WebKit::LayerTreeContext::encode):
34158 (WebKit::LayerTreeContext::decode):
34159 (WebKit::LayerTreeContext::isEmpty):
34160 (WebKit::operator==):
34161 * UIProcess/DrawingAreaProxy.cpp:
34162 (WebKit::DrawingAreaProxy::updateWebView):
34163 (WebKit::DrawingAreaProxy::contentsRect):
34164 * UIProcess/DrawingAreaProxy.h:
34165 (WebKit::DrawingAreaProxy::viewportVisibleRect):
34166 (WebKit::DrawingAreaProxy::isBackingStoreReady):
34167 (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34168 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34169 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34170 (WebKit::DrawingAreaProxy::createTileForLayer):
34171 (WebKit::DrawingAreaProxy::updateTileForLayer):
34172 (WebKit::DrawingAreaProxy::removeTileForLayer):
34173 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34174 (WebKit::DrawingAreaProxy::page):
34175 * UIProcess/DrawingAreaProxyImpl.cpp:
34176 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34177 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34178 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34179 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34180 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34181 * UIProcess/DrawingAreaProxyImpl.h:
34182 * UIProcess/LayerTreeHostProxy.h: Added.
34183 (WebKit::LayerTreeHostProxy::layerByID):
34184 (WebKit::LayerTreeHostProxy::rootLayer):
34185 (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34186 (WebKit::LayerTreeHostProxy::notifySyncRequired):
34187 (WebKit::LayerTreeHostProxy::showDebugBorders):
34188 (WebKit::LayerTreeHostProxy::showRepaintCounter):
34189 (WebKit::LayerTreeHostProxy::paintContents):
34190 * UIProcess/LayerTreeHostProxy.messages.in: Added.
34191 * UIProcess/WebPageProxy.cpp:
34192 (WebKit::WebPageProxy::didReceiveMessage):
34193 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34195 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34196 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34197 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34198 (WebCore::WebGraphicsLayer::setChildren):
34199 (WebCore::WebGraphicsLayer::addChild):
34200 (WebCore::WebGraphicsLayer::addChildAtIndex):
34201 (WebCore::WebGraphicsLayer::addChildAbove):
34202 (WebCore::WebGraphicsLayer::addChildBelow):
34203 (WebCore::WebGraphicsLayer::replaceChild):
34204 (WebCore::WebGraphicsLayer::removeFromParent):
34205 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34206 (WebCore::WebGraphicsLayer::setContentsToImage):
34207 (WebCore::WebGraphicsLayer::setNeedsDisplay):
34208 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34209 (WebCore::WebGraphicsLayer::syncCompositingState):
34210 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34211 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34212 (WebCore::WebGraphicsLayer::setContentsScale):
34213 (WebCore::WebGraphicsLayer::setRootLayer):
34214 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34215 (WebCore::WebGraphicsLayer::setVisibleContentRect):
34216 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34217 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34218 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34219 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34220 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34221 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34222 (WebCore::WebGraphicsLayer::createTile):
34223 (WebCore::WebGraphicsLayer::updateTile):
34224 (WebCore::WebGraphicsLayer::removeTile):
34225 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34226 (WebCore::WebGraphicsLayer::layerTreeTileClient):
34227 (WebCore::WebGraphicsLayer::updateContentBuffers):
34228 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34229 (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34230 * WebProcess/WebPage/DrawingArea.h:
34231 * WebProcess/WebPage/DrawingAreaImpl.cpp:
34232 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34233 * WebProcess/WebPage/DrawingAreaImpl.h:
34234 * WebProcess/WebPage/LayerTreeHost.cpp:
34235 (WebKit::LayerTreeHost::create):
34236 * WebProcess/WebPage/LayerTreeHost.h:
34237 (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34238 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34239 (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34240 (WebKit::LayerTreeHost::renderNextFrame):
34241 * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34242 * WebProcess/WebPage/TiledDrawingArea.cpp:
34243 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34244 * WebProcess/WebPage/TiledDrawingArea.h:
34245 * WebProcess/WebPage/WebPage.cpp:
34246 (WebKit::WebPage::didReceiveMessage):
34247 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34248 (WebKit::LayerTreeHostQt::create):
34249 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34250 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34251 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34252 (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34253 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34254 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34255 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34256 (WebKit::LayerTreeHostQt::invalidate):
34257 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34258 (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34259 (WebKit::LayerTreeHostQt::forceRepaint):
34260 (WebKit::LayerTreeHostQt::sizeDidChange):
34261 (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34262 (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34263 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34264 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34265 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34266 (WebKit::LayerTreeHostQt::didDeleteLayer):
34267 (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34268 (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34269 (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34270 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34271 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34272 (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34273 (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34274 (WebKit::LayerTreeHostQt::notifySyncRequired):
34275 (WebKit::LayerTreeHostQt::paintContents):
34276 (WebKit::LayerTreeHostQt::showDebugBorders):
34277 (WebKit::LayerTreeHostQt::showRepaintCounter):
34278 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34279 (WebKit::LayerTreeHostQt::createTile):
34280 (WebKit::LayerTreeHostQt::updateTile):
34281 (WebKit::LayerTreeHostQt::removeTile):
34282 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34283 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34284 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34285 (WebKit::LayerTreeHostQt::renderNextFrame):
34286 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34288 2011-10-15 Sheriff Bot <webkit.review.bot@gmail.com>
34290 Unreviewed, rolling out r97549.
34291 http://trac.webkit.org/changeset/97549
34292 https://bugs.webkit.org/show_bug.cgi?id=70174
34294 It broke the SL build (Requested by Ossy_weekend on #webkit).
34296 * DerivedSources.pro:
34297 * Platform/CoreIPC/MessageID.h:
34298 * Scripts/webkit2/messages.py:
34299 * Shared/LayerTreeContext.h:
34300 * Shared/WebLayerTreeInfo.cpp:
34301 (WebKit::WebLayerInfo::encode):
34302 (WebKit::WebLayerInfo::decode):
34303 * Shared/WebLayerTreeInfo.h:
34304 * Shared/qt/LayerTreeContextQt.cpp:
34305 (WebKit::LayerTreeContext::LayerTreeContext):
34306 (WebKit::LayerTreeContext::~LayerTreeContext):
34307 (WebKit::LayerTreeContext::encode):
34308 (WebKit::LayerTreeContext::decode):
34309 (WebKit::LayerTreeContext::isEmpty):
34310 (WebKit::operator==):
34311 * UIProcess/DrawingAreaProxy.cpp:
34312 * UIProcess/DrawingAreaProxy.h:
34313 * UIProcess/DrawingAreaProxyImpl.cpp:
34314 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34315 * UIProcess/DrawingAreaProxyImpl.h:
34316 * UIProcess/LayerTreeHostProxy.h: Removed.
34317 * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34318 * UIProcess/WebPageProxy.cpp:
34319 (WebKit::WebPageProxy::didReceiveMessage):
34320 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34322 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34323 (WebCore::deletedLayerIDs):
34324 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34325 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34326 (WebCore::WebGraphicsLayer::setChildren):
34327 (WebCore::WebGraphicsLayer::addChild):
34328 (WebCore::WebGraphicsLayer::addChildAtIndex):
34329 (WebCore::WebGraphicsLayer::addChildAbove):
34330 (WebCore::WebGraphicsLayer::addChildBelow):
34331 (WebCore::WebGraphicsLayer::replaceChild):
34332 (WebCore::WebGraphicsLayer::removeFromParent):
34333 (WebCore::WebGraphicsLayer::setContentsRect):
34334 (WebCore::WebGraphicsLayer::setContentsToImage):
34335 (WebCore::WebGraphicsLayer::setNeedsDisplay):
34336 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34337 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34338 (WebCore::WebGraphicsLayer::didSynchronize):
34339 (WebCore::WebGraphicsLayer::layerInfo):
34340 (WebCore::WebGraphicsLayer::syncCompositingState):
34341 (WebCore::WebGraphicsLayer::needsDisplayRect):
34342 (WebCore::WebGraphicsLayer::takeLayersToDelete):
34343 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34344 (WebCore::divideIntoTiles):
34345 (WebCore::collectCompositingInfoForThisLayer):
34346 (WebCore::collectCompositingInfoRecursively):
34347 (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34348 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34349 * WebProcess/WebPage/DrawingArea.h:
34350 * WebProcess/WebPage/DrawingAreaImpl.cpp:
34351 * WebProcess/WebPage/DrawingAreaImpl.h:
34352 * WebProcess/WebPage/LayerTreeHost.cpp:
34353 (WebKit::LayerTreeHost::create):
34354 * WebProcess/WebPage/LayerTreeHost.h:
34355 * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34356 * WebProcess/WebPage/TiledDrawingArea.cpp:
34357 * WebProcess/WebPage/TiledDrawingArea.h:
34358 * WebProcess/WebPage/WebPage.cpp:
34359 (WebKit::WebPage::didReceiveMessage):
34360 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34361 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34363 2011-10-15 No'am Rosenthal <noam.rosenthal@nokia.com>
34365 [Qt][WK2] Synchronize tiling with accelerated compositing
34366 https://bugs.webkit.org/show_bug.cgi?id=69151
34368 Reviewed by Simon Hausmann.
34370 Make the tiled "non-composited" content and the composited layers go through the same
34371 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34372 content and a seperate layer tree, we put everything in a layer tree, with the non-
34373 composited content being a layer in the tree.
34375 This allows fixing several issues with websites that have large content areas that are
34376 composited or overlap with composited layers.
34378 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34379 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34380 its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34381 content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34382 based on TextureMapper, which can be painted directly with OpenGL.
34384 Several optimizations are available for the non-composited layer as well, e.g. specifying
34385 a trajectory and updating the visible rect together with the content scale.
34387 This code is currently disabled, a separate patch will enable it and glue it to
34390 * DerivedSources.pro:
34391 * Platform/CoreIPC/MessageID.h:
34392 * Scripts/webkit2/messages.py:
34393 * Shared/LayerTreeContext.h:
34394 * Shared/WebLayerTreeInfo.cpp:
34395 (WebKit::WebLayerInfo::encode):
34396 (WebKit::WebLayerInfo::decode):
34397 * Shared/WebLayerTreeInfo.h:
34398 * Shared/qt/LayerTreeContextQt.cpp:
34399 (WebKit::LayerTreeContext::LayerTreeContext):
34400 (WebKit::LayerTreeContext::~LayerTreeContext):
34401 (WebKit::LayerTreeContext::encode):
34402 (WebKit::LayerTreeContext::decode):
34403 (WebKit::LayerTreeContext::isEmpty):
34404 (WebKit::operator==):
34405 * UIProcess/DrawingAreaProxy.cpp:
34406 (WebKit::DrawingAreaProxy::updateWebView):
34407 (WebKit::DrawingAreaProxy::contentsRect):
34408 * UIProcess/DrawingAreaProxy.h:
34409 (WebKit::DrawingAreaProxy::viewportVisibleRect):
34410 (WebKit::DrawingAreaProxy::isBackingStoreReady):
34411 (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34412 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34413 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34414 (WebKit::DrawingAreaProxy::createTileForLayer):
34415 (WebKit::DrawingAreaProxy::updateTileForLayer):
34416 (WebKit::DrawingAreaProxy::removeTileForLayer):
34417 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34418 (WebKit::DrawingAreaProxy::page):
34419 * UIProcess/DrawingAreaProxyImpl.cpp:
34420 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34421 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34422 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34423 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34424 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34425 * UIProcess/DrawingAreaProxyImpl.h:
34426 * UIProcess/LayerTreeHostProxy.h: Added.
34427 (WebKit::LayerTreeHostProxy::layerByID):
34428 (WebKit::LayerTreeHostProxy::rootLayer):
34429 (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34430 (WebKit::LayerTreeHostProxy::notifySyncRequired):
34431 (WebKit::LayerTreeHostProxy::showDebugBorders):
34432 (WebKit::LayerTreeHostProxy::showRepaintCounter):
34433 (WebKit::LayerTreeHostProxy::paintContents):
34434 * UIProcess/LayerTreeHostProxy.messages.in: Added.
34435 * UIProcess/WebPageProxy.cpp:
34436 (WebKit::WebPageProxy::didReceiveMessage):
34437 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34439 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34440 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34441 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34442 (WebCore::WebGraphicsLayer::setChildren):
34443 (WebCore::WebGraphicsLayer::addChild):
34444 (WebCore::WebGraphicsLayer::addChildAtIndex):
34445 (WebCore::WebGraphicsLayer::addChildAbove):
34446 (WebCore::WebGraphicsLayer::addChildBelow):
34447 (WebCore::WebGraphicsLayer::replaceChild):
34448 (WebCore::WebGraphicsLayer::removeFromParent):
34449 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34450 (WebCore::WebGraphicsLayer::setContentsToImage):
34451 (WebCore::WebGraphicsLayer::setNeedsDisplay):
34452 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34453 (WebCore::WebGraphicsLayer::syncCompositingState):
34454 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34455 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34456 (WebCore::WebGraphicsLayer::setContentsScale):
34457 (WebCore::WebGraphicsLayer::setRootLayer):
34458 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34459 (WebCore::WebGraphicsLayer::setVisibleContentRect):
34460 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34461 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34462 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34463 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34464 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34465 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34466 (WebCore::WebGraphicsLayer::createTile):
34467 (WebCore::WebGraphicsLayer::updateTile):
34468 (WebCore::WebGraphicsLayer::removeTile):
34469 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34470 (WebCore::WebGraphicsLayer::layerTreeTileClient):
34471 (WebCore::WebGraphicsLayer::updateContentBuffers):
34472 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34473 (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34474 * WebProcess/WebPage/DrawingArea.h:
34475 * WebProcess/WebPage/DrawingAreaImpl.cpp:
34476 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34477 * WebProcess/WebPage/DrawingAreaImpl.h:
34478 * WebProcess/WebPage/LayerTreeHost.cpp:
34479 (WebKit::LayerTreeHost::create):
34480 * WebProcess/WebPage/LayerTreeHost.h:
34481 (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34482 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34483 (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34484 (WebKit::LayerTreeHost::renderNextFrame):
34485 * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34486 * WebProcess/WebPage/TiledDrawingArea.cpp:
34487 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34488 * WebProcess/WebPage/TiledDrawingArea.h:
34489 * WebProcess/WebPage/WebPage.cpp:
34490 (WebKit::WebPage::didReceiveMessage):
34491 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34492 (WebKit::LayerTreeHostQt::create):
34493 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34494 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34495 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34496 (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34497 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34498 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34499 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34500 (WebKit::LayerTreeHostQt::invalidate):
34501 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34502 (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34503 (WebKit::LayerTreeHostQt::forceRepaint):
34504 (WebKit::LayerTreeHostQt::sizeDidChange):
34505 (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34506 (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34507 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34508 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34509 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34510 (WebKit::LayerTreeHostQt::didDeleteLayer):
34511 (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34512 (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34513 (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34514 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34515 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34516 (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34517 (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34518 (WebKit::LayerTreeHostQt::notifySyncRequired):
34519 (WebKit::LayerTreeHostQt::paintContents):
34520 (WebKit::LayerTreeHostQt::showDebugBorders):
34521 (WebKit::LayerTreeHostQt::showRepaintCounter):
34522 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34523 (WebKit::LayerTreeHostQt::createTile):
34524 (WebKit::LayerTreeHostQt::updateTile):
34525 (WebKit::LayerTreeHostQt::removeTile):
34526 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34527 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34528 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34529 (WebKit::LayerTreeHostQt::renderNextFrame):
34530 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34532 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
34534 Rename getOwnPropertySlot to getOwnPropertySlotVirtual
34535 https://bugs.webkit.org/show_bug.cgi?id=69810
34537 Reviewed by Geoffrey Garen.
34539 Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
34540 in preparation for when we add the static getOwnPropertySlot to the MethodTable
34543 Also added a few static getOwnPropertySlot functions where they had been overlooked
34544 before (especially in CodeGeneratorJS.pm).
34546 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34547 (WebKit::JSNPObject::getOwnPropertySlotVirtual):
34548 * WebProcess/Plugins/Netscape/JSNPObject.h:
34550 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
34552 Rename virtual put to putVirtual
34553 https://bugs.webkit.org/show_bug.cgi?id=69851
34555 Reviewed by Darin Adler.
34557 Renamed virtual versions of put to putVirtual in prepration for
34558 adding the static put to the MethodTable in ClassInfo since the
34559 compiler gets mad if the virtual and static versions have the same
34562 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34563 (WebKit::JSNPObject::putVirtual):
34564 (WebKit::JSNPObject::put):
34565 * WebProcess/Plugins/Netscape/JSNPObject.h:
34566 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34567 (WebKit::NPJSObject::setProperty):
34569 2011-10-14 Jeff Miller <jeffm@apple.com>
34571 InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
34572 https://bugs.webkit.org/show_bug.cgi?id=69963
34574 WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to
34575 convert from subframe view coordinates , so any rect that we expose through WK2 APIs should
34576 be in WKView coordinates.
34578 Reviewed by Simon Fraser.
34580 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
34581 (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates.
34583 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
34585 Rename virtual deleteProperty to deletePropertyVirtual
34586 https://bugs.webkit.org/show_bug.cgi?id=69884
34588 Reviewed by Darin Adler.
34590 Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for
34591 adding the static deleteProperty to the MethodTable in ClassInfo since the
34592 compiler gets mad if the virtual and static versions have the same name.
34594 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34595 (WebKit::JSNPObject::deletePropertyVirtual):
34596 (WebKit::JSNPObject::deleteProperty):
34597 * WebProcess/Plugins/Netscape/JSNPObject.h:
34598 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34599 (WebKit::NPJSObject::removeProperty):
34601 2011-10-14 Nayan Kumar K <nayankk@motorola.com>
34603 [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError.
34604 https://bugs.webkit.org/show_bug.cgi?id=70016
34606 Reviewed by Martin Robinson.
34608 * UIProcess/API/gtk/WebKitError.h:
34610 2011-10-14 Nayan Kumar K <nayankk@motorola.com>
34612 [WebKit2][gtk] Skip TestWebKitSettings test.
34613 https://bugs.webkit.org/show_bug.cgi?id=70129
34615 Reviewed by Martin Robinson.
34617 Skip running TestWebKitSettings test till a bug
34618 https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed.
34620 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34621 (testWebKitSettings): Skip TestWebKitSettings test.
34623 2011-10-14 Sheriff Bot <webkit.review.bot@gmail.com>
34625 Unreviewed, rolling out r97375.
34626 http://trac.webkit.org/changeset/97375
34627 https://bugs.webkit.org/show_bug.cgi?id=70115
34629 It breaks loading of webpages in QtWebKit2 (Requested by jeez_
34632 * UIProcess/qt/ClientImpl.cpp:
34633 (qt_wk_decidePolicyForNavigationAction):
34634 * UIProcess/qt/ClientImpl.h:
34635 * UIProcess/qt/QtWebPageProxy.cpp:
34636 (QtWebPageProxy::init):
34638 2011-10-12 Ryosuke Niwa <rniwa@webkit.org>
34640 Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
34641 https://bugs.webkit.org/show_bug.cgi?id=69964
34643 Reviewed by Enrica Casucci.
34645 * WebProcess/WebPage/mac/WebPageMac.mm:
34646 (WebKit::WebPage::getMarkedRange):
34647 (WebKit::WebPage::getSelectedRange):
34648 (WebKit::WebPage::characterIndexForPoint):
34649 (WebKit::convertToRange):
34651 2011-10-14 Nayan Kumar K <nayankk@motorola.com>
34653 [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments
34654 https://bugs.webkit.org/show_bug.cgi?id=70092
34656 Reviewed by Martin Robinson.
34658 Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING'
34659 introduced with change set r97438.
34661 * UIProcess/API/gtk/WebKitSettings.cpp:
34662 (webKitSettingsSetProperty): Property name correction.
34663 (webKitSettingsGetProperty): Property name correction.
34664 (webkit_settings_class_init): Property name correction.
34665 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34666 (testWebKitSettings): Spelling correction.
34668 2011-10-14 Gopal Raghavan <gopal.1.raghavan@nokia.com>
34670 [Qt] enable qmltests for qt5
34671 https://bugs.webkit.org/show_bug.cgi?id=70037
34673 Reviewed by Chang Shu.
34675 Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS.
34677 * UIProcess/API/qt/tests/tests.pro:
34679 2011-10-14 Kenneth Rohde Christiansen <kenneth@webkit.org>
34681 Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34682 https://bugs.webkit.org/show_bug.cgi?id=66134
34684 Unreviewed build fix after r97462.
34686 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34687 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34689 2011-10-14 Kenneth Rohde Christiansen <kenneth@webkit.org>
34691 Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34692 https://bugs.webkit.org/show_bug.cgi?id=66134
34694 Reviewed by Simon Hausmann.
34696 Do the resize to contents on the web process side.
34698 Based on patch by Zalan Bujtas.
34700 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34701 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34702 * WebProcess/WebPage/WebPage.cpp:
34703 (WebKit::WebPage::setSize):
34704 (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
34705 (WebKit::WebPage::resizeToContentsIfNeeded):
34706 * WebProcess/WebPage/WebPage.h:
34708 2011-10-14 Carlos Garcia Campos <cgarcia@igalia.com>
34710 [GTK] Build is broken with new ld
34711 https://bugs.webkit.org/show_bug.cgi?id=70097
34713 Reviewed by Philippe Normand.
34715 * UIProcess/API/gtk/tests/GNUmakefile.am:
34717 2011-10-12 Simon Hausmann <simon.hausmann@nokia.com>
34719 [Qt][WK2] Fix build after QSGItem API changes
34720 https://bugs.webkit.org/show_bug.cgi?id=69926
34722 Reviewed by Kenneth Rohde Christiansen.
34724 Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the
34725 signatures of the Drag & Drop event handlers in QSGItem. The SG specific events
34726 were replaced with the plain QDrag* events, which are now used for widgets as well
34727 as the Qt scene graph.
34729 This patch adapts the desktop webview as well as the page proxy to handle these
34732 * UIProcess/API/qt/qdesktopwebview.cpp:
34733 (QDesktopWebView::dragMoveEvent):
34734 (QDesktopWebView::dragEnterEvent):
34735 (QDesktopWebView::dragLeaveEvent):
34736 (QDesktopWebView::dropEvent):
34737 * UIProcess/API/qt/qdesktopwebview.h:
34738 * UIProcess/qt/qdesktopwebpageproxy.cpp:
34739 (QDesktopWebPageProxy::handleEvent):
34740 (QDesktopWebPageProxy::handleDragEnterEvent):
34741 (QDesktopWebPageProxy::handleDragLeaveEvent):
34742 (QDesktopWebPageProxy::handleDragMoveEvent):
34743 (QDesktopWebPageProxy::handleDropEvent):
34744 * UIProcess/qt/qdesktopwebpageproxy.h:
34746 2011-10-13 Nayan Kumar K <nayankk@motorola.com>
34748 [GTK][WEBKIT2] Add WebKitSettings GTK+ API.
34749 https://bugs.webkit.org/show_bug.cgi?id=68371
34751 Reviewed by Martin Robinson.
34753 WebKitSettings GTK+ object is created and first set of
34754 API's are written to get or set the properties of WebKitSettings.
34756 * GNUmakefile.am: Added new files for compilation.
34757 * UIProcess/API/gtk/WebKitSettings.cpp: Added.
34758 (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor.
34759 (webKitSettingsSetProperty): Set property function.
34760 (webKitSettingsGetProperty): Get property function.
34761 (webKitSettingsFinalize): Class finalize function.
34762 (webkit_settings_class_init): Class init function.
34763 (webkit_settings_init): Instance init function.
34764 (webkit_settings_new): Creates WebKitSettings GObject.
34765 (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property.
34766 (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property.
34767 (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property.
34768 (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property.
34769 (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get
34770 'load-icons-ignoring-image-load-setting' property.
34771 (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set
34772 'load-icons-ignoring-image-load-setting' property.
34773 (webkit_settings_get_enable_offline_web_application_cache): Function to get
34774 'enable-offline-web-application-cache' property.
34775 (webkit_settings_set_enable_offline_web_application_cache): Function to set
34776 'enable-offline-web-application-cache' property.
34777 (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'.
34778 (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'.
34779 (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'.
34780 (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'.
34781 (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'.
34782 (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'.
34783 (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'.
34784 (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'.
34785 (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'.
34786 (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'.
34787 (webkit_settings_get_enable_java): Function to get 'enable-java' property.
34788 (webkit_settings_set_enable_java): Function to set 'enable-java' property.
34789 (webkit_settings_get_javascript_can_open_windows_automatically): Get the property
34790 'javascript-can-open-windows-automatically'.
34791 (webkit_settings_set_javascript_can_open_windows_automatically): Set the property
34792 'javascript-can-open-windows-automatically'.
34793 (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property.
34794 (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property.
34795 * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's.
34796 * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test.
34797 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added.
34798 (testWebKitSettings): Add WebKitSetting unit test.
34799 (beforeAll): Pre-test function.
34800 (afterAll): Post-test function.
34801 * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list.
34803 2011-10-13 Mark Hahnenberg <mhahnenberg@apple.com>
34805 Rename virtual getConstructData to getConstructDataVirtual
34806 https://bugs.webkit.org/show_bug.cgi?id=69872
34808 Reviewed by Geoffrey Garen.
34810 Renamed virtual getConstructData functions to getConstructDataVirtual to
34811 avoid conflicts when we add static getConstructData to the MethodTable.
34813 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34814 (WebKit::JSNPObject::getConstructDataVirtual):
34815 * WebProcess/Plugins/Netscape/JSNPObject.h:
34817 2011-10-13 Sam Weinig <sam@webkit.org>
34819 Another SnowLeopard build fix.
34821 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34822 (WebKit::cachedImage):
34823 (WebKit::WebDragClient::declareAndWriteDragImage):
34824 (-[WKPasteboardOwner initWithImage:WebCore::]):
34826 2011-10-13 Sam Weinig <sam@webkit.org>
34828 Fix SnowLeopard build.
34830 * UIProcess/WebPageProxy.cpp:
34831 (WebKit::WebPageProxy::setCursor):
34832 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34834 2011-10-13 Alexey Proskuryakov <ap@apple.com>
34836 [Mac] PDF Documents at epo.org look very blurry
34837 https://bugs.webkit.org/show_bug.cgi?id=70072
34839 Reviewed by Dan Bernstein.
34841 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
34842 Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation.
34844 2011-10-13 Alexey Proskuryakov <ap@apple.com>
34846 [Mac] Wheel event handler counter is incorrect with PDF views
34847 https://bugs.webkit.org/show_bug.cgi?id=70062
34849 Reviewed by Dan Bernstein.
34851 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
34852 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
34853 (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case.
34854 (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto.
34855 (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator.
34856 (WebKit::BuiltInPDFView::destroyScrollbar): Ditto.
34857 (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars.
34859 2011-10-12 Chris Marrin <cmarrin@apple.com>
34861 Sync requestAnimationFrame callback to CVDisplayLink on Mac
34862 https://bugs.webkit.org/show_bug.cgi?id=68911
34864 Reviewed by Simon Fraser.
34866 Add windowDidChangeScreen function which listens for the window changing
34867 screens and passes the new displayID along to WebCore::Page. It also sends
34868 one on windowDidBecomeKey, so the Page has a fresh displayID after it's
34869 created. Event is generated in the UIProcess and then sent over to the
34870 WebProcess, which actually sends it to WebCore::Page.
34872 * UIProcess/API/mac/WKView.mm:
34873 (-[WKView addWindowObserversForWindow:]):
34874 (-[WKView removeWindowObservers]):
34875 (-[WKView _windowDidChangeScreen:]):
34876 (-[WKView _windowDidBecomeKey:]):
34877 * UIProcess/WebPageProxy.cpp:
34878 (WebKit::WebPageProxy::windowScreenDidChange):
34879 * UIProcess/WebPageProxy.h:
34880 * WebProcess/WebPage/WebPage.cpp:
34881 (WebKit::WebPage::windowScreenDidChange):
34882 * WebProcess/WebPage/WebPage.h:
34883 * WebProcess/WebPage/WebPage.messages.in:
34885 2011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
34887 [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h
34888 https://bugs.webkit.org/show_bug.cgi?id=70053
34890 Reviewed by Kenneth Rohde Christiansen.
34892 Now we will be aligned with WKError.h and WebError.h by using the shared
34893 and pre-defined enum for error codes and WebError::webkitErrorDomain().
34895 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
34896 (WebKit::blockedError):
34897 (WebKit::cannotShowURLError):
34898 (WebKit::interruptedForPolicyChangeError):
34899 (WebKit::cannotShowMIMETypeError):
34900 (WebKit::pluginWillHandleLoadError):
34902 2011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
34904 [Qt][WK2] WebViews are emitting loadFailed for "private" error codes
34905 https://bugs.webkit.org/show_bug.cgi?id=70047
34907 Reviewed by Kenneth Rohde Christiansen.
34909 Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors
34910 like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp.
34912 We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange,
34913 PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1.
34915 * UIProcess/qt/ClientImpl.cpp:
34916 (dispatchLoadFailed):
34918 2011-10-13 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
34920 Implement TextChecker for WebKit2 GTK+
34921 https://bugs.webkit.org/show_bug.cgi?id=68548
34923 Reviewed by Anders Carlsson.
34925 Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations.
34926 Moved couple of API earlier specific to win port to common section and added stubbed implementation
34927 of the same for remaining ports of Qt, Efl and Mac.
34929 * GNUmakefile.am: Added TextChecker implementation files.
34930 * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port.
34931 * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port.
34932 * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API.
34933 (WebKit::TextChecker::state):
34934 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
34935 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
34936 (WebKit::TextChecker::setGrammarCheckingEnabled):
34937 (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
34938 (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
34939 (WebKit::TextChecker::uniqueSpellDocumentTag):
34940 (WebKit::TextChecker::closeSpellDocumentWithTag):
34941 (WebKit::TextChecker::checkSpellingOfString):
34942 (WebKit::TextChecker::checkGrammarOfString):
34943 (WebKit::TextChecker::spellingUIIsShowing):
34944 (WebKit::TextChecker::toggleSpellingUIIsShowing):
34945 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
34946 (WebKit::TextChecker::updateSpellingUIWithGrammarString):
34947 (WebKit::TextChecker::getGuessesForWord):
34948 (WebKit::TextChecker::learnWord):
34949 (WebKit::TextChecker::ignoreWord):
34950 * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port.
34951 * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port.
34953 2011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
34955 [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
34956 https://bugs.webkit.org/show_bug.cgi?id=69832
34958 Reviewed by Kenneth Rohde Christiansen.
34960 We implement decidePolicyForResponse in our PolicyClient in order to
34961 decide whether a given ResourceResponse should be downloaded or loaded.
34963 * UIProcess/qt/ClientImpl.cpp:
34964 (qt_wk_decidePolicyForResponse):
34965 * UIProcess/qt/ClientImpl.h:
34966 * UIProcess/qt/QtWebPageProxy.cpp:
34967 (QtWebPageProxy::init):
34969 2011-10-13 Carlos Garcia Campos <cgarcia@igalia.com>
34971 [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library
34972 https://bugs.webkit.org/show_bug.cgi?id=70010
34974 Reviewed by Martin Robinson.
34976 With this class tests using a soup server only need to implement
34977 the soup server callback.
34979 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
34980 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer.
34981 (testLoadingStatus):
34982 (testLoadingError):
34983 (testLoadAlternateContent):
34984 (testWebViewReload):
34985 (testLoadProgress):
34988 * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added.
34989 (WebKitTestServer::WebKitTestServer):
34990 (WebKitTestServer::~WebKitTestServer):
34991 (WebKitTestServer::run): Run the soup server and adds the given
34992 soup server callback to handle requests.
34993 (WebKitTestServer::getURIForPath): Returns the server absolute URI
34994 for the given relative path.
34995 * UIProcess/API/gtk/tests/WebKitTestServer.h: Added.
34996 (WebKitTestServer::baseURI):
34998 2011-10-13 Nayan Kumar K <nayankk@motorola.com>
35000 [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation.
35001 https://bugs.webkit.org/show_bug.cgi?id=69928
35003 Reviewed by Philippe Normand.
35005 Patch fixes the warnings reported by gtk-doc while generating
35006 WebKit2-GTK+ documentation.
35008 * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment.
35009 * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction.
35011 2011-10-12 Joseph Pecoraro <joepeck@webkit.org>
35013 Pass Parsed Accept Attribute MIME Types to WebKit Clients
35014 https://bugs.webkit.org/show_bug.cgi?id=69598
35016 Reviewed by David Kilzer.
35018 * Shared/WebCoreArgumentCoders.cpp:
35019 (CoreIPC::::encode):
35020 (CoreIPC::::decode):
35022 2011-10-12 Joseph Pecoraro <joepeck@webkit.org>
35024 Pass Parsed Accept Attribute MIME Types to WebKit Clients
35025 https://bugs.webkit.org/show_bug.cgi?id=69598
35027 Reviewed by Anders Carlsson.
35029 The WebOpenPanelParameters::Data struct was a mirror of
35030 the already existing WebCore::FileChooserSettings struct.
35031 So eliminate the excess struct and generate default
35032 WebCore coders for the WebCore::FileChooserSettings struct.
35034 * Scripts/webkit2/messages.py:
35035 Switch to the new type. FileChooserSetting's header needs
35036 to be special cased to FileChooser.h.
35038 * Shared/WebCoreArgumentCoders.h:
35039 * Shared/WebCoreArgumentCoders.cpp:
35040 (CoreIPC::::encode):
35041 (CoreIPC::::decode):
35042 Encode and decode all, non-deprecated, values. So we
35043 ignore deprecatedAcceptTypes. A follow-up patch will add it.
35045 * Shared/WebOpenPanelParameters.cpp:
35046 (WebKit::WebOpenPanelParameters::create):
35047 (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
35048 Switch to the new type.
35050 * Shared/WebOpenPanelParameters.h:
35051 (WebKit::WebOpenPanelParameters::allowMultipleFiles):
35052 (WebKit::WebOpenPanelParameters::selectedFileNames):
35053 FileChooserSettings had different property names.
35055 * UIProcess/WebPageProxy.cpp:
35056 (WebKit::WebPageProxy::runOpenPanel):
35057 Generate the WebOpenPanelParameters object here, before
35058 passing into the WebUIClient. This seems to be the convention
35059 to not have WebCore types in WebUIClient.
35061 * UIProcess/WebPageProxy.h:
35062 * UIProcess/WebPageProxy.messages.in:
35063 * UIProcess/WebUIClient.cpp:
35064 (WebKit::WebUIClient::runOpenPanel):
35065 * UIProcess/WebUIClient.h:
35066 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35067 (WebKit::WebChromeClient::runOpenPanel):
35068 Switch to the new type.
35070 2011-10-12 Joseph Pecoraro <joepeck@webkit.org>
35072 Pass Parsed Accept Attribute MIME Types to WebKit Clients
35073 https://bugs.webkit.org/show_bug.cgi?id=69598
35075 Reviewed by Kent Tamura.
35077 Switch to deprecated for now, but the next patches will
35078 remove the deprecated version from the WebKit2 path.
35080 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35081 (WebKit::WebChromeClient::runOpenPanel):
35083 2011-10-12 Adam Barth <abarth@webkit.org>
35085 Remove ENABLE(XHTMLMP) and associated code
35086 https://bugs.webkit.org/show_bug.cgi?id=69729
35088 Reviewed by David Levin.
35090 * Configurations/FeatureDefines.xcconfig:
35092 2011-10-12 Dan Bernstein <mitz@apple.com>
35094 Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build
35095 https://bugs.webkit.org/show_bug.cgi?id=69960
35097 Reviewed by Adam Roben.
35099 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
35100 (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value
35101 from posix_spawn() rather than for a negative return value. The old, incorrect check, caused
35102 this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in
35103 when WebKit2 was built for 64-bit only.
35105 2011-10-12 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
35107 [Qt][WK2] Move qweberror* out of API/qt
35108 https://bugs.webkit.org/show_bug.cgi?id=69875
35110 Reviewed by Andreas Kling.
35112 Moving QWebError outside API/qt in order to keep our API folder (layer) aligned.
35114 * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp.
35115 (QWebError::QWebError):
35116 (QWebErrorPrivate::createQWebError):
35117 (QWebErrorPrivate::QWebErrorPrivate):
35118 (QWebErrorPrivate::~QWebErrorPrivate):
35120 (QWebError::errorCode):
35122 * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h.
35123 (QWebError::errorCodeAsHttpStatusCode):
35124 (QWebError::errorCodeAsNetworkError):
35125 * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h.
35129 2011-10-12 Nayan Kumar K <nayankk@motorola.com>
35131 [WebKit2][gtk] Add few more API's to gtk-doc section file.
35132 https://bugs.webkit.org/show_bug.cgi?id=69921
35134 Reviewed by Gustavo Noronha Silva.
35136 Generate documentation for existing WebKit2-GTK+ API's,
35137 which are not yet the part of gtk-doc documentation.
35139 * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files.
35140 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition.
35142 2011-10-11 Simon Fraser <simon.fraser@apple.com>
35144 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35145 https://bugs.webkit.org/show_bug.cgi?id=68134
35147 Reviewed by Darin Adler.
35149 Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
35151 Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
35152 that reads the setting, and returns the mock theme if set. All callers now use
35153 theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
35155 * UIProcess/win/WebPopupMenuProxyWin.cpp:
35156 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
35157 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35158 (WebKit::BuiltInPDFView::paintControls):
35159 * WebProcess/WebPage/PageOverlay.cpp:
35160 (WebKit::PageOverlay::bounds):
35162 2011-10-11 Simon Fraser <simon.fraser@apple.com>
35164 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35165 https://bugs.webkit.org/show_bug.cgi?id=68134
35167 Reviewed by Darin Adler.
35169 ScrollbarTheme::nativeTheme() renamed to theme().
35171 * WebProcess/WebPage/PageOverlay.cpp:
35172 (WebKit::PageOverlay::bounds):
35174 2011-10-10 Martin Robinson <mrobinson@igalia.com>
35176 [GTK] [WebKit2] Make adding another unit test easier
35177 https://bugs.webkit.org/show_bug.cgi?id=69409
35179 Reviewed by Gustavo Noronha Silva.
35181 * GNUmakefile.am: Add the new WebKit2 API tests.
35182 * UIProcess/API/gtk/tests/GNUmakefile.am: Added.
35183 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests.
35184 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added.
35185 * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35187 * UIProcess/API/gtk/tests/TestMain.h: Added.
35188 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35189 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added.
35190 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35191 * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests.
35192 * UIProcess/API/gtk/tests/WebViewTest.h: Added.
35193 * UIProcess/API/gtk/tests/testloading.c: Removed.
35194 * UIProcess/API/gtk/tests/testwebcontext.c: Removed.
35196 2011-10-11 Alexey Proskuryakov <ap@apple.com>
35198 [Mac] Crash when opening an embedded PDF in a background tab
35199 https://bugs.webkit.org/show_bug.cgi?id=69880
35201 Reviewed by Darin Adler.
35203 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35204 (WebKit::BuiltInPDFView::BuiltInPDFView):
35205 (WebKit::BuiltInPDFView::~BuiltInPDFView):
35206 (WebKit::BuiltInPDFView::initialize):
35207 (WebKit::BuiltInPDFView::destroy):
35208 Moved initialization and destruction code from C++ constructor and destructor to designated
35209 functions. Not part of the fix, but seems related enough to fix.
35211 2011-10-11 Alexey Proskuryakov <ap@apple.com>
35213 [Mac] Crash when opening an embedded PDF in a background tab
35214 https://bugs.webkit.org/show_bug.cgi?id=69880
35216 Reviewed by Darin Adler.
35218 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that
35219 doesn't even have a controller yet.
35221 2011-10-11 Beth Dakin <bdakin@apple.com>
35223 https://bugs.webkit.org/show_bug.cgi?id=69874
35224 WebKit2 snapshot APIs should take the device scale factor into account
35225 -and corresponding-
35226 <rdar://problem/10269112>
35228 Reviewed by Darin Adler.
35230 Add the deviceScaleFactor as a scale on the snapshot's context to create a
35231 snapshot of the appropriate resolution. This matches the manner in which we scale
35232 the context in DrawingAreaImpl::display().
35233 * WebProcess/WebPage/WebPage.cpp:
35234 (WebKit::WebPage::snapshotInViewCoordinates):
35235 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
35237 2011-10-11 W. James MacLean <wjmaclean@chromium.org>
35239 Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
35240 https://bugs.webkit.org/show_bug.cgi?id=69739
35242 Change 'double' parameters to 'float' to match changes in FrameView.
35244 Reviewed by Simon Fraser.
35246 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35247 (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35249 2011-10-11 Alexey Proskuryakov <ap@apple.com>
35251 [Mac] Small embedded PDFs are not fully repainted when scrolling
35252 https://bugs.webkit.org/show_bug.cgi?id=69861
35254 Reviewed by Anders Carlsson.
35256 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
35257 Account for vertical centering when deciding which pages to paint.
35259 2011-10-11 Alexey Proskuryakov <ap@apple.com>
35261 Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified
35262 https://bugs.webkit.org/show_bug.cgi?id=64934
35264 Reviewed by Dan Bernstein.
35266 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too,
35267 like GetPluginPath does in UI process. One difference is that UI process additionally tries
35268 platform specific extension to MIME type mapping, but that doesn't matter for PDF, which
35269 does not have other standard extensions.
35271 2011-10-11 Alexey Proskuryakov <ap@apple.com>
35273 [Mac] Should be able to display multi-page PDFs in subframes
35274 https://bugs.webkit.org/show_bug.cgi?id=69804
35276 Reviewed by Anders Carlsson.
35278 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35279 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35280 (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that
35281 one could step over the document page by page. It certainly shouldn't be a portion of the
35283 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here.
35284 (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and
35285 remember page boxes.
35286 (WebKit::BuiltInPDFView::paint): Split into separate functions.
35287 (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect.
35288 (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still
35289 fairly naive, as it doesn't understand annotations or page rotation.
35290 Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom
35292 (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here.
35293 (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad().
35294 (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto.
35296 2011-10-11 Gopal Raghavan <gopal.1.raghavan@nokia.com>
35298 [Qt] WebProcess using proxy settings for localhost as well
35299 https://bugs.webkit.org/show_bug.cgi?id=69611
35301 Reviewed by Chang Shu.
35303 Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1
35305 * WebProcess/qt/WebProcessMainQt.cpp:
35306 (WebKit::EnvHttpProxyFactory::queryProxy):
35308 2011-10-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
35310 [Qt] Remove all references to QTDIR_build and standalone_package
35312 Qt is now modularized, which means we no longer import WebKit into
35313 the Qt source tree. Instead we use git submodules, and building
35314 QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
35316 To decrease the number of buildsystem configurations we also remove
35317 the standalone_package code-path used when we were providing tarballs
35318 with the derived sources pre-generated.
35320 Reviewed by Simon Hausmann.
35322 * DerivedSources.pro:
35323 * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
35324 * UIProcess/API/qt/tests/tests.pri:
35328 2011-10-10 Nate Chapin <japhet@chromium.org>
35330 Use a CachedImageClient instead of CachedResourceClient
35331 in WebDragClientMac.
35332 https://bugs.webkit.org/show_bug.cgi?id=69790
35334 Reviewed by Adam Barth.
35336 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
35337 (promisedDataClient):
35339 2011-10-10 Mark Hahnenberg <mhahnenberg@apple.com>
35341 Remove getCallDataVirtual methods
35342 https://bugs.webkit.org/show_bug.cgi?id=69186
35344 Reviewed by Geoffrey Garen.
35346 Removed all getCallDataVirtual methods and replaced their call sites
35347 with an explicit lookup in the MethodTable.
35349 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35350 * WebProcess/Plugins/Netscape/JSNPMethod.h:
35351 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35352 * WebProcess/Plugins/Netscape/JSNPObject.h:
35354 2011-10-10 Simon Hausmann <simon.hausmann@nokia.com>
35356 [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan
35358 Reviewed by Andreas Kling.
35360 Explicitly choose the qreal variant of qMin, since QPointF is using qreal.
35362 * UIProcess/qt/ViewportInteractionEngine.cpp:
35363 (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
35365 2011-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
35367 [GTK] Add methods to reload the view to WebKit2 GTK+ API
35368 https://bugs.webkit.org/show_bug.cgi?id=69613
35370 Reviewed by Martin Robinson.
35372 * UIProcess/API/gtk/WebKitWebView.cpp:
35373 (webkit_web_view_reload):
35374 (webkit_web_view_reload_bypass_cache):
35375 * UIProcess/API/gtk/WebKitWebView.h:
35376 * UIProcess/API/gtk/tests/testloading.c:
35377 (loadReloadProvisionalLoadStarted):
35378 (loadReloadLoadFinished):
35379 (testLoadTimeoutFinishLoop):
35383 2011-10-09 Luke Macpherson <macpherson@chromium.org>
35385 Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
35386 (https://bugs.webkit.org/show_bug.cgi?id=68035)
35387 https://bugs.webkit.org/show_bug.cgi?id=69735
35389 Reviewed by Daniel Bates.
35391 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35392 Add symbols that are now required by ScrollableArea.
35393 (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35395 2011-10-08 Mark Hahnenberg <mhahnenberg@apple.com>
35397 Add static version of JSCell::getConstructData
35398 https://bugs.webkit.org/show_bug.cgi?id=69673
35400 Reviewed by Geoffrey Garen.
35402 Added static version of getConstructData to all classes that
35403 override it and changed the virtual versions to call the static
35404 versions. This is the first step in de-virtualizing JSCell::getConstructData.
35406 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35407 (WebKit::JSNPObject::getConstructData):
35408 * WebProcess/Plugins/Netscape/JSNPObject.h:
35410 2011-10-08 Mark Hahnenberg <mhahnenberg@apple.com>
35412 Add static version of JSCell::getOwnPropertySlot
35413 https://bugs.webkit.org/show_bug.cgi?id=69593
35415 Reviewed by Geoffrey Garen.
35417 Added static version of getOwnPropertySlot to every class that overrides
35418 JSCell::getOwnPropertySlot. The virtual versions now call the static versions.
35419 This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
35421 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35422 (WebKit::JSNPObject::getOwnPropertySlot):
35423 * WebProcess/Plugins/Netscape/JSNPObject.h:
35425 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
35427 [GTK] Implement drag and drop support in WebKit2
35428 https://bugs.webkit.org/show_bug.cgi?id=63706
35430 Reviewed by Philippe Normand.
35432 * GNUmakefile.am: Add new files to compilation.
35433 * Shared/gtk/ArgumentCodersGtk.cpp: Added.
35434 (CoreIPC::encodeImage): Encode a GdkPixbuf.
35435 (CoreIPC::decodeImage): Decode a GdkPixbuf.
35436 (CoreIPC::encodeDataObject): Encode a DataObjectGtk.
35437 (CoreIPC::decodeDataObject): Decode a DataObjectGtk.
35438 (CoreIPC::::encode): Encode DragData.
35439 (CoreIPC::::decode): Decode DragData.
35440 * Shared/gtk/ArgumentCodersGtk.h:
35441 * UIProcess/API/gtk/PageClientImpl.cpp:
35442 (WebKit::PageClientImpl::startDrag):
35443 * UIProcess/API/gtk/PageClientImpl.h:
35444 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
35445 (webkit_web_view_base_init): Set the view as a potential drop destination.
35446 (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper.
35447 (webkitWebViewBaseDragEnd): Ditto.
35448 (webkitWebViewBaseDragDataReceived): Ditto.
35449 (webkitWebViewBaseDragEnter): Ditto.
35450 (webkitWebViewBaseDragMotion): Ditto.
35451 (doDragLeaveLater): Ditto.
35452 (webkitWebViewBaseDragLeave): Ditto.
35453 (webkitWebViewBaseDragDrop): Ditto.
35454 (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods.
35455 (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation.
35456 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag().
35457 * UIProcess/PageClient.h: Add startDrag().
35458 * UIProcess/WebPageProxy.cpp:
35459 (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version.
35460 * UIProcess/WebPageProxy.h:
35461 * UIProcess/WebPageProxy.messages.in:
35462 * WebProcess/WebCoreSupport/WebDragClient.cpp:
35463 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added.
35464 * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+.
35465 * WebProcess/WebPage/WebPage.h: Ditto.
35466 * WebProcess/WebPage/WebPage.messages.in: Ditto.
35468 2011-10-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
35470 [Qt] [WK2] Wrong handling of visibility in QTouchWebPage
35471 https://bugs.webkit.org/show_bug.cgi?id=69670
35473 Reviewed by Andreas Kling.
35475 Replace QTouchWebPage visibility handling by Show/Hide events with use of
35476 QSGItem::visibleChanged signal.
35478 * UIProcess/API/qt/qtouchwebpage.cpp:
35479 (QTouchWebPage::QTouchWebPage):
35480 (QTouchWebPage::event):
35481 (QTouchWebPage::onVisibleChanged):
35482 * UIProcess/API/qt/qtouchwebpage.h:
35484 2011-10-08 Sheriff Bot <webkit.review.bot@gmail.com>
35486 Unreviewed, rolling out r96996.
35487 http://trac.webkit.org/changeset/96996
35488 https://bugs.webkit.org/show_bug.cgi?id=69697
35490 It broke all tests on the Qt bot (Requested by Ossy_night on
35493 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35494 (WebKit::JSNPMethod::getCallDataVirtual):
35495 * WebProcess/Plugins/Netscape/JSNPMethod.h:
35496 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35497 (WebKit::JSNPObject::getCallDataVirtual):
35498 * WebProcess/Plugins/Netscape/JSNPObject.h:
35500 2011-10-07 Jeff Miller <jeffm@apple.com>
35502 Add WKPageContextMenuClient callback when context menu is dismissed
35503 https://bugs.webkit.org/show_bug.cgi?id=69553
35505 Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API
35506 version of this client to 1 so we continue to work with old clients.
35508 * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient.
35509 * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient.
35511 * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion.
35513 * UIProcess/WebPageContextMenuClient.cpp:
35514 (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added.
35516 * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed().
35518 * UIProcess/WebPageProxy.cpp:
35519 (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed.
35521 2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com>
35523 Remove getCallDataVirtual methods
35524 https://bugs.webkit.org/show_bug.cgi?id=69186
35526 Reviewed by Geoffrey Garen.
35528 Removed all getCallDataVirtual methods and replaced their call sites
35529 with an explicit lookup in the MethodTable.
35531 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35532 * WebProcess/Plugins/Netscape/JSNPMethod.h:
35533 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35534 * WebProcess/Plugins/Netscape/JSNPObject.h:
35536 2011-10-07 Alexey Proskuryakov <ap@apple.com>
35538 [Mac] Scrollbars in embedded PDFs should update when system preferences change
35539 https://bugs.webkit.org/show_bug.cgi?id=69654
35541 Reviewed by Simon Fraser.
35543 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override.
35544 ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style
35545 changes, and expects clients to move them back in place.
35547 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35548 (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from
35549 updating style of PDF view scrollbars.
35550 (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after
35551 style change. The behavior is not perfect in edge cases, but roughly matches ScrollView.
35553 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
35555 Unreviewed, rolling out r96938.
35556 http://trac.webkit.org/changeset/96938
35557 https://bugs.webkit.org/show_bug.cgi?id=69653
35559 It broke zillion tests and make testing so slow (Requested by
35562 * UIProcess/WebContext.cpp:
35563 * UIProcess/WebContext.h:
35564 * UIProcess/efl/WebContextEfl.cpp:
35565 (WebKit::WebContext::applicationCacheDirectory):
35566 * UIProcess/gtk/WebContextGtk.cpp:
35567 (WebKit::WebContext::applicationCacheDirectory):
35568 * UIProcess/mac/WebContextMac.mm:
35569 (WebKit::WebContext::applicationCacheDirectory):
35570 * UIProcess/qt/WebContextQt.cpp:
35571 (WebKit::WebContext::applicationCacheDirectory):
35572 * UIProcess/win/WebContextWin.cpp:
35573 (WebKit::WebContext::applicationCacheDirectory):
35575 2011-10-07 Qi Zhang <qi.2.zhang@nokia.com>
35577 [Qt][WK2] ApplicationCache LayoutTests failed
35578 https://bugs.webkit.org/show_bug.cgi?id=69541
35580 Reviewed by Chang Shu.
35582 1. Moved applicationCacheDirectory to common code.
35583 2. Added interface setApplicationCacheDirectory to allow UI client overriding.
35584 3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
35585 4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.
35588 * UIProcess/WebContext.cpp:
35589 (WebKit::WebContext::applicationCacheDirectory):
35590 * UIProcess/WebContext.h:
35591 (WebKit::WebContext::setApplicationCacheDirectory):
35592 * UIProcess/efl/WebContextEfl.cpp:
35593 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35594 * UIProcess/gtk/WebContextGtk.cpp:
35595 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35596 * UIProcess/mac/WebContextMac.mm:
35597 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35598 * UIProcess/qt/WebContextQt.cpp:
35599 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35600 * UIProcess/win/WebContextWin.cpp:
35601 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35603 2011-10-06 Brent Fulgham <bfulgham@webkit.org>
35605 [WinCairo] Correct improper identification of WKQC extensions.
35606 https://bugs.webkit.org/show_bug.cgi?id=69600
35608 * DerivedSources.make: Make sure we are not building the
35611 2011-10-06 Anders Carlsson <andersca@apple.com>
35613 When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
35614 https://bugs.webkit.org/show_bug.cgi?id=69586
35616 Reviewed by Darin Adler.
35618 * Configurations/Base.xcconfig:
35619 Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
35621 * WebKit2.xcodeproj/project.pbxproj:
35622 When building with clang, we don't need to run the check-for-global-initializers and
35623 check-for-exit-time-destructors anymore.
35625 2011-10-06 Anders Carlsson <andersca@apple.com>
35627 Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
35628 https://bugs.webkit.org/show_bug.cgi?id=69584
35630 Reviewed by Darin Adler.
35632 Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
35634 * UIProcess/WebContext.cpp:
35635 * UIProcess/WebPageProxy.cpp:
35636 * WebProcess/WebPage/WebFrame.cpp:
35637 * WebProcess/WebPage/WebPage.cpp:
35639 2011-10-06 Alexey Proskuryakov <ap@apple.com>
35641 [Mac] Should be able to scroll embedded PDFs using mouse
35642 https://bugs.webkit.org/show_bug.cgi?id=69579
35644 Reviewed by Darin Adler.
35646 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35647 (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling,
35648 ScrollableArea does everything now.
35649 (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from
35650 WebCore hit testing code.
35651 (WebKit::BuiltInPDFView::verticalScrollbar): Ditto.
35652 (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this.
35653 (WebKit::BuiltInPDFView::visibleWidth): Ditto.
35655 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35656 (WebKit::NetscapePlugin::horizontalScrollbar):
35657 (WebKit::NetscapePlugin::verticalScrollbar):
35658 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35659 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35660 * WebProcess/Plugins/Plugin.h:
35661 * WebProcess/Plugins/PluginProxy.cpp:
35662 (WebKit::PluginProxy::horizontalScrollbar):
35663 (WebKit::PluginProxy::verticalScrollbar):
35664 * WebProcess/Plugins/PluginProxy.h:
35665 * WebProcess/Plugins/PluginView.cpp:
35666 (WebKit::PluginView::horizontalScrollbar):
35667 (WebKit::PluginView::verticalScrollbar):
35668 * WebProcess/Plugins/PluginView.h:
35669 Added plumbing to access scrollbars from WebCore hit testing code.
35671 2011-10-06 Alexis Menard <alexis.menard@openbossa.org>
35673 [Qt][WK2] WebIconDatabase expects a file path not a directory.
35674 https://bugs.webkit.org/show_bug.cgi?id=69557
35676 Reviewed by Andreas Kling.
35678 WebIconDatabase::setDatabasePath expects a file path not a directory.
35679 I used the same name as the Mac port.
35681 * UIProcess/qt/WebContextQt.cpp:
35682 (WebKit::WebContext::platformDefaultIconDatabasePath):
35684 2011-10-06 Anders Carlsson <andersca@apple.com>
35686 In background window, page flashes white if it enters and then immediately leaves compositing mode
35687 https://bugs.webkit.org/show_bug.cgi?id=69566
35688 <rdar://problem/9521192>
35690 Reviewed by Dan Bernstein.
35692 Don't update the backing store state if we're just about to exit accelerated compositing mode. Otherwise
35693 the UI process will try to render an empty layer tree for a short period of time, leading to a white flash.
35695 * WebProcess/WebPage/DrawingAreaImpl.cpp:
35696 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
35698 2011-10-06 Fady Samuel <fsamuel@chromium.org>
35700 Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
35701 https://bugs.webkit.org/show_bug.cgi?id=69009
35703 Reviewed by Simon Fraser.
35706 * win/WebKit2CFLite.def:
35708 2011-10-06 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
35710 Move windows specific TextChecker implementation common to all ports.
35711 https://bugs.webkit.org/show_bug.cgi?id=68532
35713 Reviewed by Anders Carlsson.
35715 All the TextChecker feature implementation files are moved outside of win port since they are
35716 platform independent and can be moved across all ports. Only the implementation of TextChecker
35717 class is platform dependent now and has been retained across all ports. Rest all files has been
35718 moved for all ports usage.
35720 * Shared/API/c/WKBase.h: Add WKGrammarDetailRef & WKTextCheckerRef types.
35721 * Shared/API/c/win/WKBaseWin.h: Remove WKGrammarDetailRef & WKTextCheckerRef types.
35722 * Shared/APIObject.h: Moved TypeGrammarDetail & TypeTextChecker from platform specific section to UIProcess types.
35723 * UIProcess/API/C/WKAPICast.h: Added mapping for WKTextCheckerRef & WKGrammarDetailRef.
35724 * UIProcess/API/C/WKGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.cpp.
35725 * UIProcess/API/C/WKGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.h.
35726 * UIProcess/API/C/WKTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.cpp.
35727 * UIProcess/API/C/WKTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.h.
35728 * UIProcess/API/C/win/WKAPICastWin.h: Removed mapping for WKTextCheckerRef & WKGrammarDetailRef.
35729 * UIProcess/WebGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.cpp.
35730 * UIProcess/WebGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.h.
35731 * UIProcess/WebTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.cpp.
35732 * UIProcess/WebTextChecker.h: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.h.
35733 * UIProcess/WebTextCheckerClient.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.cpp.
35734 * UIProcess/WebTextCheckerClient.h: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.h.
35735 * win/WebKit2.vcproj: Corrected paths for renamed files.
35736 * win/WebKit2Generated.make: Corrected paths for renamed files.
35738 2011-10-06 Anders Carlsson <andersca@apple.com>
35740 Crash when PluginProxy object is destroyed inside PluginProxy::pluginScriptableNPObject
35741 https://bugs.webkit.org/show_bug.cgi?id=69559
35742 <rdar://problem/9704066>
35744 Reviewed by Maciej Stachowiak.
35746 Protect the plug-in itself in the call to pluginScriptableNPObject. In some cases, sending
35747 the synchronous message to the plug-in process can end up causing the web process to handle
35748 an incoming message that will destroy t he plug-in.
35750 Unfortunately, this is highly timing-dependent and can't be tested reliably.
35752 * WebProcess/Plugins/PluginProxy.cpp:
35753 (WebKit::PluginProxy::pluginScriptableNPObject):
35755 2011-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
35757 [GTK] Add estimated-progress property to WebKitWebLoaderClient
35758 https://bugs.webkit.org/show_bug.cgi?id=69509
35760 Reviewed by Martin Robinson.
35762 It allows to monitor the estimated progress of a lof operation by
35763 connecting to the notify signal.
35765 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
35766 (didChangeProgress): Update estimated-progress property and notify when
35768 (webkitWebLoaderClientConstructed): Add implementations for
35769 didStartProgress, didChangeProgress and didFinishProgress.
35770 (webkitWebLoaderClientGetProperty):
35771 (webkit_web_loader_client_class_init): Add estimated-progress property.
35772 (webkit_web_loader_client_get_estimated_progress): Returns the
35773 value of estimated-progress property.
35774 * UIProcess/API/gtk/WebKitWebLoaderClient.h:
35775 * UIProcess/API/gtk/tests/testloading.c:
35776 (webLoadingFixtureSetup):
35777 (loadProgressEstimatedProgressChanged):
35778 (loadProgressLoadFinished):
35779 (testLoadProgress):
35782 2011-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
35784 [GTK] Implement cache model for WebKit2
35785 https://bugs.webkit.org/show_bug.cgi?id=68434
35787 Reviewed by Martin Robinson.
35789 * UIProcess/API/gtk/WebKitWebContext.cpp:
35790 (webkit_web_context_set_cache_model):
35791 (webkit_web_context_get_cache_model):
35792 * UIProcess/API/gtk/WebKitWebContext.h:
35793 * UIProcess/API/gtk/tests/testwebcontext.c:
35794 (testWebContextCacheModel):
35796 * WebProcess/gtk/WebProcessGtk.cpp:
35797 (WebKit::getCacheDiskFreeSize): Helper function to get free space
35798 of the file system where the cache directory is on.
35799 (WebKit::getMemorySize): Helper function to get the total memory
35800 of the system in MB.
35801 (WebKit::WebProcess::platformSetCacheModel): Implement
35802 platformSetCacheModel for Gtk port using calculateCacheSizes().
35804 2011-10-05 Alexey Proskuryakov <ap@apple.com>
35806 https://bugs.webkit.org/show_bug.cgi?id=69492
35807 [Mac] Should be able to scroll embedded PDFs from keyboard
35809 Reviewed by Darin Adler.
35811 * WebProcess/Plugins/Plugin.h:
35812 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35813 (WebKit::NetscapePlugin::handleScroll):
35814 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35815 * WebProcess/Plugins/PluginProxy.cpp:
35816 (WebKit::PluginProxy::handleScroll):
35817 * WebProcess/Plugins/PluginProxy.h:
35818 Added a handleScroll method. A plug-in gets it if it doesn't handle a keyboard event, and
35819 WebCore decides that this is an event for scrolling. A plug-in can decide whether it scrolls
35820 main content, or some scrollable subview of its own.
35822 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35823 (WebKit::BuiltInPDFView::handleMouseEvent): Added a comment explaining returned value.
35824 (WebKit::BuiltInPDFView::handleScroll): Just call ScrollableArea, it will do everything.
35826 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added a handleScroll override.
35828 * WebProcess/Plugins/PluginView.cpp:
35829 (WebKit::PluginView::scroll): Pass a PluginViewBase scroll to plug-in to handle.
35830 (WebKit::PluginView::handleEvent): Added a FIXME.
35831 * WebProcess/Plugins/PluginView.h:
35833 2011-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
35835 [GTK] Do not use C API in GTK+ API public headers
35836 https://bugs.webkit.org/show_bug.cgi?id=69506
35838 Reviewed by Martin Robinson.
35840 * GNUmakefile.am: Add new files to compilation.
35841 * UIProcess/API/gtk/WebKitDefines.h: Added.
35842 * UIProcess/API/gtk/WebKitError.h: Use WEBKIT_API instead of WK_EXPORT.
35843 * UIProcess/API/gtk/WebKitWebContext.h: Ditto.
35844 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Ditto.
35845 * UIProcess/API/gtk/WebKitWebView.h: Ditto.
35846 * UIProcess/API/gtk/WebKitWebViewBase.h: Ditto.
35847 * UIProcess/API/gtk/docs/GNUmakefile.am: Ignore WEBKIT_API
35849 * UIProcess/API/gtk/webkit2.h: Include <webkit2/WebKitDefines.h>
35851 2011-10-06 Alexis Menard <alexis.menard@openbossa.org>
35853 [Qt][WK2] Cursor should change when hovering links or input fields.
35854 https://bugs.webkit.org/show_bug.cgi?id=69519
35856 Reviewed by Simon Hausmann.
35858 This is a temporary fix until Qt5 brings support for changing cursor
35859 per item. This patch enforce the change of the cursor at application
35862 * UIProcess/API/qt/qdesktopwebview.cpp:
35863 (QDesktopWebViewPrivate::didChangeCursor):
35865 2011-10-06 Zeno Albisser <zeno.albisser@nokia.com>
35867 [Qt][WK2][Mac] QtWebProcess should not show up in the Dock.
35868 https://bugs.webkit.org/show_bug.cgi?id=69432
35870 We can set the environment variable QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
35871 in the WebProcess stub to disable the automatic foreground transformation.
35873 Reviewed by Andreas Kling.
35875 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
35876 (WebKit::QtWebProcess::setupChildProcess):
35878 2011-10-03 Andy Estes <aestes@apple.com>
35880 Add an option to suppress rendering until the document's load event fires.
35881 https://bugs.webkit.org/show_bug.cgi?id=69298
35883 Reviewed by Simon Fraser.
35885 Add a new WKPreference.
35887 * Shared/WebPreferencesStore.h:
35888 * UIProcess/API/C/WKPreferences.cpp:
35889 (WKPreferencesSetSuppressRenderingWhileInitiallyLoading):
35890 (WKPreferencesGetSuppressRenderingWhileInitiallyLoading):
35891 * UIProcess/API/C/WKPreferences.h:
35892 * WebProcess/WebPage/WebPage.cpp:
35893 (WebKit::WebPage::updatePreferences):
35895 2011-10-05 Simon Fraser <simon.fraser@apple.com>
35897 r96770 broke binary compatibility with Safari
35898 https://bugs.webkit.org/show_bug.cgi?id=69496
35900 Reviewed by Dan Bernstein.
35902 Fix binary compatibility issue by declaring the deprecated methods inside a extern "C" block.
35904 * UIProcess/API/C/WKContext.cpp:
35906 2011-10-05 Jer Noble <jer.noble@apple.com>
35908 Enable WEB_AUDIO by default in the WebKit/mac port.
35909 https://bugs.webkit.org/show_bug.cgi?id=68587
35911 Reviewed by Simon Fraser.
35913 * Configurations/FeatureDefines.xcconfig:
35915 2011-10-05 Simon Fraser <simon.fraser@apple.com>
35917 In WebKitTestRunner, text has font smoothing in pixel snapshots
35918 https://bugs.webkit.org/show_bug.cgi?id=69396
35920 Reviewed by Darin Adler.
35922 Plumb through a method on WKContext that controls whether font smoothing
35923 is enabled. Since this is a global setting, such a method is more appropriate
35926 Remove leading underscores on some WKContext functions, but keep
35927 exported versions of same for binary compatibility.
35929 * Shared/WebProcessCreationParameters.cpp:
35930 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
35931 (WebKit::WebProcessCreationParameters::encode):
35932 (WebKit::WebProcessCreationParameters::decode):
35933 * Shared/WebProcessCreationParameters.h:
35934 * UIProcess/API/C/WKContext.cpp:
35935 (WKContextSetAlwaysUsesComplexTextCodePath):
35936 (WKContextSetShouldUseFontSmoothing):
35937 (WKContextSetAdditionalPluginsDirectory):
35938 (WKContextRegisterURLSchemeAsEmptyDocument):
35939 (WKContextSetHTTPPipeliningEnabled):
35940 (_WKContextSetAdditionalPluginsDirectory):
35941 (_WKContextRegisterURLSchemeAsEmptyDocument):
35942 (_WKContextSetAlwaysUsesComplexTextCodePath):
35943 (_WKContextSetHTTPPipeliningEnabled):
35944 * UIProcess/API/C/WKContextPrivate.h:
35945 * UIProcess/WebContext.cpp:
35946 (WebKit::WebContext::WebContext):
35947 (WebKit::WebContext::ensureWebProcess):
35948 (WebKit::WebContext::setShouldUseFontSmoothing):
35949 (WebKit::WebContext::httpPipeliningEnabled):
35950 * UIProcess/WebContext.h:
35951 * WebProcess/WebProcess.cpp:
35952 (WebKit::WebProcess::initializeWebProcess):
35953 (WebKit::WebProcess::setShouldUseFontSmoothing):
35954 * WebProcess/WebProcess.h:
35955 * WebProcess/WebProcess.messages.in:
35957 2011-10-05 Anders Carlsson <andersca@apple.com>
35959 Flash of white when unminimizing windows
35960 https://bugs.webkit.org/show_bug.cgi?id=69476
35961 <rdar://problem/10202680>
35963 Reviewed by Simon Fraser.
35965 Whenever the UI process requests an immediate backing store update, make sure to resume
35966 painting if it's suspended.
35968 * WebProcess/WebPage/DrawingAreaImpl.cpp:
35969 (WebKit::DrawingAreaImpl::updateBackingStoreState):
35971 2011-10-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
35973 [Qt] [WK2] Support JS alert/confirm/prompt in QDesktopWebView
35974 https://bugs.webkit.org/show_bug.cgi?id=69274
35976 Reviewed by Andreas Kling.
35978 Use currently existing QtWidgets to provide an implementation of
35979 window.alert(), window.confirm() and window.prompt().
35981 * Shared/WebString.h:
35982 (WebKit::WebString::createNull):
35983 (WebKit::WebString::WebString):
35984 Add a way to create a Null WebString. RunJavaScriptPrompt will differentiate
35985 between empty and null strings.
35987 * UIProcess/API/qt/qdesktopwebview.cpp:
35988 (QDesktopWebViewPrivate::enableMouseEvents):
35989 (QDesktopWebViewPrivate::disableMouseEvents):
35990 Create helper functions to enable and disable mouse events. This is useful for
35991 disabling mouse events in the WebView when we show QtWidget dialogs to avoid
35992 unwanted interaction with the page.
35994 (QDesktopWebViewPrivate::runJavaScriptAlert):
35995 (QDesktopWebViewPrivate::runJavaScriptConfirm):
35996 (QDesktopWebViewPrivate::runJavaScriptPrompt):
35997 (QDesktopWebView::init):
35998 * UIProcess/API/qt/qdesktopwebview_p.h:
35999 * UIProcess/qt/ClientImpl.cpp:
36000 (qt_wk_runJavaScriptAlert):
36001 (qt_wk_runJavaScriptConfirm):
36002 (createNullWKString):
36003 (qt_wk_runJavaScriptPrompt):
36004 * UIProcess/qt/ClientImpl.h:
36005 * UIProcess/qt/QtWebPageProxy.cpp:
36006 (QtWebPageProxy::init):
36007 * UIProcess/qt/TouchViewInterface.cpp:
36008 (WebKit::TouchViewInterface::runJavaScriptAlert):
36009 (WebKit::TouchViewInterface::runJavaScriptConfirm):
36010 (WebKit::TouchViewInterface::runJavaScriptPrompt):
36011 * UIProcess/qt/TouchViewInterface.h:
36012 * UIProcess/qt/ViewInterface.h:
36014 2011-10-05 Chang Shu <cshu@webkit.org>
36016 [WK2] Support setMarkedText/hasMarkedText/unmarkText/insertText for WTR TextInputController
36017 https://bugs.webkit.org/show_bug.cgi?id=68924
36019 Implemented WKBundlePage private APIs to support the above functions.
36021 Reviewed by Darin Adler.
36023 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36024 (WKBundlePageSetComposition):
36025 (WKBundlePageHasComposition):
36026 (WKBundlePageConfirmComposition):
36027 (WKBundlePageConfirmCompositionWithText):
36028 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36029 * WebProcess/WebPage/WebPage.cpp:
36030 (WebKit::WebPage::setCompositionForTesting):
36031 (WebKit::WebPage::hasCompositionForTesting):
36032 (WebKit::WebPage::confirmCompositionForTesting):
36033 * WebProcess/WebPage/WebPage.h:
36035 2011-10-05 Alexey Proskuryakov <ap@apple.com>
36037 [Mac] Make built-in PDF description localizable
36038 https://bugs.webkit.org/show_bug.cgi?id=69442
36040 Reviewed by Dan Bernstein.
36042 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Use a localized string instead of a literal one.
36044 2011-10-05 Chang Shu <cshu@webkit.org>
36046 [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
36047 https://bugs.webkit.org/show_bug.cgi?id=69365
36049 Reviewed by Darin Adler.
36051 Implement retrieving viewport configuration as text in WebProcess.
36053 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36054 (WKBundlePageViewportConfigurationAsText):
36055 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36056 * WebProcess/WebPage/WebPage.cpp:
36057 (WebKit::WebPage::viewportConfigurationAsText):
36058 * WebProcess/WebPage/WebPage.h:
36060 2011-10-05 Alexis Menard <alexis.menard@openbossa.org>
36062 [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
36063 https://bugs.webkit.org/show_bug.cgi?id=69111
36065 Reviewed by Kenneth Rohde Christiansen.
36067 Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
36069 * UIProcess/qt/WebContextQt.cpp:
36070 (WebKit::defaultDataLocation):
36071 (WebKit::WebContext::platformInitializeWebProcess):
36072 (WebKit::WebContext::platformDefaultDatabaseDirectory):
36073 (WebKit::WebContext::platformDefaultIconDatabasePath):
36074 (WebKit::WebContext::platformDefaultLocalStorageDirectory):
36076 2011-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
36078 [GTK] Use WKRetainPtr for WK types in WebKit2 GTK+
36079 https://bugs.webkit.org/show_bug.cgi?id=69404
36081 Reviewed by Martin Robinson.
36083 * UIProcess/API/gtk/WebKitWebContext.cpp:
36084 (webkitWebContextFinalize):
36085 (createDefaultWebContext):
36086 (webkitWebContextGetWKContext):
36087 * UIProcess/API/gtk/WebKitWebView.cpp:
36088 (webkit_web_view_load_uri):
36089 (webkit_web_view_load_alternate_html):
36091 2011-10-04 Kent Tamura <tkent@chromium.org>
36093 Introduce feature flags for incomplete input types
36094 https://bugs.webkit.org/show_bug.cgi?id=68971
36096 Reviewed by Hajime Morita.
36098 * Configurations/FeatureDefines.xcconfig:
36099 Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
36101 2011-10-04 Scott Graham <scottmg@chromium.org>
36103 Add GAMEPAD feature flag
36104 https://bugs.webkit.org/show_bug.cgi?id=66859
36106 Reviewed by Darin Fisher.
36108 * Configurations/FeatureDefines.xcconfig:
36110 2011-10-04 Ada Chan <adachan@apple.com>
36112 toURLRef() in WKSharedAPICast.h should return null for a null string
36113 https://bugs.webkit.org/show_bug.cgi?id=69380
36115 Reviewed by Jon Honeycutt.
36117 * Shared/API/c/WKSharedAPICast.h:
36118 (WebKit::toURLRef): Add the missing "return" for the null string case.
36120 2011-10-04 Alexey Proskuryakov <ap@apple.com>
36122 https://bugs.webkit.org/show_bug.cgi?id=67774
36123 PDF in a frameset is not displayed, always downloads
36125 Reviewed by Darin Adler.
36127 * WebKit2.xcodeproj/project.pbxproj:
36128 * WebProcess/Plugins/PDF: Added.
36129 Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes,
36130 objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression.
36132 * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a
36133 plug-in for PDF, so that it instantiates it in a regular fashion.
36135 * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show
36136 PDF not only in main frame.
36138 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of
36139 ScrollableArea now, which can render the first page of a PDF. Further improvements to come.
36141 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added.
36143 * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance
36144 to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable.
36146 * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since
36147 some ScrollableArea methods are const.
36149 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints
36150 at updatingControlTints phase.
36152 * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to
36153 use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate
36154 that PluginView has so much NPAPI specific code, but that's how it is now.
36156 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in
36157 installed for PDF, instantiate built-in one.
36159 2011-10-04 Jon Lee <jonlee@apple.com>
36161 REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview
36162 https://bugs.webkit.org/show_bug.cgi?id=68412
36163 <rdar://problem/9988252>
36165 Reviewed by Darin Adler.
36167 In WK1 setInitialFocus() is called on FocusController with the key event that
36168 caused the web view to become first responder. In WK2 no event is sent. So if
36169 the key stroke that caused the change in first responder status contains the
36170 option modifier key, FocusController did not know that it had to switch behavior.
36172 Because there are multiple ways that the WKView can becomeFirstResponder, I changed
36173 the signature to setInitialFocus to express whether the key event parameter is an
36176 * UIProcess/API/C/win/WKView.cpp:
36177 (WKViewSetInitialFocus):
36178 * UIProcess/API/mac/WKView.mm:
36179 (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if
36180 the event is a keyboard event, otherwise pass an empty event.
36181 * UIProcess/WebPageProxy.cpp:
36182 (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that
36183 the event that caused the initial focus was a keyboard event, and provide the keyboard
36185 * UIProcess/WebPageProxy.h:
36186 * UIProcess/win/WebView.cpp:
36187 (WebKit::WebView::setInitialFocus):
36188 * UIProcess/win/WebView.h:
36189 * WebProcess/WebPage/WebPage.cpp:
36190 (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard
36191 event, we pass that event to the FocusController. Otherwise we fall back to the original
36192 behavior, which is to pass no event at all.
36193 * WebProcess/WebPage/WebPage.h:
36194 * WebProcess/WebPage/WebPage.messages.in:
36196 2011-10-04 Jeff Miller <jeffm@apple.com>
36198 WKPreferences should allow control of application chrome mode
36199 https://bugs.webkit.org/show_bug.cgi?id=69344
36201 Reviewed by Dan Bernstein.
36203 * Shared/WebPreferencesStore.h: Add application chrome mode setting to FOR_EACH_WEBKIT_BOOL_PREFERENCE().
36205 * UIProcess/API/C/WKPreferences.cpp:
36206 (WKPreferencesSetApplicationChromeModeEnabled): Added.
36207 (WKPreferencesGetApplicationChromeModeEnabled): Added.
36209 * UIProcess/API/C/WKPreferencesPrivate.h: Added WKPreferencesSetApplicationChromeModeEnabled() and WKPreferencesGetApplicationChromeModeEnabled().
36211 * WebProcess/WebPage/WebPage.cpp:
36212 (WebKit::WebPage::updatePreferences): Set application chrome mode setting.
36214 2011-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
36216 [GTK] Implement default error pages in WebKit2 GTK+ API
36217 https://bugs.webkit.org/show_bug.cgi?id=69255
36219 Reviewed by Martin Robinson.
36221 * UIProcess/API/gtk/WebKitError.cpp:
36222 (webkit_policy_error_quark): Add quark for policy errors.
36223 (webkit_plugin_error_quark): Add quark for plugin errors.
36224 * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors.
36225 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36226 (webkitWebLoaderClientLoadFailed): Load a custom error page when
36227 load failed and signal has not been handled.
36228 (webkit_web_loader_client_class_init): Add default implementation
36229 for provisional_load_failed and load_failed virtual methods.
36231 2011-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
36233 [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API
36234 https://bugs.webkit.org/show_bug.cgi?id=69254
36236 Reviewed by Martin Robinson.
36238 * UIProcess/API/gtk/WebKitWebView.cpp:
36239 (webkit_web_view_load_alternate_html):
36240 * UIProcess/API/gtk/WebKitWebView.h:
36241 * UIProcess/API/gtk/tests/testloading.c:
36242 (loadAlternateContentLoadFinished):
36243 (loadAlternateContentLoadFailed):
36244 (testLoadAlternateContent):
36247 2011-10-03 Jon Lee <jonlee@apple.com>
36249 Extend DOM WheelEvent to differentiate between physical and logical scroll directions
36250 https://bugs.webkit.org/show_bug.cgi?id=68959
36251 <rdar://problem/10036688>
36253 Reviewed by Sam Weinig.
36255 * Shared/WebEvent.h:
36256 (WebKit::WebWheelEvent::directionInvertedFromDevice):
36257 * Shared/WebEventConversion.cpp:
36258 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
36259 * Shared/WebWheelEvent.cpp:
36260 (WebKit::WebWheelEvent::WebWheelEvent):
36261 (WebKit::WebWheelEvent::encode):
36262 (WebKit::WebWheelEvent::decode):
36263 * Shared/mac/WebEventFactory.mm:
36264 (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent.
36265 * UIProcess/WebPageProxy.cpp:
36266 (WebKit::coalesce):
36268 2011-10-04 Nayan Kumar K <nayankk@motorola.com>
36270 [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK.
36271 https://bugs.webkit.org/show_bug.cgi?id=69325
36273 Reviewed by Gustavo Noronha Silva.
36275 Documentation generation for WebKit2-GTK+ APIs
36278 * GNUmakefile.am: Added doc generation files to EXTRA_DIST.
36279 * UIProcess/API/gtk/docs/GNUmakefile.am: Makefile for doc generation.
36280 * UIProcess/API/gtk/docs/version.xml.in: Version information.
36281 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Document template.
36282 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Document sections added.
36283 * UIProcess/API/gtk/docs/webkit2gtk.types: Added GObjects types.
36285 2011-10-04 Nayan Kumar K <nayankk@motorola.com>
36287 [WebKit2][gtk] Fix warnings while generating documentation using gtk-doc.
36288 https://bugs.webkit.org/show_bug.cgi?id=69329
36290 Reviewed by Martin Robinson.
36292 Added documentation for WebKitNetworkError enum and corrected few other
36293 minor issues in WebKit2-GTK+ API documentation.
36295 * UIProcess/API/gtk/WebKitError.h: Added documentation for WebKitNetworkError.
36296 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36297 (webkit_web_loader_client_class_init): Corrected parameter name.
36298 * UIProcess/API/gtk/WebKitWebView.cpp: Corrected annotation.
36300 2011-10-04 Vsevolod Vlasov <vsevik@chromium.org>
36302 Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
36303 https://bugs.webkit.org/show_bug.cgi?id=69332
36305 Reviewed by Pavel Feldman.
36308 * win/WebKit2CFLite.def:
36310 2011-10-03 Anders Carlsson <andersca@apple.com>
36312 Content area does not return to the correct position after rubberbanding
36313 https://bugs.webkit.org/show_bug.cgi?id=69302
36314 <rdar://problem/10102886>
36316 Reviewed by Sam Weinig.
36318 Make sure to schedule a display after adding to the dirty region.
36320 * WebProcess/WebPage/DrawingAreaImpl.cpp:
36321 (WebKit::DrawingAreaImpl::scroll):
36323 2011-10-03 Anders Carlsson <andersca@apple.com>
36325 Remove custom scrollbar painting hooks
36326 https://bugs.webkit.org/show_bug.cgi?id=69163
36328 Remove overridden ChromeClient member functions.
36330 Reviewed by Alexey Proskuryakov.
36332 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36333 * WebProcess/WebCoreSupport/WebChromeClient.h:
36335 2011-10-03 Jer Noble <jer.noble@apple.com>
36337 Unreviewed, rolling out r96526.
36338 http://trac.webkit.org/changeset/96526
36339 https://bugs.webkit.org/show_bug.cgi?id=68587
36341 WEB_AUDIO has numerous 64->32 bit casting warnings, causing
36342 build breakages where -Wall is enabled.
36344 * Configurations/FeatureDefines.xcconfig:
36346 2011-10-03 Jer Noble <jer.noble@apple.com>
36348 Enable WEB_AUDIO by default in the WebKit/mac port.
36349 https://bugs.webkit.org/show_bug.cgi?id=68587
36351 Reviewed by Simon Fraser.
36353 * Configurations/FeatureDefines.xcconfig:
36355 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
36357 [GTK] Add failing uri parameter to provisional-load-failed and load-failed signals
36358 https://bugs.webkit.org/show_bug.cgi?id=69252
36360 Reviewed by Martin Robinson.
36362 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36363 (didFailProvisionalLoadWithErrorForFrame): Pass failing URL to
36365 (didFailLoadWithErrorForFrame): Ditto.
36366 (webkit_web_loader_client_class_init): Add failing URL parameter
36367 to provisional-load-failed and load-failed signals.
36368 * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36369 * UIProcess/API/gtk/tests/testloading.c:
36370 (loadStatusProvisionalLoadFailed): Update to API changes.
36371 (loadStatusLoadFailed): Ditto.
36372 (loadErrorProvisionalLoadFailed): Ditto.
36373 * UIProcess/API/gtk/webkit2marshal.list:
36375 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
36377 [GTK] Fix memory leak when loading url
36378 https://bugs.webkit.org/show_bug.cgi?id=69247
36380 Reviewed by Martin Robinson.
36382 Release URL created with WKURLCreateWithUTF8CString().
36384 * UIProcess/API/gtk/WebKitWebView.cpp:
36385 (webkit_web_view_load_uri):
36387 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
36389 [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin()
36390 https://bugs.webkit.org/show_bug.cgi?id=69147
36392 Reviewed by Martin Robinson.
36394 * Shared/Plugins/Netscape/NetscapePluginModule.h:
36395 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36396 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
36397 (WebKit::NetscapePluginModule::getPluginInfo):
36399 2011-10-03 Zeno Albisser <zeno.albisser@nokia.com>
36401 [Qt][WebKit2][Mac] WebProcess should exit automatically when UIProcess dies.
36402 https://bugs.webkit.org/show_bug.cgi?id=68439
36404 We use a dispatch queue and a dispatch source in the WebProcess
36405 to receive a notification when the UI Process dies.
36406 The WebProcess then commits suicide.
36408 Reviewed by Andreas Kling.
36410 * WebProcess/qt/WebProcessQt.cpp:
36411 (WebKit::parentProcessDiedCallback):
36412 (WebKit::WebProcess::platformInitializeWebProcess):
36414 2011-10-02 Zeno Albisser <zeno.albisser@nokia.com>
36416 [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
36417 https://bugs.webkit.org/show_bug.cgi?id=69223
36419 After the merge of the Qt5 refactor branch, networking stuff has been
36420 extracted into a separate library. The qmlplugin needs to link to that
36421 library to get QNetworkReply defined.
36423 Reviewed by Noam Rosenthal.
36425 * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
36427 2011-10-01 Geoffrey Garen <ggaren@apple.com>
36429 Removed redundant helper functions for allocating Strong handles
36430 https://bugs.webkit.org/show_bug.cgi?id=69218
36432 Reviewed by Sam Weinig.
36434 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
36435 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
36437 2011-09-30 Sam Weinig <sam@webkit.org>
36439 Add support for eventSender.mouseScrollBy in WTR
36440 https://bugs.webkit.org/show_bug.cgi?id=69189
36442 Reviewed by Simon Fraser.
36444 * UIProcess/WebPageProxy.cpp:
36445 (WebKit::WebPageProxy::handleWheelEvent):
36446 * WebProcess/WebPage/WebPage.cpp:
36447 (WebKit::WebPage::wheelEventSyncForTesting):
36448 * WebProcess/WebPage/WebPage.h:
36449 * WebProcess/WebPage/WebPage.messages.in:
36450 Add sync version of wheel event handling for use in testing.
36452 2011-09-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
36454 [Qt] Add missing include for QMimeData
36455 https://bugs.webkit.org/show_bug.cgi?id=69178
36457 Reviewed by Tor Arne Vestbø.
36459 This was implicitly included by other headers, but due to changes in
36460 Qt5 we need to include explicitly.
36462 * UIProcess/qt/QtWebPageProxy.cpp:
36463 * WebProcess/WebPage/WebPage.cpp:
36465 2011-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
36467 [Qt] Prevent qDebug() output from DRT and WTR unless --verbose
36469 For DRT we didn't install the message handler early enough to
36470 catch output while constructing the QApplication. For WTR we
36471 didn't even install a message handler.
36473 Since the UI process will forward any output from the web process
36474 we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT
36475 in WTR before the web process is started. This is picked up by the
36476 web process which installs its own message handler.
36478 The environment variable can be overriden on the command line if you
36479 want to see output from the web process, or you can pass --verbose to
36480 WTR to see output from both processes.
36482 https://bugs.webkit.org/show_bug.cgi?id=69132
36484 Reviewed by Andreas Kling.
36486 * WebProcess/qt/WebProcessMainQt.cpp:
36488 2011-09-30 Anders Carlsson <andersca@apple.com>
36490 Remove didCompleteRubberBandForMainFrame UIClient callback
36491 https://bugs.webkit.org/show_bug.cgi?id=69161
36493 Reviewed by Adam Roben.
36495 * UIProcess/API/C/WKPage.h:
36496 * UIProcess/WebPageProxy.cpp:
36497 * UIProcess/WebPageProxy.h:
36498 * UIProcess/WebPageProxy.messages.in:
36499 * UIProcess/WebUIClient.cpp:
36500 * UIProcess/WebUIClient.h:
36501 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36502 (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
36504 2011-09-30 Qi Zhang <qi.2.zhang@nokia.com>
36506 WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
36507 https://bugs.webkit.org/show_bug.cgi?id=42698
36509 Reviewed by Andreas Kling.
36511 Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
36512 and call clearApplicationCache when layoutTest start up.
36514 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
36515 (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
36516 * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
36517 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
36518 (WKBundleClearApplicationCache):
36519 (WKBundleSetAppCacheMaximumSize):
36520 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
36521 * WebProcess/InjectedBundle/InjectedBundle.cpp:
36522 (WebKit::InjectedBundle::clearApplicationCache):
36523 (WebKit::InjectedBundle::setAppCacheMaximumSize):
36524 * WebProcess/InjectedBundle/InjectedBundle.h:
36526 2011-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
36528 [UNIX] Add a method to get information for an already loaded plugin module
36529 https://bugs.webkit.org/show_bug.cgi?id=69139
36531 Reviewed by Martin Robinson.
36533 * Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
36534 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36535 (WebKit::NetscapePluginModule::pluginInfo): Private method to get
36536 the plugin information from the module, it must be called when the
36537 module has been already initialized.
36538 (WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
36539 get information of the plugin module for the given path.
36541 2011-09-30 Zeno Albisser <zeno.albisser@nokia.com>
36543 [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
36544 https://bugs.webkit.org/show_bug.cgi?id=69105
36546 This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
36547 of QGraphicsSceneMouseEvent.
36548 Further it removes an endless loop introduced by the QSGItem::event() function
36549 delivering inputMethodEvents but no other events.
36551 Reviewed by Andreas Kling.
36553 * Shared/NativeWebMouseEvent.h:
36554 (WebKit::NativeWebMouseEvent::nativeEvent):
36555 * Shared/NativeWebWheelEvent.h:
36556 (WebKit::NativeWebWheelEvent::nativeEvent):
36557 * Shared/qt/NativeWebMouseEventQt.cpp:
36558 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
36559 * Shared/qt/NativeWebWheelEventQt.cpp:
36560 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
36561 * Shared/qt/WebEventFactoryQt.cpp:
36562 (WebKit::mouseButtonForEvent):
36563 (WebKit::webEventTypeForEvent):
36564 (WebKit::WebEventFactory::createWebMouseEvent):
36565 (WebKit::WebEventFactory::createWebWheelEvent):
36566 * Shared/qt/WebEventFactoryQt.h:
36567 * UIProcess/API/qt/qdesktopwebview.cpp:
36568 (QDesktopWebView::mousePressEvent):
36569 (QDesktopWebView::mouseMoveEvent):
36570 (QDesktopWebView::mouseReleaseEvent):
36571 (QDesktopWebView::mouseDoubleClickEvent):
36572 (QDesktopWebView::wheelEvent):
36573 (QDesktopWebView::event):
36574 * UIProcess/API/qt/qdesktopwebview.h:
36575 * UIProcess/qt/qdesktopwebpageproxy.cpp:
36576 (QDesktopWebPageProxy::handleEvent):
36577 (QDesktopWebPageProxy::handleMouseMoveEvent):
36578 (QDesktopWebPageProxy::handleMousePressEvent):
36579 (QDesktopWebPageProxy::handleMouseReleaseEvent):
36580 (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
36581 (QDesktopWebPageProxy::handleWheelEvent):
36582 (QDesktopWebPageProxy::handleHoverMoveEvent):
36583 * UIProcess/qt/qdesktopwebpageproxy.h:
36585 2011-09-29 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
36587 Initial implementation of WebInspector for WebKit2 GTK port.
36588 https://bugs.webkit.org/show_bug.cgi?id=68235
36590 Reviewed by Martin Robinson.
36592 * UIProcess/WebInspectorProxy.cpp:
36593 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
36594 * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
36595 * UIProcess/gtk/WebInspectorGtk.cpp:
36596 (WebKit::inspectorFilesBasePath): Base folder for inspector resources.
36597 (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
36598 (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
36599 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
36600 (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
36601 (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
36602 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
36603 (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
36604 (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
36605 WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.
36607 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
36609 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36611 QWidget and friends now live in the QtWidgets library. We update
36612 includes in implementation files and private headers to us the
36613 non-module-prefixed path, and leave the lookup for the include
36614 path. For public headers we have to ifdef the includes as the
36615 user might now have the modules we need in his QT config.
36617 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36618 have to update our code and use windowHandle() for setting the
36619 parent relationships.
36621 https://bugs.webkit.org/show_bug.cgi?id=68687
36623 Reviewed by Andreas Kling.
36625 * UIProcess/API/qt/qdesktopwebview.cpp:
36626 * UIProcess/API/qt/qdesktopwebview.h:
36627 * UIProcess/API/qt/tests/tests.pro:
36628 * UIProcess/qt/ViewInterface.h:
36629 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36631 2011-09-29 Carlos Garcia Campos <cgarcia@igalia.com>
36633 [GTK] Force single header include in WebKit2 GTK+ API
36634 https://bugs.webkit.org/show_bug.cgi?id=69084
36636 Reviewed by Martin Robinson.
36638 Only <webkit2/webkit2.h> will be allowed for API users.
36641 * UIProcess/API/gtk/WebKitError.h:
36642 * UIProcess/API/gtk/WebKitWebContext.h:
36643 * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36644 * UIProcess/API/gtk/WebKitWebView.h:
36645 * UIProcess/API/gtk/WebKitWebViewBase.h:
36646 * UIProcess/API/gtk/webkit2.h:
36648 2011-09-29 Carlos Garcia Campos <cgarcia@igalia.com>
36650 [GTK] Explicitly call destructors for objects initialized with placement new syntax
36651 https://bugs.webkit.org/show_bug.cgi?id=69079
36653 Reviewed by Xan Lopez.
36655 * UIProcess/API/gtk/WebKitWebContext.cpp:
36656 (webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
36657 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36658 (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
36659 (webkit_web_loader_client_class_init):
36660 * UIProcess/API/gtk/WebKitWebView.cpp:
36661 (webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
36662 (webkit_web_view_class_init):
36664 2011-09-28 Martin Robinson <mrobinson@igalia.com>
36666 Fix the WebGL build on WebKit2 GTK+.
36668 * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets.
36670 2011-09-28 Brent Fulgham <bfulgham@webkit.org>
36672 WinCairo build fix.
36674 * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h>
36676 2011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
36678 One more shot at fixing GTK+, this seems to make the dependencies
36683 2011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
36685 GTK+ build fix 3 - the return of the marshal.
36689 2011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
36691 Second try at fixing the GTK+ build.
36695 2011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
36697 Try to fix GTK+ build.
36701 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com>
36703 [GTK] Fix webkit2 unit tests in debug builds
36704 https://bugs.webkit.org/show_bug.cgi?id=69006
36706 Reviewed by Martin Robinson.
36708 We are currently using the WorQueue name as thread name which in
36709 this moment can be com.apple.WebKit.ProcessLauncher or
36710 com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31
36711 characters which is the limit of Visual Studio for thread
36712 names. When log is enabled createThread() will assert instead of
36713 truncate the name, so we need to make sure we don't use a name
36714 longer than 31 characters.
36716 * Platform/gtk/WorkQueueGtk.cpp:
36717 (WorkQueue::platformInitialize):
36719 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com>
36721 [GTK] Loader client implementation for WebKit2 GTK+ API
36722 https://bugs.webkit.org/show_bug.cgi?id=68085
36724 Reviewed by Martin Robinson.
36726 Adds a new object, WebKitWebLoaderClient, that emits signals for
36727 every page loader callback.
36729 * GNUmakefile.am: Add new files to compilation.
36730 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added.
36731 (didStartProvisionalLoadForFrame):
36732 (didReceiveServerRedirectForProvisionalLoadForFrame):
36733 (didFailProvisionalLoadWithErrorForFrame):
36734 (didCommitLoadForFrame):
36735 (didFinishLoadForFrame):
36736 (didFailLoadWithErrorForFrame):
36737 (webkitWebLoaderClientConstructed):
36738 (webkitWebLoaderClientSetProperty):
36739 (webkitWebLoaderClientGetProperty):
36740 (webkit_web_loader_client_init):
36741 (webkit_web_loader_client_class_init):
36742 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added.
36743 * UIProcess/API/gtk/WebKitWebView.cpp:
36744 (webkitWebViewConstructed): Create the loader client for the view.
36745 (webkit_web_view_init):
36746 (webkit_web_view_get_loader_client): Get the current loader client.
36747 (webkit_web_view_set_loader_client): Set a new loader client.
36748 * UIProcess/API/gtk/WebKitWebView.h:
36749 * UIProcess/API/gtk/tests/testloading.c: Added.
36751 (webLoadingFixtureSetup):
36752 (webLoadingFixtureTeardown):
36754 (loadStatusProvisionalLoadStarted):
36755 (loadStatusProvisionalLoadReceivedServerRedirect):
36756 (loadStatusProvisionalLoadFailed):
36757 (loadStatusLoadCommitted):
36758 (loadStatusLoadFinished):
36759 (loadStatusLoadFailed):
36760 (testLoadingStatus):
36761 (loadErrorProvisionalLoadStarted):
36762 (loadErrorProvisionalLoadFailed):
36763 (loadErrorLoadFinished):
36764 (testLoadingError):
36766 * UIProcess/API/gtk/webkit2marshal.list: Added.
36768 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com>
36770 [GTK] Add WebKitError to GTK+ WebKit2 API
36771 https://bugs.webkit.org/show_bug.cgi?id=68508
36773 Reviewed by Martin Robinson.
36775 Add WebKitNetworkError enum to define network errors.
36777 * GNUmakefile.am: Add new files to compilation.
36778 * UIProcess/API/gtk/WebKitError.cpp: Added.
36779 (webkit_network_error_quark):
36780 * UIProcess/API/gtk/WebKitError.h:
36781 * UIProcess/API/gtk/WebKitPrivate.h: Add
36782 COMPILE_ASSERT_MATCHING_ENUM macro.
36783 * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and
36786 2011-09-28 Carlos Garcia Campos <cgarcia@igalia.com>
36788 [GTK] Fix Programs/unittests/webkit2/testwebview
36789 https://bugs.webkit.org/show_bug.cgi?id=68993
36791 Reviewed by Philippe Normand.
36793 * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH.
36794 * UIProcess/API/gtk/tests/testwebview.c:
36795 (main): Get WebProcess path from WEBKIT_EXEC_PATH environment
36798 2011-09-27 Mark Hahnenberg <mhahnenberg@apple.com>
36800 Add static version of JSCell::getCallData
36801 https://bugs.webkit.org/show_bug.cgi?id=68741
36803 Reviewed by Darin Adler.
36805 In this patch we just extract the bodies of the virtual getCallData methods
36806 throughout the JSCell inheritance hierarchy out into static methods, which are
36807 now called from the virtual methods. This is an intermediate step in trying to
36808 move the virtual-ness of getCallData into our own method table stored in
36809 ClassInfo. We need to convert the methods to static methods because static methods
36810 can be represented as function pointers rather than pointers to member functions, and
36811 function pointers are smaller and faster to call than pointers to member functions.
36813 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
36814 (WebKit::JSNPMethod::getCallDataVirtual):
36815 (WebKit::JSNPMethod::getCallData):
36816 * WebProcess/Plugins/Netscape/JSNPMethod.h:
36817 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
36818 (WebKit::JSNPObject::getCallDataVirtual):
36819 (WebKit::JSNPObject::getCallData):
36820 * WebProcess/Plugins/Netscape/JSNPObject.h:
36822 2011-09-27 Gopal Raghavan <gopal.1.raghavan@nokia.com>
36824 [Qt] QDesktopWebView load zero size view test missing
36825 https://bugs.webkit.org/show_bug.cgi?id=68655
36827 Reviewed by Chang Shu.
36829 Added test case to check load behavior with zero size view.
36831 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
36832 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36834 2011-09-27 Carlos Garcia Campos <cgarcia@igalia.com>
36836 [GTK] Use WebKitWebContext in WebKitWebView
36837 https://bugs.webkit.org/show_bug.cgi?id=67990
36839 Reviewed by Martin Robinson.
36841 Use webkit_web_context_get_default() instead of
36842 WKContextGetSharedProcessContext() and add API to create a view
36843 with a given web context and to return the current context
36844 associated to the view.
36846 * GNUmakefile.am: Add new files to compilation.
36847 * UIProcess/API/gtk/WebKitPrivate.h: Added.
36848 * UIProcess/API/gtk/WebKitWebContext.cpp:
36849 (webkitWebContextGetWKContext): Private API to get the WKContext
36850 wrapped by the WebKitWebContext.
36851 * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
36852 * UIProcess/API/gtk/WebKitWebView.cpp:
36853 (webkitWebViewConstructed): Create the webpage using the web
36854 context of the view.
36855 (webkitWebViewSetProperty):
36856 (webkitWebViewGetProperty):
36857 (webkit_web_view_init):
36858 (webkit_web_view_class_init):
36859 (webkit_web_view_new): Create a new view with the default context.
36860 (webkit_web_view_new_with_context): Create a new view with the
36862 (webkit_web_view_get_context): Return the context.
36863 * UIProcess/API/gtk/WebKitWebView.h:
36864 * UIProcess/API/gtk/tests/testwebview.c: Added.
36865 (testWebViewDefaultContext):
36868 2011-09-27 Carlos Garcia Campos <cgarcia@igalia.com>
36871 [GTK] Add WebKitWebContext to GTK API
36872 https://bugs.webkit.org/show_bug.cgi?id=67931
36874 Reviewed by Philippe Normand.
36876 Initial implementation of WebKitWebContext for WebKit2 GTK API.
36878 * GNUmakefile.am: Add new files to compilation.
36879 * UIProcess/API/gtk/WebKitWebContext.cpp: Added.
36880 (webkitWebContextFinalize):
36881 (webkit_web_context_init):
36882 (webkit_web_context_class_init):
36883 (createDefaultWebContext):
36884 (webkit_web_context_get_default):
36885 * UIProcess/API/gtk/WebKitWebContext.h: Added.
36886 * UIProcess/API/gtk/tests/testwebcontext.c:
36887 (testWebContextDefault):
36889 * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.
36891 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
36893 Unreviewed, rolling out r96108, r96111, r96113, and r96116.
36894 http://trac.webkit.org/changeset/96108
36895 http://trac.webkit.org/changeset/96111
36896 http://trac.webkit.org/changeset/96113
36897 http://trac.webkit.org/changeset/96116
36898 https://bugs.webkit.org/show_bug.cgi?id=68913
36900 Wait for working Qt5 (Requested by ossy on #webkit).
36902 * UIProcess/API/qt/qdesktopwebview.cpp:
36903 (QDesktopWebViewPrivate::startDrag):
36904 (QDesktopWebViewPrivate::didChangeToolTip):
36905 (QDesktopWebViewPrivate::didChangeCursor):
36906 (QDesktopWebViewPrivate::showContextMenu):
36907 (QDesktopWebViewPrivate::chooseFiles):
36908 * UIProcess/API/qt/qdesktopwebview.h:
36909 * UIProcess/API/qt/tests/tests.pri:
36910 * UIProcess/API/qt/tests/tests.pro:
36911 * UIProcess/qt/ViewInterface.h:
36912 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36913 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
36915 2011-09-27 Carlos Garcia Campos <cgarcia@igalia.com>
36917 [GTK] Rename WebKit2 GTK+ API main header as webkit2.h
36918 https://bugs.webkit.org/show_bug.cgi?id=65178
36920 Reviewed by Martin Robinson.
36922 * GNUmakefile.am: Add webkit2.h.
36923 * UIProcess/API/gtk/WebKitWebView.h:
36924 * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
36925 * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.
36927 2011-09-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
36929 [Qt] Fix build of WebKit2 unit-tests after r96108
36931 Reviewed by Andreas Kling.
36933 * UIProcess/API/qt/tests/tests.pri:
36935 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
36937 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36939 QWidget and friends now live in the QtWidgets library. We update
36940 includes in implementation files and private headers to us the
36941 non-module-prefixed path, and leave the lookup for the include
36942 path. For public headers we have to ifdef the includes as the
36943 user might now have the modules we need in his QT config.
36945 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36946 have to update our code and use windowHandle() for setting the
36947 parent relationships.
36949 https://bugs.webkit.org/show_bug.cgi?id=68687
36951 Reviewed by Andreas Kling.
36953 * UIProcess/API/qt/qdesktopwebview.cpp:
36954 * UIProcess/API/qt/qdesktopwebview.h:
36955 * UIProcess/API/qt/tests/tests.pro:
36956 * UIProcess/qt/ViewInterface.h:
36957 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36959 2011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
36961 [Qt][WK2] Add support for hover API in Qt WebKit2
36962 https://bugs.webkit.org/show_bug.cgi?id=68369
36964 Reviewed by Andreas Kling.
36966 Based on the patch from Igor Oliveira in the same bug.
36968 Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
36969 QString corresponding to the link title. I left textContent out because was
36970 unsure of its use case.
36972 In QDesktopWebView we store the last URL and title emitted to make sure we send
36973 the signal only if either value changes. Tests were added to the QML element to
36974 check: if values are correctly emitted and if we don't emit more signals than
36977 * UIProcess/API/qt/qdesktopwebview.cpp:
36978 (QDesktopWebViewPrivate::didMouseMoveOverElement):
36979 * UIProcess/API/qt/qdesktopwebview.h:
36980 * UIProcess/API/qt/qdesktopwebview_p.h:
36981 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
36982 * UIProcess/API/qt/tests/qmltests/common/test2.html:
36983 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36984 * UIProcess/qt/ClientImpl.cpp:
36985 (qt_wk_mouseDidMoveOverElement):
36986 * UIProcess/qt/ClientImpl.h:
36987 * UIProcess/qt/QtWebPageProxy.cpp:
36988 (QtWebPageProxy::init):
36989 * UIProcess/qt/TouchViewInterface.h:
36990 (WebKit::TouchViewInterface::didMouseMoveOverElement):
36991 * UIProcess/qt/ViewInterface.h:
36993 2011-09-27 Alexis Menard <alexis.menard@openbossa.org>
36995 [Qt][WK2] API fixes for QML, the signal parameters needs to be named.
36996 https://bugs.webkit.org/show_bug.cgi?id=68889
36998 Reviewed by Andreas Kling.
37000 Signal parameters needs to be explicitly named in QML to be accessible.
37001 This patch fix this problem.
37003 * UIProcess/API/qt/qdesktopwebview.h:
37004 * UIProcess/API/qt/qtouchwebpage.h:
37006 2011-09-27 Alexis Menard <alexis.menard@openbossa.org>
37008 [Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
37009 https://bugs.webkit.org/show_bug.cgi?id=68848
37011 Reviewed by Andreas Kling.
37013 The presence of the FINAL attribute indicates that the property will not be
37014 overridden by a derived class. This can be used for performance optimizations
37017 * UIProcess/API/qt/qdesktopwebview.h:
37018 * UIProcess/API/qt/qtouchwebpage.h:
37019 * UIProcess/API/qt/qtouchwebview.h:
37020 * UIProcess/API/qt/qwebnavigationcontroller.h:
37022 2011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
37024 [Qt] Fix WK2 build after r96014
37025 https://bugs.webkit.org/show_bug.cgi?id=68856
37027 Reviewed by Gustavo Noronha Silva.
37029 Commit r96014 added inspectorBaseURL for Qt but removed
37030 inspectorPageURL, adding it back.
37032 * UIProcess/qt/WebInspectorProxyQt.cpp:
37033 (WebKit::WebInspectorProxy::inspectorPageURL):
37035 2011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
37037 [Qt] [WK2] Fix build after r95982
37038 https://bugs.webkit.org/show_bug.cgi?id=68842
37040 Reviewed by Anders Carlsson.
37042 The patch in r95982 removed the paint() function, because it was doing
37043 nothing (in both implementations). This patch remove the call we had
37044 for it to fix the build.
37046 * UIProcess/qt/qtouchwebpageproxy.cpp:
37047 (QTouchWebPageProxy::paintContent):
37049 2011-09-26 Alexey Proskuryakov <ap@apple.com>
37051 REGRESSION (r95747): Activating the web inspector causes the web process to be killed
37052 https://bugs.webkit.org/show_bug.cgi?id=68762
37054 Reviewed by Anders Carlsson.
37056 * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage):
37057 Tell Web process that loading resources from WebCore resources directory is OK.
37059 * UIProcess/WebPageProxy.cpp:
37060 (WebKit::WebPageProxy::loadHTMLString):
37061 (WebKit::WebPageProxy::loadAlternateHTMLString):
37062 * UIProcess/WebProcessProxy.cpp:
37063 (WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
37064 * UIProcess/WebProcessProxy.h:
37065 Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL.
37067 * UIProcess/WebInspectorProxy.h:
37068 * UIProcess/efl/WebInspectorEfl.cpp:
37069 (WebKit::WebInspectorProxy::inspectorBaseURL):
37070 * UIProcess/gtk/WebInspectorGtk.cpp:
37071 (WebKit::WebInspectorProxy::inspectorBaseURL):
37072 * UIProcess/mac/WebInspectorProxyMac.mm:
37073 (WebKit::WebInspectorProxy::inspectorBaseURL):
37074 * UIProcess/qt/WebInspectorProxyQt.cpp:
37075 (WebKit::WebInspectorProxy::inspectorBaseURL):
37076 * UIProcess/win/WebInspectorProxyWin.cpp:
37077 (WebKit::WebInspectorProxy::inspectorBaseURL):
37078 Report what base directory Inspector has access to.
37080 2011-09-26 Nayan Kumar K <nayankk@motorola.com>
37082 Added WKHitTestResult API's.
37084 WKHitTestResult API's are added. These API's can be used to
37085 get the hover'ed link/image/media URL as well as link lable and
37087 https://bugs.webkit.org/show_bug.cgi?id=68426
37089 Reviewed by Anders Carlsson.
37093 * UIProcess/API/C/WKHitTestResult.cpp: Added.
37094 (WKHitTestResultGetTypeID):
37095 (WKHitTestResultCopyAbsoluteImageURL):
37096 (WKHitTestResultCopyAbsoluteLinkURL):
37097 (WKHitTestResultCopyAbsoluteMediaURL):
37098 (WKHitTestResultCopyLinkLabel):
37099 (WKHitTestResultCopyLinkTitle):
37100 * UIProcess/API/C/WKHitTestResult.h: Added.
37101 * UIProcess/API/C/WebKit2.h:
37102 * WebKit2.xcodeproj/project.pbxproj:
37104 * win/WebKit2.vcproj:
37105 * win/WebKit2Generated.make:
37107 2011-09-26 Csaba Osztrogonác <ossy@webkit.org>
37109 [Qt][WK2]Unreviewed speculative buildfix after r95968.
37111 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37112 (WebKit::WebChromeClient::contentsSizeChanged):
37114 2011-09-26 Anders Carlsson <andersca@apple.com>
37116 Remove an old DrawingAreaProxy::paint member function
37117 https://bugs.webkit.org/show_bug.cgi?id=68825
37119 Reviewed by Dan Bernstein.
37121 * UIProcess/DrawingAreaProxy.h:
37122 * UIProcess/DrawingAreaProxyImpl.cpp:
37123 * UIProcess/DrawingAreaProxyImpl.h:
37124 * UIProcess/TiledDrawingAreaProxy.cpp:
37125 * UIProcess/TiledDrawingAreaProxy.h:
37127 2011-09-26 Jer Noble <jer.noble@apple.com>
37129 White flash when entering full-screen using element.webkitRequestFullScreen()
37130 https://bugs.webkit.org/show_bug.cgi?id=68481
37132 Reviewed by Simon Fraser.
37134 Do not re-enable screen updates after exiting compositing mode until a repaint has completed.
37136 * UIProcess/mac/WKFullScreenWindowController.mm:
37137 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
37138 (continueExitCompositingModeAfterRepaintCallback):
37139 (-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):
37141 2011-09-23 Simon Fraser <simon.fraser@apple.com>
37143 Repaint tests don't work in WebKit2
37144 https://bugs.webkit.org/show_bug.cgi?id=68453
37146 Reviewed by Sam Weinig.
37148 Expose WKBundlePage methods to turn on repaint rect tracking
37149 in WebKit2, for WebKitTestRunner.
37151 As part of the change, expose utility methods on WebPage
37152 to get the main Frame and FrameView, which required renaming
37153 the exisiting method that returns a WebFrame. Fix callers
37154 of that method to handle null when necessary.
37156 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37157 (WKBundlePageGetMainFrame):
37158 (WKBundlePageSetTracksRepaints):
37159 (WKBundlePageIsTrackingRepaints):
37160 (WKBundlePageResetTrackedRepaints):
37161 (WKBundlePageCopyTrackedRepaintRects):
37162 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
37163 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37164 (WebKit::findLargestFrameInFrameSet):
37165 (WebKit::WebChromeClient::closeWindowSoon):
37166 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37167 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
37168 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
37169 (WebKit::WebFrameLoaderClient::frameLoadCompleted):
37170 (WebKit::WebFrameLoaderClient::restoreViewState):
37171 (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
37172 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
37173 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
37174 (WebKit::WebFrameLoaderClient::createPlugin):
37175 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
37176 (WebKit::WebEditorClient::documentFragmentFromAttributedString):
37177 * WebProcess/WebPage/WebFrame.cpp:
37178 (WebKit::WebFrame::isMainFrame):
37179 * WebProcess/WebPage/WebPage.cpp:
37180 (WebKit::WebPage::setTracksRepaints):
37181 (WebKit::WebPage::isTrackingRepaints):
37182 (WebKit::WebPage::resetTrackedRepaints):
37183 (WebKit::WebPage::trackedRepaintRects):
37184 (WebKit::WebPage::clearMainFrameName):
37185 (WebKit::WebPage::layoutIfNeeded):
37186 (WebKit::WebPage::mainFrameHasCustomRepresentation):
37187 (WebKit::WebPage::mainFrame):
37188 (WebKit::WebPage::mainFrameView):
37189 * WebProcess/WebPage/WebPage.h:
37190 (WebKit::WebPage::mainWebFrame):
37191 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
37192 (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
37194 2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
37196 Add custom vtable struct to ClassInfo struct
37197 https://bugs.webkit.org/show_bug.cgi?id=68567
37199 Reviewed by Oliver Hunt.
37201 Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
37202 specified class in its ClassInfo. Also added to it the first function to use
37203 this macro, visitChildren. This is part of the process of getting rid of all
37204 C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
37205 that can't easily be converted to non-virtual functions will be put into
37206 this custom vtable structure.
37208 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
37209 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
37211 2011-09-25 Adam Barth <abarth@webkit.org>
37213 Finish removing PLATFORM(BREWMP) by removing associated code
37214 https://bugs.webkit.org/show_bug.cgi?id=68779
37216 Reviewed by Sam Weinig.
37218 * Scripts/generate-forwarding-headers.pl:
37220 2011-09-25 Adam Barth <abarth@webkit.org>
37222 Remove PLATFORM(HAIKU) and associated code
37223 https://bugs.webkit.org/show_bug.cgi?id=68774
37225 Reviewed by Sam Weinig.
37227 * Scripts/generate-forwarding-headers.pl:
37229 2011-09-24 Adam Barth <abarth@webkit.org>
37231 Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
37232 https://bugs.webkit.org/show_bug.cgi?id=68767
37234 Reviewed by Eric Seidel.
37236 * Configurations/FeatureDefines.xcconfig:
37237 * UIProcess/qt/WebContextQt.cpp:
37238 (WebKit::WebContext::applicationCacheDirectory):
37239 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
37240 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
37241 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
37242 (WebKit::WebApplicationCacheManager::deleteAllEntries):
37243 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37244 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
37245 * WebProcess/WebCoreSupport/WebChromeClient.h:
37246 * WebProcess/WebProcess.cpp:
37247 (WebKit::WebProcess::initializeWebProcess):
37248 (WebKit::WebProcess::clearApplicationCache):
37249 * WebProcess/WebProcess.h:
37251 2011-09-23 Adam Klein <adamk@chromium.org>
37253 Add ENABLE_MUTATION_OBSERVERS feature flag
37254 https://bugs.webkit.org/show_bug.cgi?id=68732
37256 Reviewed by Ojan Vafai.
37258 This flag will guard an implementation of the "Mutation Observers" proposed in
37259 http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
37261 * Configurations/FeatureDefines.xcconfig:
37263 2011-09-23 Varun Jain <varunjain@google.com>
37265 Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
37266 https://bugs.webkit.org/show_bug.cgi?id=68198
37268 Reviewed by Dimitri Glazkov.
37271 * win/WebKit2CFLite.def:
37273 2011-09-23 Chang Shu <cshu@webkit.org>
37275 [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37276 https://bugs.webkit.org/show_bug.cgi?id=68556
37278 Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
37280 Reviewed by Darin Adler.
37282 * Shared/API/c/WKGeometry.h:
37284 * WebProcess/WebPage/WebPage.cpp:
37285 (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
37287 2011-09-23 Anders Carlsson <andersca@apple.com>
37289 Move WebHitTestResult files to Shared/ in the Xcode project
37290 https://bugs.webkit.org/show_bug.cgi?id=68718
37292 Reviewed by Sam Weinig.
37294 * WebKit2.xcodeproj/project.pbxproj:
37296 2011-09-23 Anders Carlsson <andersca@apple.com>
37298 Add OVERRIDE to overrides of virtual member functions in client classes
37299 https://bugs.webkit.org/show_bug.cgi?id=68702
37301 Reviewed by Darin Adler.
37303 Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
37304 and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
37305 WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
37306 they have been removed from their respective base classes.
37308 * Configurations/Base.xcconfig:
37309 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37310 * WebProcess/WebCoreSupport/WebChromeClient.h:
37311 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
37312 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
37313 * WebProcess/WebCoreSupport/WebDragClient.h:
37314 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
37315 * WebProcess/WebCoreSupport/WebEditorClient.h:
37316 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37317 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
37318 * WebProcess/WebCoreSupport/WebGeolocationClient.h:
37319 * WebProcess/WebCoreSupport/WebInspectorClient.h:
37320 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
37321 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
37322 * WebProcess/WebCoreSupport/WebPopupMenu.h:
37323 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
37324 * win/WebKit2Common.vsprops:
37326 2011-09-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
37328 [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead()
37329 https://bugs.webkit.org/show_bug.cgi?id=68696
37331 Reviewed by Andreas Kling.
37333 Instead of connecting signals and calling QtFileDownloader::onReadyRead()
37334 on its constructor, QtFileDownloader will now handle this in start().
37336 * WebProcess/Downloads/qt/DownloadQt.cpp:
37337 (WebKit::Download::start):
37338 * WebProcess/Downloads/qt/QtFileDownloader.cpp:
37339 (WebKit::QtFileDownloader::QtFileDownloader):
37340 (WebKit::QtFileDownloader::start):
37341 * WebProcess/Downloads/qt/QtFileDownloader.h:
37343 2011-09-22 Gopal Raghavan <gopal.1.raghavan@nokia.com>
37345 [Qt] TouchWebView load test not running
37346 https://bugs.webkit.org/show_bug.cgi?id=68620
37348 Reviewed by Chang Shu.
37350 Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro
37352 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37354 2011-09-22 Dean Jackson <dino@apple.com>
37356 Add ENABLE_CSS_FILTERS
37357 https://bugs.webkit.org/show_bug.cgi?id=68652
37359 Reviewed by Simon Fraser.
37361 * Configurations/FeatureDefines.xcconfig:
37363 2011-09-22 Simon Fraser <simon.fraser@apple.com>
37365 Add APIObjects for Size, Point, Rect
37366 https://bugs.webkit.org/show_bug.cgi?id=68644
37368 Reviewed by Sam Weinig.
37370 Make APIObjects for size, point and rect so that they can be
37371 used in WKArrayRefs.
37373 Make some inline helper methods to create WKSize, WKPoint and WKRect
37377 * Shared/API/c/WKBase.h:
37378 * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h.
37380 (WKPointGetTypeID):
37388 * Shared/API/c/WKGeometry.h:
37389 (WKPoint::WKPointMake):
37390 (WKPoint::WKSizeMake):
37391 (WKPoint::WKRectMake):
37392 * Shared/API/c/WKSharedAPICast.h:
37393 * Shared/APIObject.h:
37394 * Shared/UserMessageCoders.h:
37395 (WebKit::UserMessageEncoder::baseEncode):
37396 (WebKit::UserMessageDecoder::baseDecode):
37397 * Shared/WebGeometry.h: Added.
37398 (WebKit::WebSize::create):
37399 (WebKit::WebSize::size):
37400 (WebKit::WebSize::WebSize):
37401 (WebKit::WebSize::type):
37402 (WebKit::WebPoint::create):
37403 (WebKit::WebPoint::point):
37404 (WebKit::WebPoint::WebPoint):
37405 (WebKit::WebPoint::type):
37406 (WebKit::WebRect::create):
37407 (WebKit::WebRect::rect):
37408 (WebKit::WebRect::WebRect):
37409 (WebKit::WebRect::type):
37411 * WebKit2.xcodeproj/project.pbxproj:
37413 * win/WebKit2.vcproj:
37415 2011-09-22 Alexey Proskuryakov <ap@apple.com>
37417 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37418 https://bugs.webkit.org/show_bug.cgi?id=68573
37420 Reviewed by Anders Carlsson.
37422 Re-landing with a slightly less aggressive check.
37424 * UIProcess/API/mac/WKView.mm:
37425 (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37426 an extension actually needed to be created
37427 (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37428 universal file read sandbox extension.
37430 * UIProcess/WebContext.cpp:
37431 (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37432 (WebKit::WebContext::didPerformServerRedirect): Ditto.
37433 (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37434 (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37435 assume that a string coming from WebProcess is a ParsedURLString.
37437 * UIProcess/WebPageProxy.cpp:
37438 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37439 is going to get universal file read sandbox extension.
37440 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37441 telling the caller whether an extension actually needed to be created.
37442 (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37443 (WebKit::WebPageProxy::loadURLRequest): Ditto.
37444 (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37445 one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37446 (typically, one where error page resources live), and can load from it.
37447 (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37448 (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37449 (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37450 (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37451 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37452 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37453 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37454 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37455 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37456 (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37457 (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37458 (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37459 (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37460 (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37462 * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37463 and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37465 * UIProcess/WebProcessProxy.cpp:
37466 (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37467 It's going to be true if we ever granted an extension for "/".
37468 (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37469 that WebProcess will load subresources from it.
37470 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37471 WebProcess send us a URL like this.
37472 (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37474 * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37476 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37477 Tell process proxy when the process is going to get universal file read sandbox extension.
37479 2011-09-22 Alpha Lam <hclam@chromium.org>
37481 https://bugs.webkit.org/show_bug.cgi?id=68081
37482 Fix scroll in page scaling mode.
37484 Reviewed by Simon Fraser.
37486 * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor.
37487 (WebKit::PluginView::handleEvent):
37488 (WebKit::PluginView::viewGeometryDidChange):
37489 (WebKit::PluginView::clipRectInWindowCoordinates):
37491 2011-09-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
37493 [Qt] Redirection overflow errors have wrong error domain
37494 https://bugs.webkit.org/show_bug.cgi?id=68612
37496 Reviewed by Andreas Kling.
37498 Redirection overflow currently puts the URL hostname in the errorDomain field
37499 and therefore are treated as a QWebError::EngineError. From now on they
37500 will be treated as QWebError::HttpError, since their error domain was modified
37501 to "HTTP" in QNetworkReplyHandler::redirect().
37503 * UIProcess/API/qt/qweberror.cpp:
37506 2011-09-22 Csaba Osztrogonác <ossy@webkit.org>
37508 REGRESSION(r95679): It broke everything.
37509 https://bugs.webkit.org/show_bug.cgi?id=68611
37511 Unreviewed rolling out r95679 and r95690, because it broke everything.
37513 * UIProcess/API/mac/WKView.mm:
37514 (maybeCreateSandboxExtensionFromPasteboard):
37515 (-[WKView performDragOperation:]):
37516 * UIProcess/WebContext.cpp:
37517 (WebKit::WebContext::didPerformClientRedirect):
37518 (WebKit::WebContext::didPerformServerRedirect):
37519 (WebKit::WebContext::didUpdateHistoryTitle):
37520 (WebKit::WebContext::getPluginPath):
37521 * UIProcess/WebPageProxy.cpp:
37522 (WebKit::WebPageProxy::reattachToWebProcessWithItem):
37523 (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
37524 (WebKit::WebPageProxy::loadURL):
37525 (WebKit::WebPageProxy::loadURLRequest):
37526 (WebKit::WebPageProxy::loadHTMLString):
37527 (WebKit::WebPageProxy::loadAlternateHTMLString):
37528 (WebKit::WebPageProxy::goForward):
37529 (WebKit::WebPageProxy::goBack):
37530 (WebKit::WebPageProxy::goToBackForwardItem):
37531 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
37532 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
37533 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
37534 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
37535 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
37536 (WebKit::WebPageProxy::decidePolicyForResponse):
37537 (WebKit::WebPageProxy::didInitiateLoadForResource):
37538 (WebKit::WebPageProxy::didSendRequestForResource):
37539 (WebKit::WebPageProxy::didReceiveResponseForResource):
37540 (WebKit::WebPageProxy::missingPluginButtonClicked):
37541 * UIProcess/WebPageProxy.h:
37542 * UIProcess/WebProcessProxy.cpp:
37543 (WebKit::WebProcessProxy::WebProcessProxy):
37544 (WebKit::WebProcessProxy::addBackForwardItem):
37545 * UIProcess/WebProcessProxy.h:
37546 * UIProcess/cf/WebPageProxyCF.cpp:
37547 (WebKit::WebPageProxy::restoreFromSessionStateData):
37549 2011-09-21 Alexey Proskuryakov <ap@apple.com>
37551 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37552 https://bugs.webkit.org/show_bug.cgi?id=68573
37554 Unreviewed follow-up fix.
37556 * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
37557 Just like we allow null URLs, also allow empty strings.
37559 2011-09-21 Julien Chaffraix <jchaffraix@webkit.org>
37561 Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
37562 https://bugs.webkit.org/show_bug.cgi?id=68133
37564 Reviewed by Darin Adler.
37567 * win/WebKit2CFLite.def:
37568 Exported the new FrameView::paintControlTints function.
37570 2011-09-21 Alexey Proskuryakov <ap@apple.com>
37572 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37573 https://bugs.webkit.org/show_bug.cgi?id=68573
37575 Reviewed by Anders Carlsson.
37577 * UIProcess/API/mac/WKView.mm:
37578 (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37579 an extension actually needed to be created
37580 (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37581 universal file read sandbox extension.
37583 * UIProcess/WebContext.cpp:
37584 (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37585 (WebKit::WebContext::didPerformServerRedirect): Ditto.
37586 (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37587 (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37588 assume that a string coming from WebProcess is a ParsedURLString.
37590 * UIProcess/WebPageProxy.cpp:
37591 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37592 is going to get universal file read sandbox extension.
37593 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37594 telling the caller whether an extension actually needed to be created.
37595 (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37596 (WebKit::WebPageProxy::loadURLRequest): Ditto.
37597 (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37598 one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37599 (typically, one where error page resources live), and can load from it.
37600 (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37601 (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37602 (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37603 (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37604 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37605 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37606 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37607 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37608 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37609 (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37610 (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37611 (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37612 (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37613 (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37615 * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37616 and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37618 * UIProcess/WebProcessProxy.cpp:
37619 (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37620 It's going to be true if we ever granted an extension for "/".
37621 (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37622 that WebProcess will load subresources from it.
37623 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37624 WebProcess send us a URL like this.
37625 (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37627 * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37629 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37630 Tell process proxy when the process is going to get universal file read sandbox extension.
37632 2011-09-19 Jer Noble <jer.noble@apple.com>
37634 Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
37635 https://bugs.webkit.org/show_bug.cgi?id=68382
37637 Add support for the webAudioEnabled preference in WebKit2.
37639 Reviewed by Darin Adler.
37641 * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
37642 * UIProcess/API/C/WKPreferences.cpp:
37643 (WKPreferencesSetWebAudioEnabled): Added.
37644 (WKPreferencesGetWebAudioEnabled): Added.
37645 * UIProcess/API/C/WKPreferences.h:
37646 * WebProcess/WebPage/WebPage.cpp:
37647 (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
37649 2011-09-21 Dan Bernstein <mitz@apple.com>
37651 Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2.
37653 Reviewed by Anders Carlsson.
37655 Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter.
37656 Renamed WebInspectorWKView to WKWebInspectorWKView.
37657 Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation.
37658 Renamed WebFindIndicatorView to WKFindIndicatorView.
37659 Renamed WebUserDataWrapper to WKUserDataWrapper.
37661 Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix
37662 "Web" and only allow "WK".
37664 * UIProcess/API/mac/FindIndicatorWindow.h:
37665 * UIProcess/API/mac/FindIndicatorWindow.mm:
37666 (WebKit::FindIndicatorWindow::setFindIndicator):
37667 (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
37668 * UIProcess/WebInspectorProxy.h:
37669 * UIProcess/mac/WebContextMenuProxyMac.mm:
37670 (-[WKMenuTarget forwardContextMenuAction:]):
37671 (WebKit::nsMenuItemVector):
37672 * UIProcess/mac/WebInspectorProxyMac.mm:
37673 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
37674 (WebKit::WebInspectorProxy::platformOpen):
37675 * WebKit2.xcodeproj/project.pbxproj:
37676 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
37677 (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac):
37679 2011-09-21 Chang Shu <cshu@webkit.org>
37681 [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37682 https://bugs.webkit.org/show_bug.cgi?id=68108
37684 This patch implements the event sender mouse events through WebKit2 UIProcess which is
37685 closer to the real simulation than a WebProcess-only approach. The patch only supports Mac
37686 platform as the first step so the existing code is still kept for other platforms.
37688 Reviewed by Darin Adler.
37690 * UIProcess/API/C/WKPage.cpp:
37691 (WKPageSetShouldSendEventsSynchronously):
37692 * UIProcess/API/C/WKPagePrivate.h:
37693 * UIProcess/WebPageProxy.cpp:
37694 (WebKit::WebPageProxy::WebPageProxy):
37695 (WebKit::WebPageProxy::handleMouseEvent):
37696 (WebKit::WebPageProxy::handleKeyboardEvent):
37697 * UIProcess/WebPageProxy.h:
37698 (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
37699 * WebProcess/WebPage/WebPage.cpp:
37700 (WebKit::WebPage::mouseEventSyncForTesting):
37701 * WebProcess/WebPage/WebPage.h:
37702 * WebProcess/WebPage/WebPage.messages.in:
37704 2011-09-21 Dan Bernstein <mitz@apple.com>
37706 WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
37707 https://bugs.webkit.org/show_bug.cgi?id=68451
37709 Reviewed by Darin Adler.
37711 * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
37712 check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
37714 2011-09-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
37716 [Qt][WK2] Implement Download support in WebProcess
37717 https://bugs.webkit.org/show_bug.cgi?id=68153
37719 Reviewed by Andreas Kling.
37721 We implement the necessary functions of Download.h, and our QtFileDownloader
37722 to handle all network communication and call the necessary functions of Download.
37724 We use the download policy for any MIME type not supported by WebKit. This
37725 behaves like Qt non-WebKit2 except that we don't force download when
37726 we encounter Content-Disposition: attachment. We still use the "filename="
37727 field for file name suggestion though.
37729 Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
37730 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
37731 and Zalan Bujtas <zalan.bujtas@nokia.com>.
37733 * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
37735 * UIProcess/API/qt/qweberror.h: Adding DownloadError
37737 * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
37738 (WebKit::Download::Download):
37739 * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
37740 * WebProcess/Downloads/qt/DownloadQt.cpp:
37741 (WebKit::Download::start):
37742 (WebKit::Download::startWithHandle):
37743 (WebKit::Download::cancel):
37744 (WebKit::Download::platformInvalidate):
37745 (WebKit::Download::didDecideDestination):
37746 * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
37747 (WebKit::QtFileDownloader::QtFileDownloader):
37748 (WebKit::QtFileDownloader::~QtFileDownloader):
37749 (WebKit::QtFileDownloader::determineFilename):
37750 (WebKit::QtFileDownloader::decidedDestination):
37751 (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
37752 (WebKit::QtFileDownloader::onReadyRead):
37753 (WebKit::QtFileDownloader::onFinished):
37754 (WebKit::QtFileDownloader::onError):
37755 (WebKit::QtFileDownloader::cancel):
37756 * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
37758 2011-09-21 Mark Rowe <mrowe@apple.com>
37760 <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
37762 The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
37763 file name if a file of the suggested name already exists was incorrect. It was appending
37764 the template used by mkstemps to the directory name component of the path rather than
37765 using it as a prefix on the filename portion of the path. This resulted in a template path
37766 like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
37768 Reviewed by Jon Honeycutt.
37770 * UIProcess/API/mac/PDFViewController.mm:
37771 (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
37772 then append the suggested file name to that component.
37774 2011-09-21 Andras Becsi <andras.becsi@nokia.com>
37776 [Qt] Remove Qt specific code from css/SelectorChecker.cpp
37777 https://bugs.webkit.org/show_bug.cgi?id=67702
37779 Reviewed by Csaba Osztrogonác.
37781 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
37782 (WebKit::WebPlatformStrategies::isLinkVisited):
37783 (WebKit::WebPlatformStrategies::addVisitedLink):
37784 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
37786 2011-09-20 Anders Carlsson <andersca@apple.com>
37788 Get rid of PluginView::setBoundsSize from WebKit2
37789 https://bugs.webkit.org/show_bug.cgi?id=68489
37791 Reviewed by Dan Bernstein.
37793 Remove m_boundsSize and the setter since they aren't used anywhere.
37795 * WebProcess/Plugins/PluginView.cpp:
37796 * WebProcess/Plugins/PluginView.h:
37798 2011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com>
37800 [Qt] QTouchWebView missing signal tests for loadProgress
37801 https://bugs.webkit.org/show_bug.cgi?id=68442
37803 Reviewed by Chang Shu.
37805 Added test case to check load progress signal for QTouchWebView
37807 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
37808 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37810 2011-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
37812 Unreviewed, rolling out r95565.
37813 http://trac.webkit.org/changeset/95565
37814 https://bugs.webkit.org/show_bug.cgi?id=68470
37816 Broke builds (Requested by andersca on #webkit).
37819 * Shared/API/c/WKHitTestResult.cpp: Removed.
37820 * Shared/API/c/WKHitTestResult.h: Removed.
37821 * UIProcess/API/C/WebKit2.h:
37823 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
37825 [Qt] [WK2] Implement a persistent cookie storage.
37826 https://bugs.webkit.org/show_bug.cgi?id=65309
37828 Reviewed by Chang Shu.
37830 Add parameter to the WebProcess creation to specify where cookies should be saved.
37831 It also use the new cookie storage implementation and set it to our network stack
37832 so cookies are used when using it.
37834 * Shared/WebProcessCreationParameters.cpp:
37835 (WebKit::WebProcessCreationParameters::encode):
37836 (WebKit::WebProcessCreationParameters::decode):
37837 * Shared/WebProcessCreationParameters.h:
37838 * UIProcess/qt/WebContextQt.cpp:
37839 (WebKit::WebContext::platformInitializeWebProcess):
37840 * WebProcess/qt/WebProcessQt.cpp:
37841 (WebKit::WebProcess::platformInitializeWebProcess):
37842 (WebKit::WebProcess::platformTerminate):
37844 2011-09-20 Nayan Kumar K <nayankk@motorola.com>
37846 Added WKHitTestResult API's.
37848 WKHitTestResult API's are added. These API's can be used to
37849 get the hover'ed link/image/media URL as well as link lable and
37851 https://bugs.webkit.org/show_bug.cgi?id=68426
37853 Reviewed by Anders Carlsson.
37856 * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37857 (WKHitTestResultGetTypeID):
37858 (WKHitTestResultCopyAbsoluteImageURL):
37859 (WKHitTestResultCopyAbsoluteLinkURL):
37860 (WKHitTestResultCopyAbsoluteMediaURL):
37861 (WKHitTestResultCopyLinkLabel):
37862 (WKHitTestResultCopyLinkTitle):
37863 * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37864 * UIProcess/API/C/WebKit2.h:
37866 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
37868 [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
37869 https://bugs.webkit.org/show_bug.cgi?id=68444
37871 Reviewed by Andreas Kling.
37873 Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
37875 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
37876 (WebKit::WebFullScreenManagerProxy::invalidate):
37877 (WebKit::WebFullScreenManagerProxy::enterFullScreen):
37878 (WebKit::WebFullScreenManagerProxy::exitFullScreen):
37879 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
37880 (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
37881 (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
37882 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
37883 (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
37884 (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
37885 (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
37887 * WebProcess/FullScreen/qt: Added.
37888 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
37889 (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
37890 (WebKit::WebFullScreenManager::create):
37891 (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
37892 (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
37893 (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
37894 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
37896 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
37898 [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
37899 https://bugs.webkit.org/show_bug.cgi?id=68401
37901 Reviewed by Simon Hausmann.
37903 Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
37904 as the error code when the load fails. It is not used in the QtQuick module therefore
37905 the QML team thinks it should belong here. Also added some auto-tests to cover the
37908 * UIProcess/API/qt/qmlplugin/plugin.cpp:
37909 (WebKit2QmlPlugin::registerTypes):
37910 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
37911 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
37913 2011-09-20 Csaba Osztrogonác <ossy@webkit.org>
37915 [Qt][Mac] Buildfix after r95513.
37917 Rubber-stamped by Andras Becsi.
37919 * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
37921 2011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com>
37923 [Qt] QDesktopWebView missing loadProgress tests
37924 https://bugs.webkit.org/show_bug.cgi?id=68280
37926 Reviewed by Andreas Kling.
37928 Added test case to check load progress property and signal for QDesktopWebView
37930 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
37931 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
37932 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37934 2011-09-20 Carlos Garcia Campos <cgarcia@igalia.com>
37936 [GTK] WebProcess shouldn't use the GTK+ API
37937 https://bugs.webkit.org/show_bug.cgi?id=68062
37939 Reviewed by Martin Robinson.
37941 Use WebCore API to create errors in WebProcess.
37943 * GNUmakefile.am: Don't use webkit/webkierror.h.
37944 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
37945 (WebKit::cancelledError):
37946 (WebKit::blockedError):
37947 (WebKit::cannotShowURLError):
37948 (WebKit::interruptedForPolicyChangeError):
37949 (WebKit::cannotShowMIMETypeError):
37950 (WebKit::fileDoesNotExistError):
37951 (WebKit::pluginWillHandleLoadError):
37953 2011-09-19 Mark Rowe <mrowe@apple.com>
37955 <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
37957 On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
37958 in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
37959 a NoIdleSleep assertion as the latter is implied by the former.
37961 Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
37963 Reviewed by Dan Bernstein.
37965 * UIProcess/mac/WKFullScreenWindowController.h:
37966 * UIProcess/mac/WKFullScreenWindowController.mm:
37967 (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
37968 display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
37969 disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
37971 2011-09-19 Adam Barth <abarth@webkit.org>
37973 Always enable ENABLE(EVENTSOURCE)
37974 https://bugs.webkit.org/show_bug.cgi?id=68414
37976 Reviewed by Eric Seidel.
37978 * Configurations/FeatureDefines.xcconfig:
37980 2011-09-19 Alexis Menard <alexis.menard@openbossa.org>
37982 [Qt] Unreviewed coding style fix.
37984 * UIProcess/API/qt/qdesktopwebview.h:
37985 * UIProcess/API/qt/qtouchwebpage.h:
37986 * UIProcess/API/qt/qweberror.h:
37988 2011-09-19 Alexis Menard <alexis.menard@openbossa.org>
37990 [Qt][WK2] Make loading errors API easier to use.
37991 https://bugs.webkit.org/show_bug.cgi?id=68357
37993 Reviewed by Tor Arne Vestbø.
37995 Make the API to get loading errors easier to use. 95197 introduced
37996 a QJSValue API that is a bit opaque for the client code. Rather than
37997 using a dedicated object, we can just pass the needed information as
37998 parameters of the slot.
38000 * UIProcess/API/qt/qdesktopwebview.cpp:
38001 (QDesktopWebViewPrivate::loadDidFail):
38002 * UIProcess/API/qt/qdesktopwebview.h:
38003 * UIProcess/API/qt/qdesktopwebview_p.h:
38004 * UIProcess/API/qt/qtouchwebpage.h:
38005 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38006 (tst_CommonViewTests::loadNonexistentFileUrl):
38007 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38008 (WebViewAbstraction::WebViewAbstraction):
38009 (WebViewAbstraction::touchViewLoadFailed):
38010 (WebViewAbstraction::desktopViewLoadFailed):
38011 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38012 * UIProcess/qt/QtWebPageProxy.cpp:
38013 (QtWebPageProxy::loadDidFail):
38014 * UIProcess/qt/TouchViewInterface.cpp:
38015 (WebKit::TouchViewInterface::loadDidFail):
38016 * UIProcess/qt/TouchViewInterface.h:
38017 * UIProcess/qt/ViewInterface.h:
38019 2011-09-19 Dan Bernstein <mitz@apple.com>
38021 WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
38022 https://bugs.webkit.org/show_bug.cgi?id=68323
38024 Reviewed by Sam Weinig.
38026 Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
38027 Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
38029 * WebKit2.xcodeproj/project.pbxproj:
38030 * WebProcess/WebPage/WebPage.h:
38031 * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
38032 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
38033 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
38034 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
38035 * WebProcess/WebPage/mac/WebPageMac.mm:
38036 (WebKit::WebPage::platformInitialize):
38037 (WebKit::WebPage::accessibilityRemoteObject):
38038 * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
38039 * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
38040 * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
38041 * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
38042 (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
38043 * WebProcess/mac/WebProcessMac.mm:
38044 (WebKit::WebProcess::fullKeyboardAccessEnabled):
38046 2011-09-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
38048 [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
38049 https://bugs.webkit.org/show_bug.cgi?id=67938
38051 Reviewed by Andreas Kling.
38053 Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
38054 have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
38055 explicitly avoids running a nested mainloop.
38057 * UIProcess/WebPageProxy.cpp:
38058 (WebKit::WebPageProxy::showPopupMenu):
38059 Since we don't run a nested mainloop, we need to keep the client pointer to call
38060 valueChangedForPopupMenu().
38062 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
38063 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
38064 (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
38065 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
38066 (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
38067 (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
38068 (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
38069 (WebKit::WebPopupMenuProxyQtDesktop::populate):
38070 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
38071 (WebKit::WebPopupMenuProxyQtDesktop::create):
38072 * UIProcess/qt/qdesktopwebpageproxy.cpp:
38073 (QDesktopWebPageProxy::createPopupMenuProxy):
38074 * UIProcess/qt/qdesktopwebpageproxy.h:
38077 2011-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
38079 [GTK] Fix distcheck build
38080 https://bugs.webkit.org/show_bug.cgi?id=68241
38082 Reviewed by Martin Robinson.
38086 2011-09-17 Mihai Parparita <mihaip@chromium.org>
38088 FrameLoaderClient BackForwardList-related methods are unsued
38089 https://bugs.webkit.org/show_bug.cgi?id=68293
38091 Reviewed by Darin Adler.
38093 Remove FrameLoaderClient methods that were added by r51629, since only
38094 the old (since-deleted) Android port needed them.
38096 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38097 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
38099 2011-09-16 Gopal Raghavan <gopal.1.raghavan@nokia.com>
38100 [Qt] QTouchWebView missing loadProgress tests
38101 https://bugs.webkit.org/show_bug.cgi?id=68183
38103 Reviewed by Chang Shu.
38105 Added test case to check load progress for QTouchWebView
38107 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
38108 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38110 2011-09-16 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
38112 Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
38113 https://bugs.webkit.org/show_bug.cgi?id=68249
38115 Reviewed by Martin Robinson.
38117 * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
38118 * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
38119 * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
38120 * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
38121 * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
38122 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
38123 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
38124 * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
38125 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
38126 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
38128 2011-09-16 Simon Fraser <simon.fraser@apple.com>
38130 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
38131 https://bugs.webkit.org/show_bug.cgi?id=68134
38133 Reviewed by Sam Weinig.
38135 Hook up a private preference that enables the mock scrollbar theme.
38137 * Shared/WebPreferencesStore.h:
38138 * UIProcess/API/C/WKPreferences.cpp:
38139 (WKPreferencesSetMockScrollbarsEnabled):
38140 (WKPreferencesGetMockScrollbarsEnabled):
38141 * UIProcess/API/C/WKPreferencesPrivate.h:
38142 * WebProcess/WebPage/WebPage.cpp:
38143 (WebKit::WebPage::updatePreferences):
38145 2011-09-16 Mark Rowe <mrowe@apple.com>
38147 Stop installing source and header files in to WebKit2.framework after r95303.
38149 * WebKit2.xcodeproj/project.pbxproj:
38151 2011-09-16 Anders Carlsson <andersca@apple.com>
38153 Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
38154 https://bugs.webkit.org/show_bug.cgi?id=68269
38156 Reviewed by Geoffrey Garen.
38158 Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
38160 * UIProcess/API/C/WKPage.h:
38161 * UIProcess/WebUIClient.cpp:
38162 (WebKit::WebUIClient::mouseDidMoveOverElement):
38164 2011-09-16 Alexey Proskuryakov <ap@apple.com>
38166 Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
38167 https://bugs.webkit.org/show_bug.cgi?id=68268
38169 Reviewed by Darin Adler.
38171 * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds. The empty
38172 value for production resulted in WebKit not adding the key to plist at all, which is what
38173 we want (but I don't know if it's a supported feature).
38174 Also, don't copy the icon file to built framework in production builds.
38176 * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
38178 * WebProcess/Info.plist: Added a key for the icon.
38180 * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
38182 2011-09-16 Anders Carlsson <andersca@apple.com>
38184 Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
38185 https://bugs.webkit.org/show_bug.cgi?id=68266
38187 Reviewed by John Sullivan.
38189 * UIProcess/API/C/WKPage.h:
38190 * UIProcess/WebUIClient.cpp:
38191 (WebKit::WebUIClient::mouseDidMoveOverElement):
38193 2011-09-16 Filip Pizlo <fpizlo@apple.com>
38195 DFG JIT should inline Math.abs
38196 https://bugs.webkit.org/show_bug.cgi?id=68227
38198 Reviewed by Oliver Hunt.
38200 Added JavaScriptCore/dfg to include path path.
38204 2011-09-16 Igor Oliveira <igor.oliveira@openbossa.org>
38206 [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
38207 https://bugs.webkit.org/show_bug.cgi?id=68125
38209 This patch implements support for the UiProcess to know what is the link url of a hovered element.
38211 Reviewed by Anders Carlsson.
38215 * Shared/API/c/WKBase.h:
38216 * Shared/APIObject.h:
38217 * Shared/WebHitTestResult.cpp: Added.
38219 WebHitTestResult has hovered element information.
38221 (WebKit::WebHitTestResult::create):
38222 (WebKit::WebHitTestResult::Data::encode):
38223 (WebKit::WebHitTestResult::Data::decode):
38224 * Shared/WebHitTestResult.h: Added.
38225 (WebKit::WebHitTestResult::absoluteImageURL):
38226 (WebKit::WebHitTestResult::absoluteLinkURL):
38227 (WebKit::WebHitTestResult::absoluteMediaURL):
38228 (WebKit::WebHitTestResult::linkLabel):
38229 (WebKit::WebHitTestResult::linkTitle):
38230 (WebKit::WebHitTestResult::WebHitTestResult):
38231 (WebKit::WebHitTestResult::type):
38232 * UIProcess/API/C/WKAPICast.h:
38233 * UIProcess/API/C/WKPage.h:
38234 * UIProcess/WebPageProxy.cpp:
38235 (WebKit::WebPageProxy::mouseDidMoveOverElement):
38236 * UIProcess/WebPageProxy.h:
38237 * UIProcess/WebPageProxy.messages.in:
38238 * UIProcess/WebUIClient.cpp:
38239 (WebKit::WebUIClient::mouseDidMoveOverElement):
38240 * UIProcess/WebUIClient.h:
38242 * WebKit2.xcodeproj/project.pbxproj:
38243 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38244 (WebKit::WebChromeClient::mouseDidMoveOverElement):
38245 * win/WebKit2.vcproj:
38247 2011-09-15 Adam Roben <aroben@apple.com>
38249 Add support for attributes on message parameters
38251 Parameter attributes are specified as a space-separated list inside square brackets before
38252 the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
38255 Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
38258 Reviewed by Sam Weinig.
38260 * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
38262 * Scripts/webkit2/model.py:
38263 (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
38265 (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
38267 * Scripts/webkit2/parser.py:
38268 (parse): Moved attributes-parsing code from here...
38269 (parse_attributes_string): ...to here.
38270 (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
38273 2011-09-15 Adam Roben <aroben@apple.com>
38275 Make WebKit2's message-generation model and parser scripts accessible to other projects
38277 We copy them into the build products directory so other projects can find them.
38279 Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
38280 scripts in other projects
38282 Reviewed by Darin Adler.
38284 * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
38286 * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
38287 tools/scripts, like WebCore does.
38289 * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
38290 WebCore does for its bindings scripts.
38292 2011-09-15 Adam Roben <aroben@apple.com>
38294 Split some of the message-generation code into separate modules
38296 This is in preparation for making these modules scripts usable by other projects.
38298 Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
38299 message-generation scripts is trapped inside a much larger module
38301 Reviewed by Darin Adler.
38303 * DerivedSources.make:
38304 * DerivedSources.pro:
38306 * WebKit2.xcodeproj/project.pbxproj:
38307 * win/WebKit2.vcproj:
38308 * win/WebKit2Generated.vcproj:
38311 * Scripts/webkit2/messages.py: Moved some code from here...
38313 * Scripts/webkit2/model.py: Added.
38314 * Scripts/webkit2/parser.py: Added.
38315 ...to here. MessageReceiver.parse was split out into a function in the new parser module.
38317 * Scripts/webkit2/messages_unittest.py: Updated for renames.
38319 2011-09-16 Martin Robinson <mrobinson@igalia.com>
38321 [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
38322 https://bugs.webkit.org/show_bug.cgi?id=68178
38324 Reviewed by Xan Lopez.
38326 * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
38329 2011-09-15 Adam Barth <abarth@webkit.org>
38331 Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
38332 https://bugs.webkit.org/show_bug.cgi?id=68205
38334 Reviewed by Eric Seidel.
38336 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38337 * WebProcess/WebCoreSupport/WebChromeClient.h:
38338 * WebProcess/WebPage/WebPage.cpp:
38339 (WebKit::WebPage::updatePreferences):
38340 * WebProcess/WebProcess.cpp:
38341 (WebKit::WebProcess::initializeWebProcess):
38343 2011-09-15 Eric Seidel <eric@webkit.org>
38345 Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
38346 https://bugs.webkit.org/show_bug.cgi?id=68182
38348 Reviewed by Adam Barth.
38350 * Configurations/FeatureDefines.xcconfig:
38352 2011-09-15 Eric Seidel <eric@webkit.org>
38354 Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
38355 https://bugs.webkit.org/show_bug.cgi?id=68022
38357 Reviewed by Ryosuke Niwa.
38359 * Configurations/FeatureDefines.xcconfig:
38361 2011-09-15 Alexis Menard <alexis.menard@openbossa.org>
38363 [Qt][WK2] Make QWebError more friendly to QML.
38364 https://bugs.webkit.org/show_bug.cgi?id=67785
38366 Reviewed by Simon Hausmann.
38368 Make sure that we can use the loading errors in QML. We send it via a QJSValue which
38369 has the properties needed to get the error code, the url and the type of error.
38371 * UIProcess/API/qt/qdesktopwebview.cpp:
38372 (QDesktopWebViewPrivate::loadDidFail):
38373 (QDesktopWebViewPrivate::engine):
38374 * UIProcess/API/qt/qdesktopwebview.h:
38375 * UIProcess/API/qt/qdesktopwebview_p.h:
38376 * UIProcess/API/qt/qtouchwebpage.h:
38377 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38378 (tst_CommonViewTests::loadNonexistentFileUrl):
38379 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38380 (WebViewAbstraction::WebViewAbstraction):
38381 (WebViewAbstraction::touchViewLoadFailed):
38382 (WebViewAbstraction::desktopViewLoadFailed):
38383 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38384 * UIProcess/API/qt/tests/testwindow.h:
38385 * UIProcess/qt/QtWebPageProxy.cpp:
38386 (QtWebPageProxy::loadDidFail):
38387 * UIProcess/qt/QtWebPageProxy.h:
38388 * UIProcess/qt/TouchViewInterface.cpp:
38389 (WebKit::TouchViewInterface::loadDidFail):
38390 (WebKit::TouchViewInterface::engine):
38391 * UIProcess/qt/TouchViewInterface.h:
38392 * UIProcess/qt/ViewInterface.h:
38394 2011-09-15 Adam Roben <aroben@apple.com>
38396 Remove WebKit2-specific knowledge from the Message class
38398 This is in preparation for making some of our message-generations scripts usable by other
38401 Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
38402 too much about WebKit2 details
38404 Reviewed by Anders Carlsson.
38406 * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
38407 (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
38408 attributes into a set and pass it to the Message constructor.
38409 (Message.__init__): Changed to take a generic set of attributes instead of individual
38411 (Message.has_attribute): Added. Returns true if the message has an attribute.
38412 (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
38413 Message.__init__, which set the old message.is_variadic property.
38416 (message_to_struct_declaration):
38417 (forward_declarations_and_headers):
38418 (async_case_statement):
38419 (sync_case_statement):
38420 (generate_message_handler):
38421 Updated to use Message.has_attribute and message_is_variadic.
38423 2011-09-14 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
38425 Eliminate WebKit2 compilation warnings.
38426 https://bugs.webkit.org/show_bug.cgi?id=65025
38428 Warnings found with gcc on linux.
38430 Reviewed by Sam Weinig.
38432 * Platform/CoreIPC/ArgumentEncoder.cpp:
38433 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
38434 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38435 (WebKit::WebFrameLoaderClient::createPlugin):
38437 2011-09-14 Ada Chan <adachan@apple.com>
38439 Implement WKBundleFrameCopyWebArchive().
38440 http://bugs.webkit.org/show_bug.cgi?id=67857
38442 Reviewed by Anders Carlsson.
38444 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38445 (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
38446 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
38447 * WebProcess/WebPage/WebFrame.cpp:
38448 (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
38449 * WebProcess/WebPage/WebFrame.h:
38450 * WebProcess/WebPage/WebPage.cpp:
38451 (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
38453 2011-09-14 Alexey Proskuryakov <ap@apple.com>
38455 Web Process doesn't need a permission to look up WebProcess service any more
38456 https://bugs.webkit.org/show_bug.cgi?id=68101
38458 Reviewed by Anders Carlsson.
38460 * WebProcess/com.apple.WebProcess.sb:
38462 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
38464 Unzip initialization lists and constructors in JSCell hierarchy (6/7)
38465 https://bugs.webkit.org/show_bug.cgi?id=67692
38467 Reviewed by Geoffrey Garen.
38469 Completed the sixth level of the refactoring to add finishCreation()
38470 methods to all classes within the JSCell hierarchy with non-trivial
38471 constructor bodies.
38473 This primarily consists of pushing the calls to finishCreation() down
38474 into the constructors of the subclasses of the fifth level of the hierarchy
38475 as well as pulling the finishCreation() calls out into the class's corresponding
38476 create() method if it has one. Doing both simultaneously allows us to
38477 maintain the invariant that the finishCreation() method chain is called exactly
38478 once during the creation of an object, since calling it any other number of
38479 times (0, 2, or more) will cause an assertion failure.
38481 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38482 (WebKit::JSNPMethod::JSNPMethod):
38483 * WebProcess/Plugins/Netscape/JSNPMethod.h:
38484 (WebKit::JSNPMethod::create):
38486 2011-09-13 Eric Seidel <eric@webkit.org>
38488 Remove ENABLE_SVG_USE as <use> is required by HTML5
38489 https://bugs.webkit.org/show_bug.cgi?id=68019
38491 Reviewed by Ryosuke Niwa.
38493 * Configurations/FeatureDefines.xcconfig:
38495 2011-09-13 Anders Carlsson <andersca@apple.com>
38497 Disable C++ exceptions when building with clang
38498 https://bugs.webkit.org/show_bug.cgi?id=68031
38499 <rdar://problem/9556880>
38501 Reviewed by Mark Rowe.
38503 * Configurations/Base.xcconfig:
38505 2011-09-13 Eric Seidel <eric@webkit.org>
38507 Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
38508 https://bugs.webkit.org/show_bug.cgi?id=68018
38510 Reviewed by Ryosuke Niwa.
38512 * Configurations/FeatureDefines.xcconfig:
38514 2011-09-13 Chang Shu <cshu@webkit.org>
38516 [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
38517 https://bugs.webkit.org/show_bug.cgi?id=57515
38519 The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
38521 Reviewed by Darin Adler.
38523 * UIProcess/API/C/WKPage.cpp:
38524 (WKPageSetShouldSendKeyboardEventSynchronously):
38525 * UIProcess/API/C/WKPagePrivate.h:
38526 * UIProcess/WebPageProxy.cpp:
38527 (WebKit::WebPageProxy::WebPageProxy):
38528 (WebKit::WebPageProxy::handleKeyboardEvent):
38529 * UIProcess/WebPageProxy.h:
38530 (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
38531 * WebProcess/WebPage/WebPage.cpp:
38532 (WebKit::WebPage::keyEventSyncForTesting):
38533 * WebProcess/WebPage/WebPage.h:
38534 * WebProcess/WebPage/WebPage.messages.in:
38536 2011-09-12 Ryuan Choi <ryuan.choi@samsung.com>
38538 Reviewed by Eric Seidel.
38540 [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
38541 https://bugs.webkit.org/show_bug.cgi?id=62692
38543 * CMakeLists.txt: define WTF_USE_JSC=1.
38544 * config.h: add cmakeconfig.h and define necessary macros for CMake build.
38546 2011-09-12 Igor Oliveira <igor.oliveira@openbossa.org>
38548 [Qt] [WK2] implement support to upload files in Qt WebKit2
38549 https://bugs.webkit.org/show_bug.cgi?id=67228
38551 This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
38553 Reviewed by Andreas Kling.
38555 * Shared/WebOpenPanelParameters.h:
38556 (WebKit::WebOpenPanelParameters::selectedFileNames):
38557 * UIProcess/API/qt/qdesktopwebview.cpp:
38558 (QDesktopWebViewPrivate::chooseFiles):
38559 (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
38560 (QDesktopWebViewPrivate::onOpenPanelFinished):
38561 * UIProcess/API/qt/qdesktopwebview_p.h:
38562 * UIProcess/qt/ClientImpl.cpp:
38564 qt_wk_runOpenPanel supports single and multiple files selection.
38566 (qt_wk_runOpenPanel):
38567 * UIProcess/qt/ClientImpl.h:
38568 * UIProcess/qt/QtWebPageProxy.cpp:
38569 (QtWebPageProxy::init):
38570 * UIProcess/qt/TouchViewInterface.h:
38571 (WebKit::TouchViewInterface::chooseFiles):
38572 * UIProcess/qt/ViewInterface.h:
38574 2011-09-12 Alexis Menard <alexis.menard@openbossa.org>
38576 [Qt]Style error fix.
38578 Reviewed by Andreas Kling.
38580 * UIProcess/qt/QtWebPageProxy.cpp:
38582 2011-09-11 Mark Rowe <mrowe@apple.com>
38584 <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
38586 It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
38587 interrupt a nested invocation of -run without also causing outer invocations to exit after processing
38588 their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
38589 of the main runloop, while using CFRunLoopRun for any nested invocations.
38591 Reviewed by Anders Carlsson.
38593 * Platform/RunLoop.h:
38594 * Platform/mac/RunLoopMac.mm:
38595 (RunLoop::RunLoop): Initialize the nesting level to 0.
38596 (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
38597 runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
38598 left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
38599 (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
38601 2011-09-11 Balazs Kelemen <kbalazs@webkit.org>
38603 [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
38604 https://bugs.webkit.org/show_bug.cgi?id=67094
38606 Reviewed by Andreas Kling.
38608 * UIProcess/qt/QtWebPageProxy.cpp:
38609 (QtWebPageProxy::init):
38611 2011-09-09 Oliver Hunt <oliver@apple.com>
38613 Remove support for anonymous storage from jsobjects
38614 https://bugs.webkit.org/show_bug.cgi?id=67881
38616 Reviewed by Sam Weinig.
38618 Remove the use of AnonymousSlotCount.
38620 * WebProcess/Plugins/Netscape/JSNPMethod.h:
38621 (WebKit::JSNPMethod::createStructure):
38622 * WebProcess/Plugins/Netscape/JSNPObject.h:
38623 (WebKit::JSNPObject::createStructure):
38625 2011-09-09 Chris Marrin <cmarrin@apple.com>
38627 requestAnimationFrame doesn't throttle on Mac
38628 https://bugs.webkit.org/show_bug.cgi?id=67171
38630 Reviewed by Simon Fraser.
38632 Removed runLoopObserver for requestAnimationFrame. It's now
38633 done by a Timer in ScriptedAnimationController in WebCore.
38635 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38636 * WebProcess/WebCoreSupport/WebChromeClient.h:
38637 * WebProcess/WebPage/WebPage.cpp:
38638 (WebKit::WebPage::~WebPage):
38639 * WebProcess/WebPage/WebPage.h:
38640 * WebProcess/WebPage/mac/WebPageMac.mm:
38642 2011-09-09 Fady Samuel <fsamuel@chromium.org>
38644 Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
38645 https://bugs.webkit.org/show_bug.cgi?id=67250
38647 Reviewed by Simon Fraser.
38649 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38650 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
38651 * WebProcess/WebPage/WebPage.cpp:
38652 (WebKit::WebPage::scalePage):
38653 (WebKit::WebPage::pageScaleFactor):
38655 2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com>
38657 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38658 https://bugs.webkit.org/show_bug.cgi?id=67420
38660 Reviewed by Geoffrey Garen.
38662 Completed the fifth level of the refactoring to add finishCreation()
38663 methods to all classes within the JSCell hierarchy with non-trivial
38664 constructor bodies.
38666 This primarily consists of pushing the calls to finishCreation() down
38667 into the constructors of the subclasses of the second level of the hierarchy
38668 as well as pulling the finishCreation() calls out into the class's corresponding
38669 create() method if it has one. Doing both simultaneously allows us to
38670 maintain the invariant that the finishCreation() method chain is called exactly
38671 once during the creation of an object, since calling it any other number of
38672 times (0, 2, or more) will cause an assertion failure.
38674 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38675 (WebKit::JSNPMethod::JSNPMethod):
38676 (WebKit::JSNPMethod::finishCreation):
38677 * WebProcess/Plugins/Netscape/JSNPMethod.h:
38678 (WebKit::JSNPMethod::create):
38679 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38680 (WebKit::JSNPObject::JSNPObject):
38681 * WebProcess/Plugins/Netscape/JSNPObject.h:
38682 (WebKit::JSNPObject::create):
38684 2011-09-08 Mark Rowe <mrowe@apple.com>
38686 <rdar://problem/9742393> Spell checking a text area causes the page to reload
38688 Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
38689 executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
38690 is expecting to be called, and will not turn around and terminate the web process.
38692 Reviewed by Anders Carlsson.
38694 * UIProcess/WebPageProxy.cpp:
38695 (WebKit::WebPageProxy::executeEditCommand):
38697 2011-09-08 Sam Weinig <sam@webkit.org>
38699 Remove accidentally committed typo.
38701 * Platform/CoreIPC/Connection.cpp:
38702 (CoreIPC::Connection::waitForSyncReply):
38704 2011-09-08 Brian Weinstein <bweinstein@apple.com>
38706 WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
38707 https://bugs.webkit.org/show_bug.cgi?id=67794
38708 <rdar://problem/9892024>
38710 Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
38713 If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
38714 it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
38716 Reviewed by Brady Eidson.
38718 * UIProcess/WebContext.cpp:
38719 (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
38720 (WebKit::WebContext::didPerformServerRedirect): Ditto.
38722 2011-09-08 Sam Weinig <sam@webkit.org>
38724 Remove the Completion object from JSC, I have never liked it
38725 https://bugs.webkit.org/show_bug.cgi?id=67755
38727 Reviewed by Gavin Barraclough.
38729 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
38730 (WebKit::NPRuntimeObjectMap::evaluate):
38732 2011-09-08 Anders Carlsson <andersca@apple.com>
38734 Don't release the modal placeholder window if it's closed
38735 https://bugs.webkit.org/show_bug.cgi?id=67801
38736 <rdar://problem/10088059>
38738 Reviewed by Adam Roben.
38740 This is a speculative fix - nothing should really be able to close the modal placeholder window.
38742 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
38743 (WebKit::PluginProcessProxy::beginModal):
38745 2011-09-07 Alexei Svitkine <asvitkine@chromium.org>
38747 Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
38748 https://bugs.webkit.org/show_bug.cgi?id=67511
38750 Reviewed by Dimitri Glazkov.
38753 * win/WebKit2CFLite.def:
38755 2011-09-06 Oliver Hunt <oliver@apple.com>
38757 Remove JSObjectWithGlobalObject
38758 https://bugs.webkit.org/show_bug.cgi?id=67689
38760 Reviewed by Geoff Garen.
38762 Remove JSObjectWithGlobalObject usage.
38764 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38765 (WebKit::JSNPObject::JSNPObject):
38766 (WebKit::JSNPObject::finishCreation):
38767 * WebProcess/Plugins/Netscape/JSNPObject.h:
38769 2011-09-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38771 [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
38772 https://bugs.webkit.org/show_bug.cgi?id=67606
38774 TiledBackingStore previously used different values for horizontal and vertial multiplication
38775 to calculate the cover area.
38776 This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
38777 with the possibility to use the motion vector of the viewport to request tiles ahead instead.
38778 This allows economies on rendering resources as tiles won't be rendered beside the trajectory
38781 * UIProcess/API/qt/qtouchwebview.cpp:
38782 (QTouchWebViewPrivate::QTouchWebViewPrivate):
38783 (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
38784 * UIProcess/API/qt/qtouchwebview.h:
38785 * UIProcess/API/qt/qtouchwebview_p.h:
38786 * UIProcess/TiledDrawingAreaProxy.cpp:
38787 (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
38788 * UIProcess/TiledDrawingAreaProxy.h:
38789 * UIProcess/qt/ViewportInteractionEngine.cpp:
38790 (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
38791 (WebKit::ViewportInteractionEngine::panGestureEnded):
38792 (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38793 * UIProcess/qt/ViewportInteractionEngine.h:
38794 * UIProcess/qt/qtouchwebpageproxy.cpp:
38795 (QTouchWebPageProxy::setVisibleContentRectMotionVector):
38796 * UIProcess/qt/qtouchwebpageproxy.h:
38797 * WebProcess/WebPage/DrawingArea.h:
38798 (WebKit::DrawingArea::setVisibleContentRectMotionVector):
38799 * WebProcess/WebPage/DrawingArea.messages.in:
38800 * WebProcess/WebPage/TiledDrawingArea.cpp:
38801 (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
38802 * WebProcess/WebPage/TiledDrawingArea.h:
38804 2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38806 [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
38807 https://bugs.webkit.org/show_bug.cgi?id=67416
38809 Reviewed by Kenneth Rohde Christiansen.
38811 Original code by Antti Koivisto.
38812 With the current code, when the page is layouted during load, edge tiles will
38813 get removed instead of continuing to show their front buffer while the tile
38814 is being rendered for the new size.
38816 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
38817 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
38818 (WebKit::TiledBackingStoreRemoteTile::resize):
38819 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
38821 2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38823 TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
38824 https://bugs.webkit.org/show_bug.cgi?id=67390
38826 Reviewed by Tor Arne Vestbø.
38828 The two issues addresssed are:
38829 - The previous instance of the tile backing store would be destroyed in createTile which
38830 would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
38831 - When quickly changing the scale a second time after a scale change, the previous tile set would
38832 be replaced by the current incomplete tile set which may contain no tiles at all.
38833 * WebProcess/WebPage/TiledDrawingArea.cpp:
38834 (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38835 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38836 (WebKit::TiledDrawingArea::createTile):
38838 2011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38840 [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
38841 https://bugs.webkit.org/show_bug.cgi?id=67195
38843 Reviewed by Tor Arne Vestbø.
38845 Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
38846 and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
38847 This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
38849 Introduce a bool to send DidRenderFrame only when dirty content was rendered.
38851 * WebProcess/WebPage/TiledDrawingArea.cpp:
38852 (WebKit::TiledDrawingArea::TiledDrawingArea):
38853 (WebKit::TiledDrawingArea::tiledBackingStorePaint):
38854 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38855 * WebProcess/WebPage/TiledDrawingArea.h:
38857 2011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38859 [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
38860 https://bugs.webkit.org/show_bug.cgi?id=67189
38862 Reviewed by Kenneth Rohde Christiansen.
38864 The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
38865 create, and since the visible content rect is given in page coordinates, the contents scale is
38866 necessary to calculate the viewport size.
38867 Both the rect and the scale then need to arrive to the web process at the same time to prevent
38868 picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
38869 and create/render an insane amount of tiles.
38871 Things this patch does:
38872 - Merge the visible contents rect and content scale handling together.
38873 - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
38874 - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
38876 * UIProcess/API/qt/qtouchwebpage.cpp:
38877 * UIProcess/API/qt/qtouchwebpage.h:
38878 * UIProcess/API/qt/qtouchwebpage_p.h:
38879 * UIProcess/API/qt/qtouchwebview.cpp:
38880 (QTouchWebViewPrivate::QTouchWebViewPrivate):
38881 (QTouchWebViewPrivate::_q_viewportUpdated):
38882 (QTouchWebView::geometryChanged):
38883 * UIProcess/API/qt/qtouchwebview.h:
38884 * UIProcess/API/qt/qtouchwebview_p.h:
38885 * UIProcess/TiledDrawingAreaProxy.cpp:
38886 (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
38887 * UIProcess/TiledDrawingAreaProxy.h:
38888 * UIProcess/qt/ViewportInteractionEngine.cpp:
38889 (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
38890 (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
38891 (WebKit::ViewportInteractionEngine::setConstraints):
38892 (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38893 (WebKit::ViewportInteractionEngine::pinchGestureEnded):
38894 (WebKit::ViewportInteractionEngine::contentViewportChanged):
38895 * UIProcess/qt/ViewportInteractionEngine.h:
38896 * UIProcess/qt/qtouchwebpageproxy.cpp:
38897 (QTouchWebPageProxy::setVisibleContentRectAndScale):
38898 * UIProcess/qt/qtouchwebpageproxy.h:
38899 * WebProcess/WebPage/DrawingArea.h:
38900 (WebKit::DrawingArea::setVisibleContentRectAndScale):
38901 * WebProcess/WebPage/DrawingArea.messages.in:
38902 * WebProcess/WebPage/TiledDrawingArea.cpp:
38903 (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38904 * WebProcess/WebPage/TiledDrawingArea.h:
38906 2011-08-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
38908 [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
38909 https://bugs.webkit.org/show_bug.cgi?id=67122
38911 Reviewed by Tor Arne Vestbø.
38913 * UIProcess/API/qt/qtouchwebpage.cpp:
38914 (QTouchWebPage::updatePaintNode):
38915 (QTouchWebPagePrivate::QTouchWebPagePrivate):
38916 * UIProcess/API/qt/qtouchwebpage_p.h:
38917 * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
38918 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
38919 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
38920 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
38921 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
38922 (WebKit::SGUpdateQueue::SGUpdateQueue):
38923 (WebKit::SGUpdateQueue::createTileNode):
38924 (WebKit::SGUpdateQueue::removeTileNode):
38925 (WebKit::SGUpdateQueue::setNodeBackBuffer):
38926 (WebKit::SGUpdateQueue::swapTileBuffers):
38927 (WebKit::SGUpdateQueue::applyUpdates):
38928 (WebKit::SGUpdateQueue::getScaleNode):
38929 * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
38930 (WebKit::SGUpdateQueue::isSwapPending):
38931 (WebKit::NodeUpdate::NodeUpdate):
38932 (WebKit::NodeUpdate::~NodeUpdate):
38933 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
38934 (WebKit::TiledDrawingAreaProxy::updateWebView):
38935 (WebKit::TiledDrawingAreaProxy::createTile):
38936 (WebKit::TiledDrawingAreaProxy::updateTile):
38937 (WebKit::TiledDrawingAreaProxy::didRenderFrame):
38938 (WebKit::TiledDrawingAreaProxy::removeTile):
38939 * UIProcess/qt/TouchViewInterface.cpp:
38940 (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
38941 * UIProcess/qt/TouchViewInterface.h:
38944 2011-09-07 Alexis Menard <alexis.menard@openbossa.org>
38946 [Qt] Unreviewed suppression of an unnecessary debug output.
38948 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38950 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
38952 Unreviewed, rolling out r94627 and r94632.
38953 http://trac.webkit.org/changeset/94627
38954 http://trac.webkit.org/changeset/94632
38955 https://bugs.webkit.org/show_bug.cgi?id=67698
38957 It broke tests on GTK and Qt (Requested by Ossy on #webkit).
38959 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38960 (WebKit::JSNPMethod::JSNPMethod):
38961 (WebKit::JSNPMethod::create):
38962 * WebProcess/Plugins/Netscape/JSNPMethod.h:
38963 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38964 (WebKit::JSNPObject::JSNPObject):
38965 (WebKit::JSNPObject::create):
38966 * WebProcess/Plugins/Netscape/JSNPObject.h:
38968 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
38970 fast/forms/suggested-value-crash.html crashes on Windows
38971 https://bugs.webkit.org/show_bug.cgi?id=67688
38973 Reviewed by Adam Barth.
38975 Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
38978 * win/WebKit2CFLite.def:
38980 2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
38982 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38983 https://bugs.webkit.org/show_bug.cgi?id=67420
38985 Reviewed by Geoffrey Garen.
38987 Completed the fifth level of the refactoring to add finishCreation()
38988 methods to all classes within the JSCell hierarchy with non-trivial
38989 constructor bodies.
38991 This primarily consists of pushing the calls to finishCreation() down
38992 into the constructors of the subclasses of the second level of the hierarchy
38993 as well as pulling the finishCreation() calls out into the class's corresponding
38994 create() method if it has one. Doing both simultaneously allows us to
38995 maintain the invariant that the finishCreation() method chain is called exactly
38996 once during the creation of an object, since calling it any other number of
38997 times (0, 2, or more) will cause an assertion failure.
38999 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39000 (WebKit::JSNPMethod::JSNPMethod):
39001 (WebKit::JSNPMethod::finishCreation):
39002 * WebProcess/Plugins/Netscape/JSNPMethod.h:
39003 (WebKit::JSNPMethod::create):
39004 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39005 (WebKit::JSNPObject::JSNPObject):
39006 * WebProcess/Plugins/Netscape/JSNPObject.h:
39007 (WebKit::JSNPObject::create):
39009 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
39011 Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
39012 https://bugs.webkit.org/show_bug.cgi?id=67569
39014 Reviewed by Antonio Gomes.
39016 * UIProcess/API/mac/WKView.mm:
39017 (-[WKView resignFirstResponder]):
39018 (-[WKView _updateTextInputStateIncludingSecureInputState:]):
39019 * UIProcess/WebPageProxy.h:
39020 * UIProcess/mac/WebPageProxyMac.mm:
39021 (WebKit::WebPageProxy::cancelComposition):
39022 * WebProcess/WebPage/WebPage.h:
39023 * WebProcess/WebPage/WebPage.messages.in:
39024 * WebProcess/WebPage/mac/WebPageMac.mm:
39025 (WebKit::WebPage::cancelComposition):
39027 2011-09-05 Oliver Hunt <oliver@apple.com>
39029 An object's structure should reference the global object responsible for its creation
39030 https://bugs.webkit.org/show_bug.cgi?id=67624
39032 Reviewed by Gavin Barraclough.
39034 Update for new Structure::create globalObject parameter.
39036 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39037 (WebKit::JSNPMethod::create):
39038 * WebProcess/Plugins/Netscape/JSNPMethod.h:
39039 (WebKit::JSNPMethod::createStructure):
39040 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39041 (WebKit::JSNPObject::create):
39042 * WebProcess/Plugins/Netscape/JSNPObject.h:
39043 (WebKit::JSNPObject::createStructure):
39045 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
39047 REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
39048 https://bugs.webkit.org/show_bug.cgi?id=67453
39050 Reviewed by Kent Tamura.
39052 Add symbols for internals.
39055 * win/WebKit2CFLite.def:
39057 2011-09-06 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
39059 [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
39060 https://bugs.webkit.org/show_bug.cgi?id=67593
39062 Reviewed by Martin Robinson.
39064 Using soup_session_add_feature_by_type for adding all soup features
39065 instead of adding using GRefPtr.
39067 * WebProcess/gtk/WebProcessMainGtk.cpp:
39068 (WebKit::WebProcessMainGtk):
39070 2011-09-05 Balazs Kelemen <kbalazs@webkit.org>
39072 [Qt][WK2] Add pixel test support
39073 https://bugs.webkit.org/show_bug.cgi?id=66283
39075 Reviewed by Andreas Kling.
39077 * Shared/API/c/qt/WKImageQt.cpp: Added.
39078 (WKImageCreateQImage): C style (private) API to get the contents of the backing
39080 * Shared/API/c/qt/WKImageQt.h: Added.
39081 * Shared/qt/ShareableBitmapQt.cpp:
39082 (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
39085 2011-09-05 Andras Becsi <andras.becsi@nokia.com>
39087 [Qt][WK2] Fix the build
39089 Rubber-stamped by Csaba Osztrogonác.
39091 * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
39093 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
39095 Unreviewed, rolling out r94473.
39096 http://trac.webkit.org/changeset/94473
39097 https://bugs.webkit.org/show_bug.cgi?id=67547
39099 Putting http://trac.webkit.org/changeset/94454 back in as
39100 http://trac.webkit.org/changeset/94472 fixed the problem
39101 (Requested by msaboff on #webkit).
39103 * UIProcess/API/C/WKContext.cpp:
39104 (WKContextGarbageCollectJavaScriptObjects):
39105 * UIProcess/API/C/WKContext.h:
39106 * UIProcess/WebContext.cpp:
39107 (WebKit::WebContext::garbageCollectJavaScriptObjects):
39108 * UIProcess/WebContext.h:
39109 * WebProcess/WebProcess.cpp:
39110 (WebKit::WebProcess::garbageCollectJavaScriptObjects):
39111 * WebProcess/WebProcess.h:
39112 * WebProcess/WebProcess.messages.in:
39114 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
39116 Unreviewed, rolling out r94454.
39117 http://trac.webkit.org/changeset/94454
39118 https://bugs.webkit.org/show_bug.cgi?id=67546
39120 "Broke Windows and SnowLeopard, also no reply on the bug."
39121 (Requested by jchaffraix on #webkit).
39123 * UIProcess/API/C/WKContext.cpp:
39124 * UIProcess/API/C/WKContext.h:
39125 * UIProcess/WebContext.cpp:
39126 * UIProcess/WebContext.h:
39127 * WebProcess/WebProcess.cpp:
39128 * WebProcess/WebProcess.h:
39129 * WebProcess/WebProcess.messages.in:
39131 2011-09-02 Michael Saboff <msaboff@apple.com>
39133 Fixed release build by removing #ifndef NDEBUG to
39134 allow definition of gcController().
39136 Rubber-stamp by Sam Weinig.
39138 * WebProcess/WebProcess.cpp:
39140 2011-09-02 Anders Carlsson <andersca@apple.com>
39142 NPN_SetException doesn't work with OOP plug-ins
39143 https://bugs.webkit.org/show_bug.cgi?id=67524
39145 Reviewed by Sam Weinig.
39147 * DerivedSources.make:
39148 Add PluginProcessConnection.messages.in.
39151 Add generated files.
39153 * Platform/CoreIPC/MessageID.h:
39154 Add MessageClassPluginProcessConnection.
39156 * PluginProcess/PluginProcess.cpp:
39157 (WebKit::PluginProcess::initialize):
39158 Set the set exception function.
39160 * PluginProcess/WebProcessConnection.cpp:
39161 (WebKit::ConnectionStack::current):
39162 (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
39163 (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
39164 Add a helper class for managing a stack of CoreIPC connections, along with a RAII
39165 object to push/pop connections onto it.
39167 (WebKit::connectionStack):
39170 (WebKit::WebProcessConnection::setGlobalException):
39171 Get the current connection and send a PluginProcessConnection::SetException message to it.
39173 (WebKit::WebProcessConnection::didReceiveMessage):
39174 (WebKit::WebProcessConnection::didReceiveSyncMessage):
39175 Create connection pushers.
39177 * PluginProcess/WebProcessConnection.h:
39178 Add setGlobalException.
39181 * WebKit2.xcodeproj/project.pbxproj:
39184 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39185 (WebKit::NetscapePlugin::setSetExceptionFunction):
39186 New function for setting the 'setException' function.
39188 (WebKit::NetscapePlugin::setException):
39189 Call the 'setException' function.
39191 * WebProcess/Plugins/PluginProcessConnection.cpp:
39192 (WebKit::PluginProcessConnection::didReceiveSyncMessage):
39193 Call the message receiver function.
39195 (WebKit::PluginProcessConnection::setException):
39196 Call the NPRuntimeObjectMap.
39198 * WebProcess/Plugins/PluginProcessConnection.messages.in:
39199 Add new messages file.
39201 * WebProcess/WebPage/WebPage.cpp:
39202 (WebKit::WebPage::createPlugin):
39203 When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
39205 2011-09-02 Ada Chan <adachan@apple.com>
39207 Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
39208 https://bugs.webkit.org/show_bug.cgi?id=67526
39210 Reviewed by Darin Adler.
39212 * UIProcess/API/C/WKContext.cpp:
39213 (WKContextGarbageCollectJavaScriptObjects):
39214 * UIProcess/API/C/WKContext.h:
39215 * UIProcess/WebContext.cpp:
39216 (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
39217 * UIProcess/WebContext.h:
39218 * WebProcess/WebProcess.cpp:
39219 (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
39220 * WebProcess/WebProcess.h:
39221 * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
39223 2011-09-02 Anders Carlsson <andersca@apple.com>
39225 Remove plug-in paths from web process sandbox
39226 https://bugs.webkit.org/show_bug.cgi?id=67518
39228 Reviewed by Adam Roben.
39230 Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
39232 * WebProcess/com.apple.WebProcess.sb:
39234 2011-09-02 Anders Carlsson <andersca@apple.com>
39236 Assertion/crash when running netscape-plugin-property-access-exception.html test
39237 https://bugs.webkit.org/show_bug.cgi?id=67517
39239 Reviewed by Adam Roben.
39241 Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
39242 but doesn't set the result NPVariant to anything.
39244 * Shared/Plugins/NPObjectMessageReceiver.cpp:
39245 (WebKit::NPObjectMessageReceiver::getProperty):
39247 2011-09-02 Anders Carlsson <andersca@apple.com>
39249 The private browsing state isn't saved when it changes
39250 https://bugs.webkit.org/show_bug.cgi?id=67508
39252 Reviewed by Sam Weinig.
39254 Store the new private browsing state so subsequent queries for it
39255 will return the right value.
39257 * PluginProcess/PluginControllerProxy.cpp:
39258 (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
39260 2011-09-02 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
39262 [WK2] Anchor elements doesn't get focus on TAB key press.
39263 https://bugs.webkit.org/show_bug.cgi?id=66949
39265 Reviewed by Adam Roben.
39267 Setting the default property value of TabsToLinks to true
39268 only for GTK platform since Win & Mac platforms doesn't want
39269 it to be set to true by default.
39271 * Shared/WebPreferencesStore.h:
39272 Set the default value of key TabsToLinks to true for GTK platform only.
39274 2011-09-02 Balazs Kelemen <kbalazs@webkit.org>
39276 [Qt][WK2] Cannot gathering glyph page statistics
39277 https://bugs.webkit.org/show_bug.cgi?id=67475
39279 Rubber stamped by Csaba Osztrogonác.
39281 Fix Qt WK2 build without having QRAWFONT.
39283 * WebProcess/WebProcess.cpp:
39284 (WebKit::WebProcess::getWebCoreStatistics):
39286 2011-09-02 Mark Rowe <mrowe@apple.com>
39288 <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
39289 leak the results of the APIs they wrap.
39291 Reviewed by Dan Bernstein.
39293 * UIProcess/mac/WebProcessProxyMac.mm:
39294 (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
39295 RetainPtr to ensure it gets released at the appropriate time.
39296 (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
39298 2011-09-01 Ada Chan <adachan@apple.com>
39300 Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that
39301 MemoryCache::Statistics always has the xslStyleSheets field.
39303 Reviewed by Darin Adler.
39305 * WebProcess/WebProcess.cpp:
39306 (WebKit::getWebCoreMemoryCacheStatistics):
39308 2011-09-01 Mark Hahnenberg <mhahnenberg@apple.com>
39310 Unzip initialization lists and constructors in JSCell hierarchy (4/7)
39311 https://bugs.webkit.org/show_bug.cgi?id=67174
39313 Reviewed by Oliver Hunt.
39315 Completed the fourth level of the refactoring to add finishCreation()
39316 methods to all classes within the JSCell hierarchy with non-trivial
39317 constructor bodies.
39319 This primarily consists of pushing the calls to finishCreation() down
39320 into the constructors of the subclasses of the second level of the hierarchy
39321 as well as pulling the finishCreation() calls out into the class's corresponding
39322 create() method if it has one. Doing both simultaneously allows us to
39323 maintain the invariant that the finishCreation() method chain is called exactly
39324 once during the creation of an object, since calling it any other number of
39325 times (0, 2, or more) will cause an assertion failure.
39327 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39328 (WebKit::JSNPObject::JSNPObject):
39329 (WebKit::JSNPObject::finishCreation):
39330 * WebProcess/Plugins/Netscape/JSNPObject.h:
39332 2011-09-01 Ada Chan <adachan@apple.com>
39334 Gather memory cache statistics in WebProcess::getWebCoreStatistics().
39335 https://bugs.webkit.org/show_bug.cgi?id=67160
39337 Reviewed by Darin Adler.
39339 Encode and decode webCoreCacheStatistics data member in StatisticsData.
39340 * Shared/StatisticsData.cpp:
39341 (WebKit::StatisticsData::encode):
39342 (WebKit::StatisticsData::decode):
39343 * Shared/StatisticsData.h:
39345 Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
39346 * UIProcess/WebContext.cpp:
39347 (WebKit::WebContext::didGetWebCoreStatistics):
39349 Store memory cache statistics into the StatisticsData object.
39350 * WebProcess/WebProcess.cpp:
39351 (WebKit::getWebCoreMemoryCacheStatistics):
39352 (WebKit::WebProcess::getWebCoreStatistics):
39354 2011-09-01 Tim Horton <timothy_horton@apple.com>
39356 REGRESSION: Rendering artifacts on a rotated, pattern filled shape
39357 https://bugs.webkit.org/show_bug.cgi?id=53055
39358 <rdar://problem/8910917>
39360 Reviewed by Simon Fraser.
39362 Introduce wkCGPatternCreateWithImageAndTransform.
39364 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
39365 (InitWebCoreSystemInterface):
39367 2011-09-01 Gopal Raghavan <gopal.1.raghavan@nokia.com>
39369 [Qt] TouchWebView crashes with segmentation fault
39370 https://bugs.webkit.org/show_bug.cgi?id=67308
39372 Reviewed by Benjamin Poulain.
39374 If you instantiate TouchWebView element with height and width in a qml file and
39375 load a url it crashes.
39376 The functions setWidth() and setHeight() are called sequentially therefore it can happen
39377 that computeViewportAttributes was called with a size like (width, 0) breaking the
39378 assumption of the function that the size is valid. The patch makes sure we compute the
39379 viewport when both height and width are valid.
39381 * UIProcess/API/qt/qtouchwebview.cpp:
39382 (QTouchWebViewPrivate::updateViewportConstraints):
39383 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
39384 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
39385 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
39386 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
39388 2011-09-01 Ada Chan <adachan@apple.com>
39390 Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
39391 https://bugs.webkit.org/show_bug.cgi?id=67160
39393 Reviewed by Darin Adler.
39395 Encode and decode the data members in StatisticsData.
39396 * Shared/StatisticsData.cpp:
39397 (WebKit::StatisticsData::encode):
39398 (WebKit::StatisticsData::decode):
39399 (WebKit::StatisticsData::StatisticsData):
39401 Add three data members to StatisticsData:
39402 - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as
39403 JavaScriptObjectsCount, CachedFontDataCount, etc.
39404 - javaScriptProtectedObjectTypeCounts
39405 - javaScriptObjectTypeCounts
39406 * Shared/StatisticsData.h:
39408 Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
39409 in WebContext::didGetWebCoreStatistics().
39410 * UIProcess/WebContext.cpp:
39411 (WebKit::createDictionaryFromHashMap):
39412 (WebKit::WebContext::didGetWebCoreStatistics):
39414 Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
39415 and send it to the UIProcess.
39416 * WebProcess/WebProcess.cpp:
39417 (WebKit::fromCountedSetToHashMap):
39418 (WebKit::WebProcess::getWebCoreStatistics):
39420 2011-09-01 Xan Lopez <xlopez@igalia.com>
39422 [GTK] Add XRender lib dependencies explicitly
39424 Reviewed by Philippe Normand.
39426 This is needed when using the GNU/Gold linker, since we use
39431 2011-08-31 Anders Carlsson <andersca@apple.com>
39433 Jagged text shown in find-in-page highlight
39434 https://bugs.webkit.org/show_bug.cgi?id=67347
39435 <rdar://problem/9870444>
39437 Reviewed by Dan Bernstein.
39439 When painting each text line in the find indicator, make sure to clip it against
39440 the text rect and not paint the entire rect over and over.
39442 * UIProcess/FindIndicator.cpp:
39443 (WebKit::FindIndicator::draw):
39445 2011-08-31 Beth Dakin <bdakin@apple.com>
39447 https://bugs.webkit.org/show_bug.cgi?id=67322
39448 Re-name overrideBackingScaleFactor
39450 Reviewed by John Sullivan.
39452 API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor()
39453 which returns the custom scale factor if one was set, and the intrinsic scale
39455 * UIProcess/API/C/WKPage.cpp:
39456 (WKPageGetBackingScaleFactor):
39457 (WKPageSetCustomBackingScaleFactor):
39458 * UIProcess/API/C/WKPage.h:
39460 Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever
39461 refers to the intrinsic value.
39462 * UIProcess/API/mac/WKView.mm:
39463 (-[WKView viewDidMoveToWindow]):
39464 (-[WKView _windowDidChangeResolution:]):
39465 (-[WKView _intrinsicDeviceScaleFactor]):
39467 WebPageProxy stores both the customDeviceScaleFactor and the
39468 intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that
39469 should be the one used.
39470 * UIProcess/WebPageProxy.cpp:
39471 (WebKit::WebPageProxy::WebPageProxy):
39472 (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
39473 (WebKit::WebPageProxy::deviceScaleFactor):
39474 (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
39475 (WebKit::WebPageProxy::creationParameters):
39476 * UIProcess/WebPageProxy.h:
39478 2011-08-31 Anders Carlsson <andersca@apple.com>
39480 REGRESSION(r93902): Can't open external links on gmail
39481 https://bugs.webkit.org/show_bug.cgi?id=67234
39482 <rdar://problem/10053636>
39484 Reviewed by Alexey Proskuryakov.
39486 * Shared/cf/ArgumentCodersCF.cpp:
39488 If we encounter an empty URL string, create an empty url by using NSURL, just
39489 like we do in WebCore when converting an empty KURL to an NSURL.
39491 * WebKit2.xcodeproj/project.pbxproj:
39492 Compile ArgumentCodersCF.cpp as Objective-C++ for now.
39494 2011-08-30 Beth Dakin <bdakin@apple.com>
39496 https://bugs.webkit.org/show_bug.cgi?id=67150
39497 Would like API to use a custom device scale factor for a particular WebView/WKView
39498 -and corresponding-
39499 <rdar://problem/10041016>
39501 Reviewed by Darin Adler.
39503 New API is setOverrideBackingScaleFactor() on WKPage
39504 * UIProcess/API/C/WKPage.cpp:
39505 (WKPageGetOverrideBackingScaleFactor):
39506 (WKPageSetOverrideBackingScaleFactor):
39507 * UIProcess/API/C/WKPage.h:
39508 * UIProcess/WebPageProxy.cpp:
39509 (WebKit::WebPageProxy::WebPageProxy):
39510 (WebKit::WebPageProxy::deviceScaleFactor):
39511 (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
39512 * UIProcess/WebPageProxy.h:
39513 (WebKit::WebPageProxy::overrideBackingScaleFactor):
39515 2011-08-30 Aaron Colwell <acolwell@chromium.org>
39517 Add MediaSource API to HTMLMediaElement
39518 https://bugs.webkit.org/show_bug.cgi?id=64731
39520 Reviewed by Eric Carlson.
39522 * Configurations/FeatureDefines.xcconfig:
39524 2011-08-30 Ada Chan <adachan@apple.com>
39526 Laying some groundwork to fetch performance statistics from WebProcess.
39527 https://bugs.webkit.org/show_bug.cgi?id=67160
39529 Reviewed by Darin Adler.
39531 Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
39532 * UIProcess/API/C/WKContext.cpp:
39533 (WKContextGetStatistics):
39534 * UIProcess/API/C/WKContext.h:
39535 * UIProcess/WebContext.cpp:
39536 (WebKit::WebContext::~WebContext):
39537 (WebKit::WebContext::getWebCoreStatistics):
39538 (WebKit::WebContext::didGetWebCoreStatistics):
39539 * UIProcess/WebContext.h:
39540 * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
39541 the performance statistics ready.
39543 Add WebProcess::getWebCoreStatistics(). Currently it just sends back an empty StatisticsData object.
39544 It will gather the performance statistics to store in the StatisticsData object in a future patch.
39545 * WebProcess/WebProcess.cpp:
39546 (WebKit::WebProcess::getWebCoreStatistics):
39547 * WebProcess/WebProcess.h:
39548 * WebProcess/WebProcess.messages.in:
39550 Add the skeleton for StatisticsData.
39551 * Scripts/webkit2/messages.py:
39552 * Shared/StatisticsData.cpp: Added.
39553 (WebKit::StatisticsData::encode):
39554 (WebKit::StatisticsData::decode):
39555 (WebKit::StatisticsData::StatisticsData):
39556 * Shared/StatisticsData.h: Added.
39558 Add StatisticsData.h/cpp to project.
39562 * WebKit2.xcodeproj/project.pbxproj:
39563 * win/WebKit2.vcproj:
39565 2011-08-29 Alexey Proskuryakov <ap@apple.com>
39567 DumpRenderTree should begin each test with an empty cookie store
39568 https://bugs.webkit.org/show_bug.cgi?id=63545
39569 <rdar://problem/5666907>
39571 Reviewed by Darin Adler.
39573 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39574 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39575 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39576 Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
39578 * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
39579 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39580 There is no no need to access cookie storage through session manually - we already have code
39581 for that in WebCore.
39583 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39584 (WKBundleSwitchNetworkLoaderToNewTestingSession):
39585 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39586 * WebProcess/InjectedBundle/InjectedBundle.cpp:
39587 (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
39588 * WebProcess/InjectedBundle/InjectedBundle.h:
39589 Exposed bundle SPI to use a private default session. It's separate from private browsing,
39590 because some tests enable the latter, and we don't want to mix them up.
39592 * WebProcess/WebPage/mac/WebPageMac.mm:
39593 (WebKit::WebPage::platformHasLocalDataForURL):
39594 (WebKit::cachedResponseForURL):
39595 Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
39597 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39598 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39600 2011-08-30 Alexis Menard <alexis.menard@openbossa.org>
39602 [Qt][WK2] Make mouse over work again for QDesktopWebView.
39603 https://bugs.webkit.org/show_bug.cgi?id=67200
39605 Reviewed by Noam Rosenthal.
39607 The API has changed after QGraphicsView, SceneGraph sends
39610 * UIProcess/qt/qdesktopwebpageproxy.cpp:
39611 (QDesktopWebPageProxy::handleEvent):
39612 (QDesktopWebPageProxy::handleHoverMoveEvent):
39613 * UIProcess/qt/qdesktopwebpageproxy.h:
39615 2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com>
39617 The unused ScrollView* argument can and should be removed from
39618 scrollRectIntoView.
39619 https://bugs.webkit.org/show_bug.cgi?id=67117
39621 Reviewed by Darin Adler.
39623 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39624 (WebKit::WebChromeClient::scrollRectIntoView):
39625 * WebProcess/WebCoreSupport/WebChromeClient.h:
39627 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
39629 Another Windows build fix after r94047.
39632 * win/WebKit2CFLite.def:
39634 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
39636 Export more symbols for r94038.
39639 * win/WebKit2CFLite.def:
39641 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
39643 Windows build fix for r94038.
39646 * win/WebKit2CFLite.def:
39648 2011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com>
39651 [Qt] QTouchWebView url property test missing
39652 https://bugs.webkit.org/show_bug.cgi?id=67159
39654 Reviewed by Noam Rosenthal.
39656 Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
39658 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
39660 2011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com>
39662 [Qt] QDesktopWebView url property test missing
39663 https://bugs.webkit.org/show_bug.cgi?id=67155
39665 Reviewed by Noam Rosenthal.
39667 Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
39669 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
39671 2011-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
39673 Unreviewed, rolling out r93987, r93992, r93995, r93998, and
39675 http://trac.webkit.org/changeset/93987
39676 http://trac.webkit.org/changeset/93992
39677 http://trac.webkit.org/changeset/93995
39678 http://trac.webkit.org/changeset/93998
39679 http://trac.webkit.org/changeset/93999
39680 https://bugs.webkit.org/show_bug.cgi?id=67147
39682 Many failing tests (Requested by ap on #webkit).
39684 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39685 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39686 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39687 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39688 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39689 * WebProcess/InjectedBundle/InjectedBundle.cpp:
39690 * WebProcess/InjectedBundle/InjectedBundle.h:
39691 * WebProcess/win/WebProcessWin.cpp:
39692 (WebKit::WebProcess::platformInitializeWebProcess):
39694 2011-08-26 Martin Robinson <mrobinson@igalia.com>
39696 Reviewed by Xan Lopez.
39698 [GTK] Build WebKit2 unconditionally
39699 https://bugs.webkit.org/show_bug.cgi?id=62749
39701 Build WebKit2 by default. This will make the bots build it and catch
39702 build errors when they occur.
39704 * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
39705 PC file, which should not be shipped until WebKit2 is actually shipped officially.
39707 2011-08-29 Alexey Proskuryakov <ap@apple.com>
39711 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39712 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39713 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39714 Updated for new function name and signature: currentCFHTTPCookieStorage().
39716 2011-08-26 Alexey Proskuryakov <ap@apple.com>
39718 DumpRenderTree should begin each test with an empty cookie store
39719 https://bugs.webkit.org/show_bug.cgi?id=63545
39720 <rdar://problem/5666907>
39722 Reviewed by Darin Adler.
39724 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39725 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39727 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39728 (WKBundleUsePrivateSessionForNetworkLoading):
39729 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39730 * WebProcess/InjectedBundle/InjectedBundle.cpp:
39731 (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
39732 * WebProcess/InjectedBundle/InjectedBundle.h:
39733 Exposed bundle SPI to use a private default session. It's separate from private browsing,
39734 because some tests enable the latter, and we don't want to mix them up.
39736 2011-08-29 Chris Marrin <cmarrin@apple.com>
39738 Fixed a build problem caused by http://trac.webkit.org/changeset/93980
39742 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39744 2011-08-23 Chris Marrin <cmarrin@apple.com>
39746 [mac] requestAnimationFrame support for mac port
39747 https://bugs.webkit.org/show_bug.cgi?id=59146
39749 Reviewed by Simon Fraser.
39751 Implement requestAnimationFrame for WebKit2. Add a
39752 CFRunLoopObserver to WebPage, which runs just before
39753 the syncCompositingState RLO and calls into the
39754 ScriptedAnimationController if scheduleAnimation() has
39757 * Configurations/FeatureDefines.xcconfig:
39758 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39759 (WebKit::WebChromeClient::scheduleAnimation):
39760 * WebProcess/WebCoreSupport/WebChromeClient.h:
39761 * WebProcess/WebPage/WebPage.cpp:
39762 (WebKit::WebPage::WebPage):
39763 (WebKit::WebPage::~WebPage):
39764 * WebProcess/WebPage/WebPage.h:
39765 * WebProcess/WebPage/mac/WebPageMac.mm:
39766 (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
39767 (WebKit::WebPage::scheduleAnimation):
39768 (WebKit::WebPage::unscheduleAnimation):
39769 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
39770 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
39772 2011-08-29 Pierre Rossi <pierre.rossi@gmail.com>
39774 [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
39775 https://bugs.webkit.org/show_bug.cgi?id=67123
39777 We could simply use the defines already in place for this.
39779 Reviewed by Andreas Kling.
39783 2011-08-29 Vamshikrishna Yellenki <vamshi@motorola.com>
39785 [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
39786 https://bugs.webkit.org/show_bug.cgi?id=67111
39788 Reviewed by Martin Robinson.
39790 WebKit2 GTK build error.
39792 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
39793 Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
39796 2011-08-28 Balazs Kelemen <kbalazs@webkit.org>
39798 [Qt][WK2] Unreviewed build fix.
39800 * UIProcess/qt/QtWebPageProxy.cpp:
39801 (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
39802 to avoid missing initializer warning. The missing initializer is the
39803 result of using a version 0 WKPageUIClient while it has newer version (1).
39804 We have nothing to do with the callbacks in the new version so I voted
39806 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
39808 2011-08-26 Sam Weinig <sam@webkit.org>
39810 Stop using custom NSErrors for WebKit2 WebErrors
39811 https://bugs.webkit.org/show_bug.cgi?id=67075
39813 Reviewed by Anders Carlsson.
39815 * WebProcess/WebCoreSupport/WebErrors.h:
39816 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39817 (WebKit::createNSError):
39818 (WebKit::cancelledError):
39819 (WebKit::fileDoesNotExistError):
39820 (WebKit::blockedError):
39821 (WebKit::cannotShowURLError):
39822 (WebKit::interruptedForPolicyChangeError):
39823 (WebKit::cannotShowMIMETypeError):
39824 (WebKit::pluginWillHandleLoadError):
39825 There is no reason to use custom registered NSErrors anymore, so don't.
39827 2011-08-26 Anders Carlsson <andersca@apple.com>
39831 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39833 2011-08-26 Sam Weinig <sam@webkit.org>
39835 Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
39836 https://bugs.webkit.org/show_bug.cgi?id=67063
39838 Reviewed by Anders Carlsson.
39840 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39841 (+[NSError _webkit_errorWithDomain:code:URL:]):
39843 2011-08-26 Anders Carlsson <andersca@apple.com>
39845 Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
39846 https://bugs.webkit.org/show_bug.cgi?id=67062
39848 Reviewed by Sam Weinig.
39850 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39851 (WebKit::NPN_ScheduleTimer):
39852 Call NetscapePlugin::scheduleTimer.
39854 (WebKit::NPN_UnscheduleTimer):
39855 Call NetscapePlugin::unscheduleTimer.
39857 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39858 (WebKit::NetscapePlugin::NetscapePlugin):
39859 Initialize m_nextTimerID.
39861 (WebKit::NetscapePlugin::Timer::start):
39864 (WebKit::NetscapePlugin::Timer::stop):
39867 (WebKit::NetscapePlugin::Timer::timerFired):
39868 Call the right callback and unschedule the timer object if it's not a repeating timer.
39870 (WebKit::NetscapePlugin::scheduleTimer):
39871 Create a new timer and start it.
39873 (WebKit::NetscapePlugin::unscheduleTimer):
39874 Get the timer from the map and destroy it.
39876 (WebKit::NetscapePlugin::destroy):
39877 Destroy all timers.
39879 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39882 2011-08-26 Sam Weinig <sam@webkit.org>
39884 Fix typo in Connection.cpp
39885 https://bugs.webkit.org/show_bug.cgi?id=67060
39887 Reviewed by Anders Carlsson.
39889 * Platform/CoreIPC/Connection.cpp:
39890 (CoreIPC::Connection::waitForSyncReply):
39891 We want timedOut, not timeout. There is not a current way to cause this
39892 to be an issue. This issue was caught by the Clang Static Analyzer.
39894 2011-08-26 Alice Liu <alice.liu@apple.com>
39896 https://bugs.webkit.org/show_bug.cgi?id=66823
39897 Add the request info to the WebPageProxy::CreateNewPage message
39899 Reviewed by Anders Carlsson.
39901 Update function declarations with additional ResourceRequest parameter:
39902 * UIProcess/API/C/WKPage.h:
39903 * UIProcess/WebPageProxy.cpp:
39904 (WebKit::WebPageProxy::createNewPage):
39905 * UIProcess/WebPageProxy.h:
39906 * UIProcess/WebPageProxy.messages.in:
39907 * UIProcess/WebUIClient.cpp:
39908 (WebKit::WebUIClient::createNewPage):
39909 * UIProcess/WebUIClient.h:
39911 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39912 (WebKit::WebChromeClient::createWindow):
39913 Pass the ResourceRequest within the FrameLoadRequest.
39915 2011-08-26 Alexis Menard <alexis.menard@openbossa.org>
39917 [Qt][WK2]REGRESSION(r93784): It made many tests crash
39918 https://bugs.webkit.org/show_bug.cgi?id=66958
39920 Reviewed by Anders Carlsson.
39922 Don't try to make sure the WebContext is deleted, for now the leak
39923 is intended and when multiple processes per context will be supported
39924 this leak should be fixed. This was the cause of DRT crashing on the bot,
39925 the context was deleted after the first test, letting other tests with nothing
39928 * UIProcess/qt/QtWebPageProxy.cpp:
39929 (QtWebPageProxy::~QtWebPageProxy):
39931 2011-08-26 Anders Carlsson <andersca@apple.com>
39933 Fix handling of keyup events in the new Cocoa text input model
39934 https://bugs.webkit.org/show_bug.cgi?id=67045
39936 Reviewed by Sam Weinig.
39938 Use a counter instead of a boolean for deciding when to ignore keyup events, because
39939 if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
39941 Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
39944 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39945 (WebKit::NetscapePlugin::NetscapePlugin):
39946 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39947 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
39948 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
39950 2011-08-26 Jessie Berlin <jberlin@apple.com>
39952 Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
39953 https://bugs.webkit.org/show_bug.cgi?id=66979.
39955 Removing the function altogether would break the nightlies.
39956 This patch removes the code behind it so that it is clear that
39957 WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
39958 left rotting in the tree.
39960 Reviewed by Brian Weinstein.
39962 * UIProcess/API/C/WKPage.cpp:
39963 (WKPageCreateSnapshotOfVisibleContent):
39965 * UIProcess/API/C/WKPagePrivate.h:
39966 Update the comment and add a link to the bug.
39968 * UIProcess/WebPageProxy.cpp:
39969 * UIProcess/WebPageProxy.h:
39971 * WebProcess/WebPage/WebPage.cpp:
39972 * WebProcess/WebPage/WebPage.h:
39973 * WebProcess/WebPage/WebPage.messages.in:
39975 2011-08-25 Anders Carlsson <andersca@apple.com>
39977 kNPEventStartIME doesn't work correctly for NPAPI
39978 https://bugs.webkit.org/show_bug.cgi?id=65264
39979 <rdar://problem/9996476>
39981 Reviewed by Sam Weinig.
39983 In order to remain compatible with older plug-ins, the updated input model won't
39984 be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
39985 this before any keyboard events have been processed.
39987 * PluginProcess/mac/PluginControllerProxyMac.mm:
39988 (WebKit::PluginControllerProxy::setComplexTextInputState):
39989 Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
39990 the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
39991 synchronous message.
39993 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39994 (WebKit::NPN_GetValue):
39995 Implement the logic for when to turn off the legacy Cocoa text input model support.
39997 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39998 (WebKit::NetscapePlugin::NetscapePlugin):
39999 Initialize m_ignoreNextKeyUpEvent to false.
40001 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40002 Add m_ignoreNextKeyUpEvent member variable.
40004 (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
40007 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40008 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40009 Don't send keydown and keyup events when complex text input is enabled in the updated model.
40011 2011-08-25 Anders Carlsson <andersca@apple.com>
40013 Correctly handle events in the updated Cocoa text input model
40014 https://bugs.webkit.org/show_bug.cgi?id=67005
40016 Reviewed by Sam Weinig.
40018 * UIProcess/API/mac/WKTextInputWindowController.mm:
40019 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40020 When using the updated model, always return a string even for 'simple' characters.
40022 * UIProcess/API/mac/WKView.mm:
40023 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40024 Only let the input method have a crack at the event in the legacy model.
40026 2011-08-25 Jeff Miller <jeffm@apple.com>
40028 Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
40029 https://bugs.webkit.org/show_bug.cgi?id=67002
40031 Reviewed by Brian Weinstein.
40033 * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
40035 * UIProcess/win/WebPageProxyWin.cpp:
40036 (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
40037 (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
40038 (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
40039 (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
40040 (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
40041 (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
40042 (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
40043 (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
40044 (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
40045 (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
40047 2011-08-25 Anders Carlsson <andersca@apple.com>
40049 Handle key-down events in the updated Cocoa text input model
40050 https://bugs.webkit.org/show_bug.cgi?id=67001
40052 Reviewed by Sam Weinig.
40054 * UIProcess/API/mac/WKView.mm:
40055 (-[WKView performKeyEquivalent:]):
40056 Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40057 input has been disabled.
40059 (-[WKView _disableComplexTextInputIfNecessary]):
40060 If the plug-in is using the updated Cocoa text input model specification, disable text input
40061 if the text input window has been dismissed for whatever reason.
40063 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40064 Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40065 input has been disabled.
40067 (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40068 If the plug-in is using the updated Cocoa text input model specification, let the input methods
40069 have a go at the keyboard event.
40071 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40072 (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40073 Actually set m_isComplexTextInputEnabled to the right value.
40075 2011-08-25 Anders Carlsson <andersca@apple.com>
40077 Factor code to send a key-down event to the plug-in out into a new function
40078 https://bugs.webkit.org/show_bug.cgi?id=66999
40080 Reviewed by Darin Adler.
40082 * UIProcess/API/mac/WKView.mm:
40083 (-[WKView _handlePluginComplexTextInputKeyDown:]):
40084 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40086 2011-08-25 Anders Carlsson <andersca@apple.com>
40088 WKView should keep track of the plug-in complex text input state
40089 https://bugs.webkit.org/show_bug.cgi?id=66990
40091 Reviewed by Sam Weinig.
40093 * UIProcess/API/mac/WKView.mm:
40094 Add a _pluginComplexTextInputState ivar to WKViewData.
40096 (-[WKView _setPluginComplexTextInputState:]):
40097 Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
40099 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40100 Call -[WKView _setPluginComplexTextInputState:].
40102 2011-08-25 Anders Carlsson <andersca@apple.com>
40104 Move file internal methods to a class continuation in WKView
40105 https://bugs.webkit.org/show_bug.cgi?id=66983
40107 Reviewed by Dan Bernstein.
40109 * UIProcess/API/mac/WKView.mm:
40110 (-[WKView _deviceScaleFactor]):
40111 (-[WKView _setDrawingAreaSize:]):
40113 2011-08-25 Anders Carlsson <andersca@apple.com>
40115 More work on the updated Cocoa text input specification
40116 https://bugs.webkit.org/show_bug.cgi?id=66977
40118 Reviewed by Sam Weinig.
40120 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40121 (WebKit::NetscapePlugin::NetscapePlugin):
40122 Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40124 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40125 Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40127 (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
40128 Add setter. Not called yet.
40130 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40131 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40132 Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
40134 (WebKit::NetscapePlugin::sendComplexTextInput):
40135 If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
40137 (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40138 If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
40139 the plug-in is focused.
40141 (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40142 Set the right text input state based on whether the plug-in is using the updated spec or not.
40144 2011-08-25 Anders Carlsson <andersca@apple.com>
40146 Return the correct value for NPNVsupportsCarbonBool
40147 https://bugs.webkit.org/show_bug.cgi?id=66964
40149 Reviewed by Adam Roben.
40151 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40152 (WebKit::NPN_GetValue):
40153 Remove a FIXME and set the value to true.
40155 2011-08-25 Alexis Menard <alexis.menard@openbossa.org>
40157 [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
40158 https://bugs.webkit.org/show_bug.cgi?id=66886
40160 Reviewed by Benjamin Poulain.
40162 Remove QWKContext class from Qt APIs as it is too low level for the vision
40163 of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
40164 or default created one. This patch also ensure that the WebProcessProxy is correctly
40165 destroyed at application exit by removing the circular references between the WebContext,
40166 WebProcessProxy, and WebPageProxy.
40168 * UIProcess/API/qt/qdesktopwebview.cpp:
40169 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
40170 * UIProcess/API/qt/qtouchwebview.cpp:
40171 (QTouchWebViewPrivate::QTouchWebViewPrivate):
40172 * UIProcess/qt/ClientImpl.cpp:
40173 (qt_wk_setStatusText):
40174 * UIProcess/qt/ClientImpl.h:
40175 * UIProcess/qt/QtWebPageProxy.cpp:
40176 (QtWebPageProxy::defaultWKContext):
40177 (QtWebPageProxy::QtWebPageProxy):
40178 (QtWebPageProxy::~QtWebPageProxy):
40179 * UIProcess/qt/QtWebPageProxy.h:
40180 * UIProcess/qt/qdesktopwebpageproxy.cpp:
40181 (QDesktopWebPageProxy::QDesktopWebPageProxy):
40182 * UIProcess/qt/qdesktopwebpageproxy.h:
40183 * UIProcess/qt/qtouchwebpageproxy.cpp:
40184 (QTouchWebPageProxy::QTouchWebPageProxy):
40185 * UIProcess/qt/qtouchwebpageproxy.h:
40186 * UIProcess/qt/qwkcontext.cpp: Removed.
40187 * UIProcess/qt/qwkcontext.h: Removed.
40188 * UIProcess/qt/qwkcontext_p.h: Removed.
40191 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
40193 [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
40194 https://bugs.webkit.org/show_bug.cgi?id=66771
40196 Reviewed by Tor Arne Vestbø.
40198 We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
40199 rendered with the same layout. This also allows the web process to render tiles into
40200 buffers readable directly by the GPU (on supported platforms). We also take the opportunity
40201 to use the TiledBackingStore in WebCore to have only one tiling implementation.
40204 - TiledDrawingAreaProxy manages tiles from the UI process.
40205 - TiledDrawingArea received rendering requests for a rect and returns the result
40206 to the proxy through shared memory.
40209 - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
40210 - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
40211 - TiledDrawingAreaProxy updates the scene graph directly from requests.
40213 It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
40214 Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
40215 notify us when the last rendered frame is ready to make it to the screen.
40216 TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
40218 * UIProcess/API/qt/qtouchwebpage.cpp:
40219 (QTouchWebPage::updatePaintNode):
40220 * UIProcess/API/qt/qtouchwebview.cpp:
40221 (QTouchWebViewPrivate::updateViewportState):
40222 * UIProcess/DrawingAreaProxy.h:
40223 (WebKit::DrawingAreaProxy::createTile):
40224 (WebKit::DrawingAreaProxy::updateTile):
40225 (WebKit::DrawingAreaProxy::didRenderFrame):
40226 (WebKit::DrawingAreaProxy::removeTile):
40227 * UIProcess/DrawingAreaProxy.messages.in:
40228 * UIProcess/TiledDrawingAreaProxy.cpp:
40229 (WebKit::TiledDrawingAreaProxy::create):
40230 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
40231 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
40232 (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
40233 (WebKit::TiledDrawingAreaProxy::setContentsScale):
40234 (WebKit::TiledDrawingAreaProxy::renderNextFrame):
40235 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
40236 (WebKit::TiledDrawingAreaProxy::paint):
40237 * UIProcess/TiledDrawingAreaProxy.h:
40238 * UIProcess/TiledDrawingAreaTile.h: Removed.
40239 * UIProcess/qt/SGAgent.cpp:
40240 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
40241 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
40242 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
40243 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
40244 (WebKit::SGAgent::SGAgent):
40245 (WebKit::SGAgent::createTileNode):
40246 (WebKit::SGAgent::removeTileNode):
40247 (WebKit::SGAgent::setNodeBackBuffer):
40248 (WebKit::SGAgent::swapTileBuffers):
40249 (WebKit::SGAgent::updatePaintNode):
40250 (WebKit::SGAgent::getScaleNode):
40251 Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
40252 Delete the scale node when the last of its child tiles has been removed.
40254 * UIProcess/qt/SGAgent.h:
40255 (WebKit::SGAgent::isSwapPending):
40257 * UIProcess/qt/SGTileNode.cpp:
40258 (WebKit::SGTileNode::SGTileNode):
40259 (WebKit::SGTileNode::setBackBuffer):
40260 (WebKit::SGTileNode::swapIfNeeded):
40261 Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
40262 This allows all those values to be used only when swapIfNeeded is called later.
40264 * UIProcess/qt/SGTileNode.h:
40265 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
40266 (WebKit::TiledDrawingAreaProxy::createTile):
40267 (WebKit::TiledDrawingAreaProxy::updateTile):
40268 (WebKit::TiledDrawingAreaProxy::didRenderFrame):
40269 (WebKit::TiledDrawingAreaProxy::removeTile):
40270 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
40271 * UIProcess/qt/qtouchwebpageproxy.cpp:
40272 (QTouchWebPageProxy::renderNextFrame):
40273 * UIProcess/qt/qtouchwebpageproxy.h:
40275 * WebProcess/WebPage/DrawingArea.h:
40276 (WebKit::DrawingArea::setVisibleContentRect):
40277 (WebKit::DrawingArea::setContentsScale):
40278 (WebKit::DrawingArea::renderNextFrame):
40279 * WebProcess/WebPage/DrawingArea.messages.in:
40280 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
40281 (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
40282 (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
40283 (WebKit::TiledBackingStoreRemoteTile::isDirty):
40284 (WebKit::TiledBackingStoreRemoteTile::invalidate):
40285 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
40286 (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
40287 (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
40288 (WebKit::TiledBackingStoreRemoteTile::paint):
40289 (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
40290 (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
40291 (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
40292 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
40293 (WebKit::TiledBackingStoreRemoteTile::create):
40294 (WebKit::TiledBackingStoreRemoteTile::coordinate):
40295 (WebKit::TiledBackingStoreRemoteTile::rect):
40296 (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
40297 (WebKit::TiledBackingStoreRemoteTileBackend::create):
40298 * WebProcess/WebPage/TiledDrawingArea.cpp:
40299 (WebKit::TiledDrawingArea::TiledDrawingArea):
40300 (WebKit::TiledDrawingArea::setNeedsDisplay):
40301 (WebKit::TiledDrawingArea::setSize):
40302 (WebKit::TiledDrawingArea::setVisibleContentRect):
40303 (WebKit::TiledDrawingArea::setContentsScale):
40304 (WebKit::TiledDrawingArea::renderNextFrame):
40305 (WebKit::TiledDrawingArea::suspendPainting):
40306 (WebKit::TiledDrawingArea::resumePainting):
40307 (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
40308 (WebKit::TiledDrawingArea::tiledBackingStorePaint):
40309 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
40310 (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
40311 (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
40312 (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
40313 (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
40314 (WebKit::TiledDrawingArea::createTile):
40315 (WebKit::TiledDrawingArea::updateTile):
40316 (WebKit::TiledDrawingArea::removeTile):
40317 * WebProcess/WebPage/TiledDrawingArea.h:
40318 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
40320 2011-08-24 Michael Saboff <msaboff@apple.com>
40322 Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
40323 https://bugs.webkit.org/show_bug.cgi?id=66912
40325 Updated the comment in ArgumentEncoder::grow to reflect that system malloc
40326 currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
40328 Reviewed by Mark Rowe.
40330 * Platform/CoreIPC/ArgumentEncoder.cpp:
40331 (CoreIPC::ArgumentEncoder::grow):
40333 2011-08-24 Anders Carlsson <andersca@apple.com>
40335 Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
40336 https://bugs.webkit.org/show_bug.cgi?id=66883
40338 Reviewed by Beth Dakin.
40340 * UIProcess/API/mac/WKTextInputWindowController.h:
40341 * UIProcess/API/mac/WKTextInputWindowController.mm:
40342 (-[WKTextInputPanel _unmarkText]):
40343 (-[WKTextInputWindowController unmarkText]):
40344 * UIProcess/API/mac/WKView.mm:
40345 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40347 2011-08-24 Oliver Hunt <oliver@apple.com>
40349 JSNPObject and JSNPMethod create their structure in their constructors
40350 https://bugs.webkit.org/show_bug.cgi?id=66879
40352 Reviewed by Anders Carlsson.
40354 It's not safe to create the Structure for an object inside its constructor
40355 so we hoist construction out into their ::create methods and move the methods
40358 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
40359 (WebKit::JSNPMethod::JSNPMethod):
40360 (WebKit::JSNPMethod::create):
40361 * WebProcess/Plugins/Netscape/JSNPMethod.h:
40362 (WebKit::JSNPMethod::create):
40363 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40364 (WebKit::JSNPObject::JSNPObject):
40365 (WebKit::JSNPObject::create):
40366 * WebProcess/Plugins/Netscape/JSNPObject.h:
40367 (WebKit::JSNPObject::create):
40369 2011-08-24 Anders Carlsson <andersca@apple.com>
40371 More plug-in complex text input scaffolding
40372 https://bugs.webkit.org/show_bug.cgi?id=66865
40374 Reviewed by Sam Weinig.
40376 Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
40377 add methods for handling plug-in text input key-down events.
40379 * UIProcess/API/mac/PageClientImpl.mm:
40380 (WebKit::PageClientImpl::doneWithKeyEvent):
40381 * UIProcess/API/mac/WKView.mm:
40382 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40383 (-[WKView keyDown:]):
40384 (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40385 (-[WKView _doneWithKeyEvent:eventWasHandled:]):
40386 * UIProcess/API/mac/WKViewInternal.h:
40388 2011-08-24 Amruth Raj <amruthraj@motorola.com>
40390 [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
40391 https://bugs.webkit.org/show_bug.cgi?id=66640
40393 Reviewed by Martin Robinson.
40395 The crash happens when a new timer is created in an existing timer callback. Since
40396 TimerBase has a single GSource* it gets overridden and the old timer can never get
40397 stopped. To handle this, keep a copy of the old timer and use it for destruction.
40399 * Platform/RunLoop.h:
40400 * Platform/gtk/RunLoopGtk.cpp:
40401 (RunLoop::TimerBase::timerFiredCallback):
40402 Store the timerSource so that even if it is modified by the timer callback,
40403 it can be restored for freeing it.
40404 (RunLoop::TimerBase::start):
40405 Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
40407 2011-08-23 Anders Carlsson <andersca@apple.com>
40409 Prepare WKTextInputWindowController for the new text input model
40410 https://bugs.webkit.org/show_bug.cgi?id=66826
40412 Reviewed by Sam Weinig.
40414 Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
40415 additional usingLegacyCocoaTextInput flag. No functionality change.
40417 * UIProcess/API/mac/WKTextInputWindowController.h:
40418 * UIProcess/API/mac/WKTextInputWindowController.mm:
40419 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40420 (-[WKTextInputPanel _hasMarkedText]):
40421 (-[WKTextInputWindowController hasMarkedText]):
40422 (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40423 * UIProcess/API/mac/WKView.mm:
40424 (-[WKView keyDown:]):
40426 2011-08-23 Gopal Raghavan <gopal.1.raghavan@nokia.com>
40428 [Qt] Unnecessary folders in WebKit2.
40429 https://bugs.webkit.org/show_bug.cgi?id=66583
40431 Reviewed by Benjamin Poulain.
40433 Remove empty autotest folders that were left over from QGraphicsWKView times.
40435 * UIProcess/API/qt/tests/qgraphicswkview: Removed.
40436 * UIProcess/API/qt/tests/qwkhistory: Removed.
40437 * UIProcess/API/qt/tests/qwkpage: Removed.
40439 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
40441 [Qt][WK2] Fix an awful memory leak introduced in r92376.
40442 https://bugs.webkit.org/show_bug.cgi?id=65528
40444 Reviewed by Benjamin Poulain.
40446 The non-virtual destructor would create a leak of the tile update buffer because
40447 the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
40449 * UIProcess/qt/SGAgent.h:
40450 (WebKit::NodeUpdate::~NodeUpdate):
40452 2011-08-23 Steve Block <steveblock@google.com>
40454 Remove all mention of removed Android files from build scripts
40455 https://bugs.webkit.org/show_bug.cgi?id=66755
40457 Reviewed by Tony Gentilcore.
40459 * Scripts/generate-forwarding-headers.pl:
40461 2011-08-23 Benjamin Poulain <benjamin@webkit.org>
40463 [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
40464 https://bugs.webkit.org/show_bug.cgi?id=66672
40466 Reviewed by Kenneth Rohde Christiansen.
40468 Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
40469 This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
40471 The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
40473 * UIProcess/qt/ViewportInteractionEngine.cpp:
40474 (WebKit::ViewportInteractionEngine::panGestureEnded):
40475 (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40476 (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
40477 (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
40478 (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
40479 * UIProcess/qt/ViewportInteractionEngine.h:
40481 2011-08-22 Oliver Hunt <oliver@apple.com>
40483 Delay GC triggered NP object destruction to the next runloop cycle
40484 https://bugs.webkit.org/show_bug.cgi?id=66717
40486 Reviewed by Anders Carlsson.
40488 Delay destruction of plugin objects caused by GC until the next
40489 runloop cycle so that they can execute JS in their finalizers.
40490 We do this using a zero delay timer coupled with a queue of
40491 objects to be finalised.
40493 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40494 (WebKit::JSNPObject::releaseObject):
40495 * WebProcess/Plugins/Netscape/JSNPObject.h:
40496 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
40497 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
40498 (WebKit::NPRuntimeObjectMap::invalidate):
40499 (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
40500 (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
40501 (WebKit::NPRuntimeObjectMap::finalize):
40502 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
40503 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
40504 (WebKit::trySafeReleaseNPObject):
40505 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
40507 2011-08-22 Anders Carlsson <andersca@apple.com>
40509 Move code from PageClientImpl::doneWithKeyEvent to WKView
40510 https://bugs.webkit.org/show_bug.cgi?id=66722
40512 Reviewed by Darin Adler.
40514 * UIProcess/API/mac/PageClientImpl.mm:
40515 (WebKit::PageClientImpl::doneWithKeyEvent):
40516 * UIProcess/API/mac/WKView.mm:
40517 (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
40518 * UIProcess/API/mac/WKViewInternal.h:
40520 2011-08-22 Anders Carlsson <andersca@apple.com>
40522 Update the text input context when the plug-in focus changes and not when the complex text input state changes
40523 https://bugs.webkit.org/show_bug.cgi?id=66716
40525 Reviewed by Darin Adler.
40527 * UIProcess/API/mac/WKView.mm:
40528 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40529 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40531 2011-08-22 Michael Saboff <msaboff@apple.com>
40533 REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
40534 https://bugs.webkit.org/show_bug.cgi?id=66464
40536 Changed ArgumentEncoder to use system malloc instead of fastMalloc.
40537 FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
40538 mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
40539 The system malloc has no such limitation.
40540 Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it
40541 doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
40543 Reviewed by Anders Carlsson.
40545 * Platform/CoreIPC/ArgumentEncoder.cpp:
40546 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
40547 (CoreIPC::ArgumentEncoder::grow):
40548 * Platform/CoreIPC/mac/ConnectionMac.cpp:
40549 (CoreIPC::Connection::sendOutgoingMessage):
40551 2011-08-22 Anders Carlsson <andersca@apple.com>
40553 Use -[NSApplication updateWindows] to update the current input context
40554 https://bugs.webkit.org/show_bug.cgi?id=66715
40556 Reviewed by Alexey Proskuryakov.
40558 * UIProcess/API/mac/WKView.mm:
40559 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40561 2011-08-22 Anders Carlsson <andersca@apple.com>
40563 The UI process should keep track of whether a plug-in has focus or not
40564 https://bugs.webkit.org/show_bug.cgi?id=66712
40566 Reviewed by Darin Adler.
40568 This is in preparation for implementing the updated Cocoa text input model.
40570 Pipe through whether a plug-in and its containing window has focus or not, from the
40571 plug-in process and all the way to the UI process.
40573 * PluginProcess/PluginControllerProxy.h:
40574 * PluginProcess/mac/PluginControllerProxyMac.mm:
40575 (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
40576 * UIProcess/API/mac/PageClientImpl.h:
40577 * UIProcess/API/mac/PageClientImpl.mm:
40578 (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
40579 * UIProcess/API/mac/WKView.mm:
40580 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40581 * UIProcess/API/mac/WKViewInternal.h:
40582 * UIProcess/PageClient.h:
40583 * UIProcess/WebPageProxy.h:
40584 * UIProcess/WebPageProxy.messages.in:
40585 * UIProcess/mac/WebPageProxyMac.mm:
40586 (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
40587 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40588 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40589 (WebKit::NetscapePlugin::platformSetFocus):
40590 (WebKit::NetscapePlugin::windowFocusChanged):
40591 (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40592 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40593 (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
40594 * WebProcess/Plugins/PluginController.h:
40595 * WebProcess/Plugins/PluginProxy.h:
40596 * WebProcess/Plugins/PluginProxy.messages.in:
40597 * WebProcess/Plugins/PluginView.cpp:
40598 (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
40599 * WebProcess/Plugins/PluginView.h:
40601 2011-08-22 Anders Carlsson <andersca@apple.com>
40603 Update the current NSTextInputContext whenever the plug-in complex text input state changes
40604 https://bugs.webkit.org/show_bug.cgi?id=66709
40606 Reviewed by Sam Weinig.
40608 Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
40609 context. Fixes a rare case when the out-of-line editing window wouldn't appear.
40611 * UIProcess/API/mac/WKView.mm:
40612 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40614 2011-08-19 Anders Carlsson <andersca@apple.com>
40616 Another attempt at fixing the Windows build.
40618 * UIProcess/PageClient.h:
40620 2011-08-19 Anders Carlsson <andersca@apple.com>
40624 * WebProcess/Plugins/PluginController.h:
40626 2011-08-19 Anders Carlsson <andersca@apple.com>
40628 Make the complex text input state a tri-state enum instead of a boolean
40629 https://bugs.webkit.org/show_bug.cgi?id=62245
40631 Reviewed by Sam Weinig.
40633 This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
40635 * PluginProcess/PluginControllerProxy.cpp:
40636 * PluginProcess/PluginControllerProxy.h:
40637 * PluginProcess/mac/PluginControllerProxyMac.mm:
40638 (WebKit::PluginControllerProxy::setComplexTextInputState):
40639 (WebKit::PluginControllerProxy::compositingRenderServerPort):
40640 * Shared/Plugins/mac: Added.
40641 * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
40642 (WebKit::isValidPluginComplexTextInputState):
40643 * UIProcess/API/mac/PageClientImpl.h:
40644 * UIProcess/API/mac/PageClientImpl.mm:
40645 (WebKit::PageClientImpl::setPluginComplexTextInputState):
40646 * UIProcess/API/mac/WKView.mm:
40647 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40648 * UIProcess/API/mac/WKViewInternal.h:
40649 * UIProcess/PageClient.h:
40650 * UIProcess/WebPageProxy.h:
40651 * UIProcess/WebPageProxy.messages.in:
40652 * UIProcess/mac/WebPageProxyMac.mm:
40653 (WebKit::WebPageProxy::setPluginComplexTextInputState):
40654 * WebKit2.xcodeproj/project.pbxproj:
40655 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40656 (WebKit::NetscapePlugin::NetscapePlugin):
40657 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40658 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40659 (WebKit::NetscapePlugin::platformSetFocus):
40660 (WebKit::NetscapePlugin::windowFocusChanged):
40661 (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40662 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40663 (WebKit::PluginProxy::setComplexTextInputState):
40664 * WebProcess/Plugins/PluginController.h:
40665 * WebProcess/Plugins/PluginProxy.cpp:
40666 * WebProcess/Plugins/PluginProxy.h:
40667 * WebProcess/Plugins/PluginProxy.messages.in:
40668 * WebProcess/Plugins/PluginView.cpp:
40669 (WebKit::PluginView::~PluginView):
40670 (WebKit::PluginView::setComplexTextInputState):
40671 (WebKit::PluginView::compositingRenderServerPort):
40672 * WebProcess/Plugins/PluginView.h:
40674 2011-08-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
40676 [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
40677 https://bugs.webkit.org/show_bug.cgi?id=65920
40679 Reviewed by Benjamin Poulain.
40681 This patch makes QDesktopWebView delegate the decision of whether a navigation
40682 should proceed to a slot in QML. The user of the DesktopWebView must implement a
40683 'navigationPolicyForUrl()' if it wants to use the feature.
40685 Such feature is useful for implementing opening links in "new tab" by using a
40686 specific mouse button or mouse button plus keyboard modifiers.
40688 The patch introduces a internal Qt-level interface called PolicyInterface, that
40689 is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
40690 provided for QDesktopWebView.
40692 * Shared/qt/WebCoreArgumentCodersQt.cpp:
40693 (CoreIPC::::encode):
40694 (CoreIPC::::decode):
40695 Implement the serialization of the Request URL, which is the only data
40696 we exposing from the Request.
40699 * UIProcess/qt/PolicyInterface.h: Added.
40700 * UIProcess/qt/QtWebPageProxy.cpp:
40701 (QtWebPageProxy::QtWebPageProxy):
40702 (QtWebPageProxy::init):
40703 * UIProcess/qt/QtWebPageProxy.h:
40704 Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.
40706 * UIProcess/qt/ClientImpl.h:
40707 * UIProcess/qt/ClientImpl.cpp:
40708 (toPolicyInterface):
40710 (toQtKeyboardModifiers):
40711 (qt_wk_decidePolicyForNavigationAction):
40712 Implement the callback for the Page Policy Client. It will translate the
40713 arguments to Qt jargon and call PolicyInterface.
40715 * UIProcess/qt/qdesktopwebpageproxy.cpp:
40716 (QDesktopWebPageProxy::QDesktopWebPageProxy):
40717 * UIProcess/API/qt/qdesktopwebview.h:
40718 * UIProcess/API/qt/qdesktopwebview_p.h:
40719 * UIProcess/API/qt/qdesktopwebview.cpp:
40722 (QDesktopWebViewPrivate::navigationPolicyForURL):
40723 The concrete implementation for QDesktopWebView. Its private object implements
40724 the PolicyInterface and try to call a possible function defined in QML (so return
40725 value and arguments all QVariants). If there's no such a function, returns the
40726 default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.
40728 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
40729 * UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
40730 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
40731 Add a test for DesktopWebView QML element making use of a button and a modifier to
40732 ignore a navigation.
40734 * UIProcess/qt/qtouchwebpageproxy.cpp:
40735 (QTouchWebPageProxy::QTouchWebPageProxy):
40736 For now, we don't have a PolicyInterface for QTouchWebView.
40738 2011-08-18 Anders Carlsson <andersca@apple.com>
40740 WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
40741 https://bugs.webkit.org/show_bug.cgi?id=66508
40742 <rdar://problem/9828476>
40744 Reviewed by Mark Rowe.
40747 (closeUnusedFileDescriptors):
40748 Check if a file descriptor is a kqueue and don't close it if that is the case. While this
40749 isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
40750 it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
40751 file descriptors from the parent process.
40753 2011-08-19 Benjamin Poulain <benjamin@webkit.org>
40755 [Qt][WK2] Add a basic engine to control the content of the viewport
40756 https://bugs.webkit.org/show_bug.cgi?id=66383
40758 Reviewed by Andreas Kling.
40760 Add ViewportInteractionEngine to handle the content of the viewport. The class make
40761 sure the QTouchWebPage stays in the viewport and in the boundaries.
40763 * UIProcess/API/qt/qdesktopwebview.cpp:
40764 (QDesktopWebViewPrivate::loadDidCommit):
40765 * UIProcess/API/qt/qdesktopwebview_p.h:
40766 * UIProcess/API/qt/qtouchwebpage.cpp:
40767 (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
40768 we can asume the position 0, 0 is always the top left of the page.
40769 (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
40770 in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
40771 * UIProcess/API/qt/qtouchwebpage.h:
40772 * UIProcess/API/qt/qtouchwebpage_p.h:
40773 * UIProcess/API/qt/qtouchwebview.cpp:
40774 (QTouchWebViewPrivate::QTouchWebViewPrivate):
40775 (QTouchWebViewPrivate::loadDidCommit):
40776 (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
40777 for reducing coupling.
40778 (QTouchWebViewPrivate::updateViewportConstraints):
40779 (QTouchWebViewPrivate::setViewportArguments):
40780 (QTouchWebView::geometryChanged):
40781 * UIProcess/API/qt/qtouchwebview.h:
40782 * UIProcess/API/qt/qtouchwebview_p.h:
40783 * UIProcess/qt/ClientImpl.cpp:
40784 (qt_wk_didCommitLoadForFrame):
40785 * UIProcess/qt/QtGestureRecognizer.cpp:
40786 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
40787 * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
40788 to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
40789 * UIProcess/qt/QtPanGestureRecognizer.cpp:
40790 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
40791 (WebKit::QtPanGestureRecognizer::recognize):
40792 * UIProcess/qt/QtPanGestureRecognizer.h:
40793 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
40794 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
40795 (WebKit::QtPinchGestureRecognizer::recognize):
40796 * UIProcess/qt/QtPinchGestureRecognizer.h:
40797 * UIProcess/qt/QtWebPageProxy.cpp:
40798 (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
40799 to reset the viewport state when the page change.
40800 * UIProcess/qt/QtWebPageProxy.h:
40801 * UIProcess/qt/TouchViewInterface.cpp:
40802 (WebKit::TouchViewInterface::TouchViewInterface):
40803 (WebKit::TouchViewInterface::contentSizeChanged):
40804 (WebKit::TouchViewInterface::loadDidCommit):
40805 * UIProcess/qt/TouchViewInterface.h:
40806 * UIProcess/qt/ViewInterface.h:
40807 * UIProcess/qt/ViewportInteractionEngine.cpp: Added.
40808 (WebKit::visibleRectInContentCoordinate):
40809 (WebKit::contentRectInViewportCoordinate):
40810 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
40811 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
40812 (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
40813 (WebKit::ViewportInteractionEngine::reset):
40814 (WebKit::ViewportInteractionEngine::setConstraints):
40815 (WebKit::ViewportInteractionEngine::panGestureStarted):
40816 (WebKit::ViewportInteractionEngine::panGestureRequestScroll):
40817 (WebKit::ViewportInteractionEngine::panGestureCancelled):
40818 (WebKit::ViewportInteractionEngine::panGestureEnded):
40819 (WebKit::ViewportInteractionEngine::pinchGestureStarted):
40820 (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
40821 (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40822 (WebKit::ViewportInteractionEngine::contentGeometryChanged):
40823 (WebKit::ViewportInteractionEngine::contentScaleChanged):
40824 (WebKit::ViewportInteractionEngine::updateContentIfNeeded):
40825 (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
40826 (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
40827 (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
40828 (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
40829 (WebKit::ViewportInteractionEngine::scaleContent):
40830 * UIProcess/qt/ViewportInteractionEngine.h: Added.
40831 (WebKit::ViewportInteractionEngine::Constraints::Constraints):
40832 (WebKit::operator==):
40833 * UIProcess/qt/qtouchwebpageproxy.cpp:
40834 (QTouchWebPageProxy::QTouchWebPageProxy):
40835 * UIProcess/qt/qtouchwebpageproxy.h:
40838 2011-08-19 Lars Knudsen <lars.knudsen@nokia.com>
40840 [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
40841 https://bugs.webkit.org/show_bug.cgi?id=66549
40843 Reviewed by Benjamin Poulain.
40845 * UIProcess/qt/QtWebPageProxy.cpp:
40846 (QtWebPageProxy::paint):
40847 * UIProcess/qt/QtWebPageProxy.h:
40849 2011-08-19 MORITA Hajime <morrita@google.com>
40851 Spell-checking against execCommand() inserted HTML doesn't care word boundary.
40852 https://bugs.webkit.org/show_bug.cgi?id=65902
40854 Reviewed by Ryosuke Niwa.
40856 Add exports for window.internals object.
40859 * win/WebKit2CFLite.def:
40861 2011-08-18 Beth Dakin <bdakin@apple.com>
40863 Reviewed by Sam Weinig.
40865 https://bugs.webkit.org/show_bug.cgi?id=66495
40866 Lion-specific scroller SPIs can use forward declaration instead of
40867 WebKitSystemInterface
40869 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
40870 (InitWebCoreSystemInterface):
40872 2011-08-18 Darin Adler <darin@apple.com>
40874 Made some code even more private to a particular file and class
40875 https://bugs.webkit.org/show_bug.cgi?id=66428
40877 Reviewed by Anders Carlsson.
40879 * UIProcess/API/mac/WKView.mm:
40880 (-[WKView _setDrawingAreaSize:]): Made this file internal.
40881 * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
40882 * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.
40884 2011-08-18 Amruth Raj <amruthraj@motorola.com>
40886 [GTK] [WK2] Activating sub menus cause the WebProcess to crash
40887 https://bugs.webkit.org/show_bug.cgi?id=66471
40889 Reviewed by Anders Carlsson.
40891 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
40892 (WebKit::WebContextMenuProxyGtk::createGtkMenu):
40894 2011-08-18 Adam Roben <aroben@apple.com>
40896 Update the device scale factor when the WKView's window changes
40898 Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
40899 WebView is moved between windows with different backing scale factors
40901 Reviewed by Anders Carlsson.
40903 * UIProcess/API/mac/WKView.mm:
40904 (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
40905 window at all) might have a different backing scale factor than the previous one.
40906 (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
40908 2011-08-18 Adam Roben <aroben@apple.com>
40910 Make WebPageProxy keep track of the current device scale factor
40912 The device scale factor is no longer considered part of WebPageProxy's "view state". It now
40913 has its own setter/getter. This made the code a little simpler and more similar to the page
40914 scale factor. Each port-specific WebKit2 view is now responsible for calling
40915 WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have
40918 Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
40919 the current device scale factor
40921 Reviewed by Anders Carlsson.
40923 * UIProcess/API/efl/PageClientImpl.cpp:
40924 * UIProcess/API/efl/PageClientImpl.h:
40925 * UIProcess/API/gtk/PageClientImpl.h:
40926 * UIProcess/API/mac/PageClientImpl.h:
40927 * UIProcess/API/mac/PageClientImpl.mm:
40928 * UIProcess/PageClient.h:
40929 * UIProcess/qt/QtWebPageProxy.h:
40930 * UIProcess/win/WebView.h:
40931 Removed deviceScaleFactor.
40933 * UIProcess/API/mac/WKView.mm:
40934 (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
40935 (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
40937 * UIProcess/WebPageProxy.cpp:
40938 (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor.
40939 (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code.
40940 (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and
40941 tells the DrawingAreaProxy about it if it's actually changed.
40942 (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out
40945 * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
40946 replaces the DeviceScaleFactor ViewStateFlag.
40947 (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
40949 2011-08-17 Adam Roben <aroben@apple.com>
40951 Make WebCore keep track of the current device scale factor
40953 Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
40954 device scale factor
40956 Reviewed by Darin Adler.
40958 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
40959 * WebProcess/WebCoreSupport/WebChromeClient.h:
40960 Removed deviceScaleFactor.
40962 * WebProcess/WebPage/DrawingAreaImpl.cpp:
40963 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
40964 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
40965 (WebKit::DrawingAreaImpl::display):
40966 * WebProcess/WebPage/FindController.cpp:
40967 (WebKit::FindController::updateFindIndicator):
40968 (WebKit::FindController::hideFindIndicator):
40969 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
40970 (WebKit::LayerTreeHostCA::deviceScaleFactor):
40971 Changed to get the device scale factor from WebCore.
40973 * WebProcess/WebPage/WebPage.cpp:
40974 (WebKit::WebPage::WebPage):
40975 (WebKit::WebPage::setDeviceScaleFactor):
40976 * WebProcess/WebPage/WebPage.h:
40977 Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
40979 2011-08-17 Anders Carlsson <andersca@apple.com>
40981 Remove unused Core Animation related classes
40982 https://bugs.webkit.org/show_bug.cgi?id=66393
40984 Reviewed by Darin Adler.
40986 * Shared/mac/CoreAnimationRenderer.h: Removed.
40987 * Shared/mac/CoreAnimationRenderer.mm: Removed.
40988 * Shared/mac/ShareableSurface.cpp: Removed.
40989 * Shared/mac/ShareableSurface.h: Removed.
40990 * WebKit2.xcodeproj/project.pbxproj:
40992 2011-08-15 Dmitry Titov <dimich@chromium.org>
40994 FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
40995 https://bugs.webkit.org/show_bug.cgi?id=66165
40997 Reviewed by Darin Fisher.
40999 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41000 (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
41001 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
41003 2011-08-15 Balazs Kelemen <kbalazs@webkit.org>
41005 [Qt][WK2] Unreviewed build fix after r93058.
41007 * UIProcess/TiledDrawingAreaProxy.cpp:
41008 (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
41009 * UIProcess/TiledDrawingAreaProxy.h:
41011 2011-08-15 Adam Roben <aroben@apple.com>
41013 Update pages' style and content scale when the window's backing scale factor changes
41015 Unfortunately, I couldn't think of a way to test this in an automated fashion.
41017 Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
41018 scale factor changes
41020 Reviewed by Simon Fraser.
41022 * UIProcess/API/mac/WKView.mm:
41023 (-[WKView addWindowObserversForWindow:]):
41024 (-[WKView removeWindowObservers]):
41025 Listen for the notification that tells us the window's backing scale has changed.
41027 (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
41029 * UIProcess/DrawingAreaProxy.h:
41030 * UIProcess/DrawingAreaProxyImpl.h:
41031 Added deviceScaleFactorDidChange.
41033 * UIProcess/DrawingAreaProxyImpl.cpp:
41034 (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store
41035 since the current one is using an old device scale factor.
41036 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor
41037 along to the web process so it can render accordingly. This is how we tell the web process
41038 about device scale factor changes.
41040 * UIProcess/WebPageProxy.cpp:
41041 (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
41043 (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
41044 the PageClient. DrawingAreaProxy uses this function.
41046 * UIProcess/WebPageProxy.h: Added new members.
41048 * WebProcess/WebPage/DrawingArea.h:
41049 (WebKit::DrawingArea::updateBackingStoreState):
41050 * WebProcess/WebPage/DrawingArea.messages.in:
41051 * WebProcess/WebPage/DrawingAreaImpl.h:
41052 Send the device scale factor in the UpdateBackingStoreState message.
41054 * WebProcess/WebPage/DrawingAreaImpl.cpp:
41055 (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
41056 the new device scale factor.
41058 * WebProcess/WebPage/LayerTreeHost.h:
41059 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41060 Added deviceScaleFactorDidChange.
41062 * WebProcess/WebPage/WebPage.cpp:
41063 (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about
41064 it so that, e.g., scale-factor-dependent media queries will be reevaluated.
41066 * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
41068 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41069 (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
41070 content about the new scale factor.
41072 2011-08-15 Benjamin Poulain <benjamin@webkit.org>
41074 [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
41075 https://bugs.webkit.org/show_bug.cgi?id=66222
41077 Reviewed by Kenneth Rohde Christiansen.
41079 The function QTouchWebPagePrivate::getPageViewPrivate() exposed
41080 the private QTouchWebPage to any object in WebKit.
41082 Instead, use the friend keyword to list which objects can access
41083 the internal of QTouchWebPage.
41085 * UIProcess/API/qt/qtouchwebpage.h:
41086 * UIProcess/API/qt/qtouchwebpage_p.h:
41087 * UIProcess/API/qt/qtouchwebview.cpp:
41088 (QTouchWebViewPrivate::QTouchWebViewPrivate):
41089 (QTouchWebViewPrivate::viewportRectUpdated):
41091 2011-08-15 Balazs Kelemen <kbalazs@webkit.org>
41094 Fix Qt-WK2 build after r93040.
41096 * UIProcess/qt/QtWebPageProxy.h:
41097 (QtWebPageProxy::deviceScaleFactor):
41099 2011-08-10 Adam Roben <aroben@apple.com>
41101 Clear up scale factor terminology
41103 WebKit by and large deals with two scale factors: one intrinsic to the device on which the
41104 software is running, and one that is per-Page and can be controlled via API calls. This
41105 patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
41106 code use those names. It should introduce no behavior changes.
41108 Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
41109 device scale factor
41111 Reviewed by Simon Fraser.
41113 * Shared/UpdateInfo.cpp:
41114 * Shared/UpdateInfo.h:
41115 * Shared/WebPageCreationParameters.cpp:
41116 * Shared/WebPageCreationParameters.h:
41117 * UIProcess/API/C/WKPage.cpp:
41118 * UIProcess/API/efl/PageClientImpl.cpp:
41119 * UIProcess/API/efl/PageClientImpl.h:
41120 * UIProcess/API/gtk/PageClientImpl.h:
41121 * UIProcess/API/mac/PageClientImpl.h:
41122 * UIProcess/API/mac/PageClientImpl.mm:
41123 * UIProcess/BackingStore.cpp:
41124 * UIProcess/BackingStore.h:
41125 * UIProcess/DrawingAreaProxyImpl.cpp:
41126 * UIProcess/PageClient.h:
41127 * UIProcess/WebPageProxy.cpp:
41128 * UIProcess/WebPageProxy.h:
41129 * UIProcess/WebPageProxy.messages.in:
41130 * UIProcess/WebPopupMenuProxy.h:
41131 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
41132 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
41133 * UIProcess/mac/BackingStoreMac.mm:
41134 * UIProcess/mac/WebPageProxyMac.mm:
41135 * UIProcess/mac/WebPopupMenuProxyMac.h:
41136 * UIProcess/mac/WebPopupMenuProxyMac.mm:
41137 * UIProcess/qt/WebPopupMenuProxyQt.h:
41138 * UIProcess/win/WebPopupMenuProxyWin.h:
41139 * UIProcess/win/WebView.h:
41140 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
41141 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41142 * WebProcess/WebCoreSupport/WebChromeClient.h:
41143 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41144 * WebProcess/WebPage/DrawingAreaImpl.cpp:
41145 * WebProcess/WebPage/FindController.cpp:
41146 * WebProcess/WebPage/WebPage.cpp:
41147 * WebProcess/WebPage/WebPage.h:
41148 * WebProcess/WebPage/WebPage.messages.in:
41149 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41150 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41152 2011-08-13 Sam Weinig <sam@webkit.org>
41154 Remove unused variables from WKFullScreenWindowController.h
41155 https://bugs.webkit.org/show_bug.cgi?id=66193
41157 Reviewed by Dan Bernstein.
41159 * UIProcess/mac/WKFullScreenWindowController.h:
41160 Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
41162 2011-08-12 Dan Bernstein <mitz@apple.com>
41164 <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
41165 https://bugs.webkit.org/show_bug.cgi?id=66178
41167 Reviewed by Simon Fraser.
41169 * Shared/WebPreferencesStore.h:
41170 * UIProcess/API/C/WKPreferences.cpp:
41171 (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
41172 (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
41173 * UIProcess/API/C/WKPreferencesPrivate.h:
41174 * WebProcess/WebPage/WebPage.cpp:
41175 (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
41177 2011-08-12 Mark Rowe <mrowe@apple.com>
41179 Be more forward-looking in the choice of compiler.
41181 Rubber-stamped by Jon Honeycutt.
41183 * Configurations/CompilerVersion.xcconfig:
41185 2011-08-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
41187 VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
41188 https://bugs.webkit.org/show_bug.cgi?id=66109
41190 Reviewed by Anders Carlsson.
41192 Multiply vector size by element size in encode/decode to get correct byte size of vector data.
41194 * Platform/CoreIPC/ArgumentCoders.h:
41196 2011-08-11 Nico Weber <thakis@chromium.org>
41198 Remove incorrect comment about m_wheelEventHandlerCount
41199 https://bugs.webkit.org/show_bug.cgi?id=66117
41201 Reviewed by Simon Fraser.
41203 From what I can tell, this number is changed only in
41204 Frame::notifyChromeClientWheelEventHandlerCountChanged(),
41205 and there it just reads the number modified in
41206 Document::didAdd/RemoveWheelEventHandler(). So this is just the number
41207 of event handlers (and not related to horizontal scrollbars), and the
41208 variable name expresses that already.
41210 * UIProcess/WebPageProxy.h:
41212 2011-08-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
41214 [Qt/WK2] Add initial support for viewport meta tag
41215 https://bugs.webkit.org/show_bug.cgi?id=65975
41217 Reviewed by Benjamin Poulain.
41219 Redirect the viewport arguments through to the view.
41221 * UIProcess/API/qt/qdesktopwebview.cpp:
41222 (QDesktopWebViewPrivate::didReceiveViewportArguments):
41223 * UIProcess/API/qt/qdesktopwebview_p.h:
41224 * UIProcess/API/qt/qtouchwebview.cpp:
41225 (QTouchWebView::geometryChanged):
41226 * UIProcess/qt/QtWebPageProxy.cpp:
41227 (QtWebPageProxy::setViewportArguments):
41228 * UIProcess/qt/QtWebPageProxy.h:
41229 * UIProcess/qt/TouchViewInterface.cpp:
41230 (WebKit::TouchViewInterface::updateViewportState):
41231 (WebKit::TouchViewInterface::didReceiveViewportArguments):
41232 * UIProcess/qt/TouchViewInterface.h:
41233 (WebKit::TouchViewInterface::ViewportState::ViewportState):
41234 * UIProcess/qt/ViewInterface.h:
41235 * UIProcess/qt/qtouchwebpageproxy.cpp:
41236 (QTouchWebPageProxy::QTouchWebPageProxy):
41237 * UIProcess/qt/qtouchwebpageproxy.h:
41239 2011-08-10 David Hyatt <hyatt@apple.com>
41241 https://bugs.webkit.org/show_bug.cgi?id=66004
41243 Removing the CSS Regions and CSS Exclusions ifdefs.
41245 Reviewed by Adam Roben.
41247 * Configurations/FeatureDefines.xcconfig:
41249 2011-08-10 Alexey Proskuryakov <ap@apple.com>
41251 Accidentally commented out an assertion in BackingStore::incorporateUpdate
41252 https://bugs.webkit.org/show_bug.cgi?id=65989
41254 Reviewed by Anders Carlsson.
41256 I couldn't get this assertion to fire in quick testing, let's bring it back.
41258 * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate):
41260 2011-08-10 Lars Knudsen <lars.knudsen@nokia.com>
41262 Add device specific settings to support viewport computing
41263 https://bugs.webkit.org/show_bug.cgi?id=65984
41265 Reviewed by Kenneth Rohde Christiansen.
41267 Expose new viewport related WebCore settings to WebKit2.
41269 * Shared/WebPreferencesStore.h:
41270 * WebProcess/WebPage/WebPage.cpp:
41271 (WebKit::WebPage::updatePreferences):
41273 2011-08-09 John Sullivan <sullivan@apple.com>
41275 WKPageCopyPendingAPIRequestURL returns stale result if policy decision set to Ignore
41276 https://bugs.webkit.org/show_bug.cgi?id=65950
41277 <rdar://problem/9925931>
41279 Reviewed by Anders Carlsson.
41281 * UIProcess/WebPageProxy.cpp:
41282 (WebKit::WebPageProxy::receivedPolicyDecision):
41283 Call clearPendingAPIRequestURL() if the policy decision is PolicyIgnore.
41285 2011-08-09 Anders Carlsson <andersca@apple.com>
41287 Add a WebKit prefix to the user default.
41289 Reviewed by Dan Bernstein.
41291 * UIProcess/mac/WebContextMac.mm:
41292 (WebKit::WebContext::platformInitializeWebProcess):
41294 2011-08-09 Anders Carlsson <andersca@apple.com>
41296 Add a user default to disable the plug-in process message timeout
41297 https://bugs.webkit.org/show_bug.cgi?id=65945
41299 Reviewed by Adam Roben.
41301 * Shared/WebProcessCreationParameters.cpp:
41302 (WebKit::WebProcessCreationParameters::encode):
41303 (WebKit::WebProcessCreationParameters::decode):
41304 * Shared/WebProcessCreationParameters.h:
41305 Add a disablePluginProcessMessageTimeout member variable.
41307 * UIProcess/mac/WebContextMac.mm:
41308 (WebKit::WebContext::platformInitializeWebProcess):
41309 Initialize the disablePluginProcessMessageTimeout member variable from the
41310 "DisablePluginProcessMessageTimeout" user default.
41312 * WebProcess/Plugins/PluginProcessConnection.cpp:
41313 (WebKit::defaultSyncMessageTimeout):
41314 Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.
41316 * WebProcess/WebProcess.cpp:
41317 (WebKit::WebProcess::WebProcess):
41318 (WebKit::WebProcess::initializeWebProcess):
41319 Initialize m_disablePluginProcessMessageTimeout.
41321 * WebProcess/WebProcess.h:
41322 (WebKit::WebProcess::disablePluginProcessMessageTimeout):
41325 2011-08-09 Mark Hahnenberg <mhahnenberg@apple.com>
41327 Add ParentClass typedef in all JSC classes
41328 https://bugs.webkit.org/show_bug.cgi?id=65731
41330 Reviewed by Oliver Hunt.
41332 Just added the Base typedefs in all the classes that are a subclass of JSCell
41333 to point at their parent classes. This is a change to support future changes to the way
41334 constructors and destructors are implemented in JS objects, among other things.
41336 * WebProcess/Plugins/Netscape/JSNPMethod.h:
41337 * WebProcess/Plugins/Netscape/JSNPObject.h:
41339 2011-08-08 Adrienne Walker <enne@google.com>
41341 Add testing for --force-compositing-mode to windows.internal
41342 https://bugs.webkit.org/show_bug.cgi?id=65777
41344 Reviewed by Adam Barth.
41346 Add exports for Document::settings().
41349 * win/WebKit2CFLite.def:
41351 2011-08-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
41353 [Qt] Redirect didFindZoomableArea thru to the view
41354 https://bugs.webkit.org/show_bug.cgi?id=65913
41356 Reviewed by Andreas Kling.
41358 * UIProcess/API/qt/qdesktopwebview.cpp:
41359 (QDesktopWebViewPrivate::didFindZoomableArea):
41360 * UIProcess/API/qt/qdesktopwebview_p.h:
41361 * UIProcess/qt/QtWebPageProxy.cpp:
41362 (QtWebPageProxy::didFindZoomableArea):
41363 * UIProcess/qt/QtWebPageProxy.h:
41364 * UIProcess/qt/TouchViewInterface.cpp:
41365 (WebKit::TouchViewInterface::didFindZoomableArea):
41366 * UIProcess/qt/TouchViewInterface.h:
41367 * UIProcess/qt/ViewInterface.h:
41368 * UIProcess/qt/qdesktopwebpageproxy.cpp:
41369 (QDesktopWebPageProxy::timerEvent):
41370 * UIProcess/qt/qdesktopwebpageproxy.h:
41371 * UIProcess/qt/qtouchwebpageproxy.cpp:
41372 (QTouchWebPageProxy::setContentsScale):
41373 * UIProcess/qt/qtouchwebpageproxy.h:
41375 2011-08-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
41377 [Qt] Vastly improve the algorithm for finding a zoomable area when doing double-tap
41378 https://bugs.webkit.org/show_bug.cgi?id=65907
41380 Reviewed by Andreas Kling.
41382 This is upstreaming of the algorithm we are currently using on the N9 browser
41383 and this also fixes a bug with not considering the frame positions when finding
41386 * UIProcess/PageClient.h:
41387 * UIProcess/WebPageProxy.cpp:
41388 (WebKit::WebPageProxy::didFindZoomableArea):
41389 * UIProcess/WebPageProxy.h:
41390 * UIProcess/WebPageProxy.messages.in:
41391 * UIProcess/qt/qdesktopwebpageproxy.cpp:
41392 (QDesktopWebPageProxy::didFindZoomableArea):
41393 * UIProcess/qt/qdesktopwebpageproxy.h:
41394 * UIProcess/qt/qtouchwebpageproxy.cpp:
41395 (QTouchWebPageProxy::didFindZoomableArea):
41396 * UIProcess/qt/qtouchwebpageproxy.h:
41397 * WebProcess/WebPage/WebPage.cpp:
41398 (WebKit::WebPage::findZoomableAreaForPoint):
41400 2011-08-08 Chris Marrin <cmarrin@apple.com>
41402 Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
41403 https://bugs.webkit.org/show_bug.cgi?id=65708
41405 Supply initial display rects for the full-screen case
41407 Reviewed by Simon Fraser.
41409 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
41410 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
41411 (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
41412 (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
41414 2011-08-08 Dan Bernstein <mitz@apple.com>
41416 <rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window
41417 https://bugs.webkit.org/show_bug.cgi?id=65860
41419 Reviewed by Simon Fraser.
41421 When layer flush scheduling is re-enabled, schedule a layer flush, just in case one was requested while
41422 scheduling was disabled. It doesn’t seem worthwhile to track whether that in fact happened, so do so
41425 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
41426 (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled):
41427 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41428 (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled):
41430 2011-08-05 Pavel Feldman <pfeldman@chromium.org>
41432 Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
41433 https://bugs.webkit.org/show_bug.cgi?id=65763
41435 InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
41436 since in the multiprocess environment, you can't immediately get back to it from the host.
41438 r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
41439 was asking itself a question. This loop was fixed.
41441 Reviewed by Yury Semikhatsky.
41443 * UIProcess/WebInspectorProxy.cpp:
41444 (WebKit::WebInspectorProxy::attach):
41445 (WebKit::WebInspectorProxy::createInspectorPage):
41446 (WebKit::WebInspectorProxy::didLoadInspectorPage):
41447 (WebKit::WebInspectorProxy::shouldOpenAttached):
41448 * UIProcess/WebInspectorProxy.h:
41449 * UIProcess/WebInspectorProxy.messages.in:
41450 * UIProcess/efl/WebInspectorEfl.cpp:
41451 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41452 * UIProcess/gtk/WebInspectorGtk.cpp:
41453 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41454 * UIProcess/mac/WebInspectorProxyMac.mm:
41455 (WebKit::WebInspectorProxy::platformOpen):
41456 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41457 * UIProcess/qt/WebInspectorProxyQt.cpp:
41458 (WebKit::WebInspectorProxy::platformOpen):
41459 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41460 * UIProcess/win/WebInspectorProxyWin.cpp:
41461 (WebKit::WebInspectorProxy::platformOpen):
41462 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41463 * WebProcess/WebPage/WebInspector.cpp:
41464 (WebKit::WebInspector::didLoadInspectorPage):
41465 * WebProcess/WebPage/WebInspector.h:
41466 * WebProcess/WebPage/WebInspector.messages.in:
41468 2011-08-07 Joseph Pecoraro <joepeck@webkit.org>
41470 [QT] Possible Leaks WKRetainPtr<> should Adopt allocated Copy
41471 https://bugs.webkit.org/show_bug.cgi?id=65790
41473 Reviewed by Sam Weinig.
41475 Fix a leak by adopting an allocation instead of retaining it.
41477 * UIProcess/qt/qwkhistory.cpp:
41478 (QWKHistoryItem::title):
41479 (QWKHistoryItem::url):
41481 2011-08-06 Mark Rowe <mrowe@apple.com>
41483 Fix a memory leak found via code inspection.
41485 Rubber-stamped by Dan Bernstein.
41487 * WebProcess/Downloads/mac/DownloadMac.mm:
41488 (WebKit::setOriginalURLForDownload): Adopt the newly-allocated NSURL instance
41489 so that it does not leak.
41491 2011-08-06 Aron Rosenberg <arosenberg@logitech.com>
41493 Reviewed by Benjamin Poulain.
41495 [Qt] Fix build with Intel compiler on Windows
41496 https://bugs.webkit.org/show_bug.cgi?id=65088
41498 Intel compiler needs .lib suffixes instead of .a
41502 2011-08-05 Darin Adler <darin@apple.com>
41504 Reviewed by Anders Carlsson.
41506 [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state
41507 https://bugs.webkit.org/show_bug.cgi?id=63779
41509 * WebProcess/Plugins/PluginView.cpp:
41510 (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable.
41512 * WebProcess/WebPage/WebPage.cpp:
41513 (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to
41514 setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since
41515 the function uses a graphics context that it then throws away.
41516 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto.
41518 2011-08-04 Mark Rowe <mrowe@apple.com>
41520 Future-proof Xcode configuration settings.
41522 * Configurations/Base.xcconfig:
41523 * Configurations/CompilerVersion.xcconfig:
41524 * Configurations/DebugRelease.xcconfig:
41525 * Configurations/Version.xcconfig:
41526 * Configurations/WebKit2.xcconfig:
41528 2011-08-01 Brian Weinstein <bweinstein@apple.com>
41530 WebKit2: Web Inspector always starts in undocked mode
41531 https://bugs.webkit.org/show_bug.cgi?id=65493
41532 <rdar://problem/9353114>
41534 Reviewed by Adam Roben.
41536 When opening the inspector, the web process tells the UI process that the inspector page has loaded,
41537 but now will pass another bit of data, whether the inspector can start attached, so the UI process
41538 doesn't need to ask the web process to do another calculation on whether or not it can be attached.
41540 If the user prefers the inspector to start docked (this defaults to true), and there is room for the
41541 window, we send a message to the web process to try and attach the inspector. This makes sure that the
41542 inspector knows it is docked (in the web process).
41544 * UIProcess/WebInspectorProxy.cpp:
41545 (WebKit::WebInspectorProxy::attach): Update the user's docked/undocked preference if the inspector is visible
41546 when it was attached.
41547 (WebKit::WebInspectorProxy::detach): Ditto (but when it was detached).
41548 (WebKit::WebInspectorProxy::didLoadInspectorPage): If we can start docked, and the user prefers to start docked,
41549 then request the inspector be attached to the window.
41550 * UIProcess/WebInspectorProxy.h:
41552 * UIProcess/mac/WebInspectorProxyMac.mm:
41553 (WebKit::WebInspectorProxy::platformOpen): Only show the window if we are going to start undocked.
41554 * UIProcess/win/WebInspectorProxyWin.cpp:
41555 (WebKit::WebInspectorProxy::platformOpen): Ditto.
41557 * WebProcess/WebPage/WebInspector.cpp:
41558 (WebKit::WebInspector::didLoadInspectorPage): Pass whether or not we can attach the window.
41559 (WebKit::WebInspector::requestAttachWindow): Call through to the InspectorController to attach the inspector.
41560 (WebKit::WebInspector::canAttachWindow): Ask the InspectorController if we can attach the inspector.
41561 * WebProcess/WebPage/WebInspector.h:
41563 * Shared/WebPreferencesStore.h: Add a new preference for whether or not the inspector should
41566 * UIProcess/WebInspectorProxy.messages.in: When the inspector page is loaded, tell the UI Process whether
41567 we can attach the inspector without needing another message.
41568 * WebProcess/WebPage/WebInspector.messages.in: Add a new message for RequestAttachWindow
41570 2011-08-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
41572 [Qt][WK2] Create scene graph nodes for tiles in QTouchWebView instead of using imperative painting.
41573 https://bugs.webkit.org/show_bug.cgi?id=65528
41575 Reviewed by Benjamin Poulain.
41577 Converts QTouchWebPage from QSGPaintedItem to a straight QSGItem.
41578 - A SGTileNode is created and added to the scene graph for each tile,
41579 positioning them relatively to the page.
41580 It's basically a QSGSimpleTextureNode with support for specifying a
41581 source rect plus for owning the QSGTexture for proper destruction on
41582 shutdown by the rendering thread.
41583 - Scale nodes are used as parent of tile nodes to revert the scaling set on the
41584 QTouchWebPage and allow us to keep using integer coordinates.
41585 - The SGAgent class is introduced to carry scene graph update request up to the
41586 updatePaintNode call of the item, which may be on the scene graph rendering thread.
41588 * UIProcess/API/qt/qtouchwebpage.cpp:
41589 (QTouchWebPage::QTouchWebPage):
41590 (QTouchWebPage::updatePaintNode):
41591 Delegate scene graph updates to the SGAgent which received update requests from the tiled drawing area.
41592 (QTouchWebPage::event):
41593 (QTouchWebPage::geometryChanged):
41594 (QTouchWebPagePrivate::QTouchWebPagePrivate):
41595 * UIProcess/API/qt/qtouchwebpage.h:
41596 * UIProcess/API/qt/qtouchwebpage_p.h:
41597 * UIProcess/TiledDrawingAreaProxy.cpp:
41598 Manage the scale node in the TileSet, it will be the parent node of Tile nodes.
41599 (WebKit::TiledDrawingAreaTileSet::sgNodeID):
41600 (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
41601 (WebKit::TiledDrawingAreaTileSet::~TiledDrawingAreaTileSet):
41602 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
41603 (WebKit::TiledDrawingAreaProxy::setContentsScale):
41604 (WebKit::TiledDrawingAreaProxy::createTiles):
41605 (WebKit::TiledDrawingAreaProxy::removeAllTiles):
41606 * UIProcess/TiledDrawingAreaTile.h:
41607 (WebKit::TiledDrawingAreaTile::create):
41608 * UIProcess/qt/SGAgent.cpp: Added.
41609 * UIProcess/qt/SGAgent.h: Added.
41610 * UIProcess/qt/SGTileNode.cpp: Added.
41611 * UIProcess/qt/SGTileNode.h: Added.
41612 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
41613 Disable the paint call and update the scene graph on incorporateUpdate through the SGAgent.
41614 (WebKit::TiledDrawingAreaProxy::updateWebView):
41615 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
41616 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
41617 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
41618 (WebKit::TiledDrawingAreaTile::isReadyToPaint):
41619 (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
41620 (WebKit::TiledDrawingAreaTile::paint):
41621 (WebKit::TiledDrawingAreaTile::incorporateUpdate):
41622 (WebKit::TiledDrawingAreaTile::disableUpdates):
41623 (WebKit::TiledDrawingAreaTile::setParentNodeID):
41624 * UIProcess/qt/TouchViewInterface.cpp:
41625 (WebKit::TouchViewInterface::sceneGraphAgent):
41626 (WebKit::TouchViewInterface::setViewNeedsDisplay):
41627 * UIProcess/qt/TouchViewInterface.h:
41630 2011-08-04 Alexis Menard <alexis.menard@openbossa.org>
41632 [Qt] Make navigation actions properly usable in QML.
41633 https://bugs.webkit.org/show_bug.cgi?id=65624
41635 Add a new class that is exposed in QML to control the navigation
41636 like reload/stop/back/forward. Enums are not very QML friendly,
41637 it not possible to use enums that are not declared in the same class
41638 than the object exposed in QML, therefore it makes hard the sharing
41639 between the desktop and the touch views. In addition namespaced enums are
41640 even harder to support in QML. QWebNavigationController is
41641 not really meant to be used in C++ but it is exported for convenience
41642 reason (tests and MiniBrowser) so its API is not meant to be public but
41643 exposed in QML through properties and convenience slots. The QML code to use
41644 the navigation action in QML will look like "desktopView.navigation.reload();"
41645 or "if (desktopView.navigation.reloadAction.enabled) ...".
41647 Reviewed by Benjamin Poulain.
41649 * UIProcess/API/qt/WKView.h: To get the forward header generated
41650 * UIProcess/API/qt/qdesktopwebview.cpp:
41651 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
41652 (QDesktopWebView::navigationController):
41653 * UIProcess/API/qt/qdesktopwebview.h:
41654 * UIProcess/API/qt/qdesktopwebview_p.h:
41655 * UIProcess/API/qt/qmlplugin/plugin.cpp:
41656 (WebKit2QmlPlugin::registerTypes):
41657 * UIProcess/API/qt/qtouchwebpage.cpp:
41658 (QTouchWebPage::navigationController):
41659 (QTouchWebPagePrivate::QTouchWebPagePrivate):
41660 * UIProcess/API/qt/qtouchwebpage.h:
41661 * UIProcess/API/qt/qtouchwebpage_p.h:
41662 * UIProcess/API/qt/qwebnavigationcontroller.cpp: Added.
41663 (QWebNavigationControllerPrivate::QWebNavigationControllerPrivate):
41664 (QWebNavigationController::QWebNavigationController):
41665 (QWebNavigationController::~QWebNavigationController):
41666 (QWebNavigationController::backAction):
41667 (QWebNavigationController::forwardAction):
41668 (QWebNavigationController::stopAction):
41669 (QWebNavigationController::reloadAction):
41670 (QWebNavigationController::navigationAction):
41671 (QWebNavigationController::back):
41672 (QWebNavigationController::forward):
41673 (QWebNavigationController::stop):
41674 (QWebNavigationController::reload):
41675 * UIProcess/API/qt/qwebnavigationcontroller.h: Added.
41676 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
41677 (WebViewAbstraction::triggerNavigationAction):
41678 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41679 (tst_QDesktopWebView::navigationActionsStatusAtStartup):
41680 (LoadStartedCatcher::onLoadStarted):
41681 (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
41682 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41683 (tst_QTouchWebView::navigationActionsStatusAtStartup):
41686 2011-08-03 Jeff Miller <jeffm@apple.com>
41688 Use of AVFoundation should default to off on Windows
41689 https://bugs.webkit.org/show_bug.cgi?id=65660
41691 Reviewed by Darin Adler.
41693 * Shared/WebPreferencesStore.h: Change default value for AVFoundationEnabled to false on Windows, it's still true on other platforms.
41695 2011-08-03 Mark Rowe <mrowe@apple.com>
41697 Bring some order to FeatureDefines.xcconfig to make it easier to follow.
41699 Reviewed by Sam Weinig.
41701 * Configurations/FeatureDefines.xcconfig:
41703 2011-08-03 Mark Rowe <mrowe@apple.com>
41705 Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
41707 Reviewed by Dave Kilzer.
41709 * Configurations/FeatureDefines.xcconfig:
41711 2011-08-03 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
41713 [Qt] [WK2] Improve position of context menu for QDesktopWebView
41714 https://bugs.webkit.org/show_bug.cgi?id=65635
41716 Reviewed by Andreas Kling.
41718 Do not assume that the QDesktopWebView takes the entire canvas when
41719 positioning the context menu.
41721 * UIProcess/API/qt/qdesktopwebview.cpp:
41722 (QDesktopWebViewPrivate::showContextMenu):
41724 2011-08-03 Anders Carlsson <andersca@apple.com>
41728 Initialize threading before trying to allocate the WebContext.
41730 * UIProcess/WebContext.cpp:
41731 (WebKit::WebContext::sharedProcessContext):
41732 (WebKit::WebContext::create):
41734 2011-08-03 Pavel Feldman <pfeldman@google.com>
41736 Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
41737 https://bugs.webkit.org/show_bug.cgi?id=65510
41739 Reviewed by Yury Semikhatsky.
41741 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41742 (WebKit::WebInspectorClient::drawRect):
41744 2011-08-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
41746 [Qt] [WK2] Expose web view classes to QML
41747 https://bugs.webkit.org/show_bug.cgi?id=65339
41749 Reviewed by Benjamin Poulain.
41751 This patch also uses QuickTest from QtDeclarative to provide the basic autotest
41752 infrastructure for the exposed elements.
41754 * UIProcess/API/qt/qmlplugin/plugin.cpp: Added.
41755 (WebKit2QmlPlugin::registerTypes):
41756 * UIProcess/API/qt/qmlplugin/qmldir: Added.
41757 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Added.
41758 * UIProcess/API/qt/qtouchwebpage.h: Expose load() to QML environment.
41759 * UIProcess/API/qt/qtouchwebview.h: Since QTouchWebPage* doesn't change once set
41760 in the constructor, we mark the page property as CONSTANT. This avoid QML
41761 warnings for not having a NOTIFY signal for the property change.
41763 * UIProcess/API/qt/tests/tests.pro:
41764 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Added.
41765 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: Added.
41766 * UIProcess/API/qt/tests/qmltests/common/test1.html: Added.
41767 * UIProcess/API/qt/tests/qmltests/qmltests.pro: Added.
41768 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Added.
41770 2011-08-03 Carlos Garcia Campos <cgarcia@igalia.com>
41772 [GTK] Install web and plugin processes in libexecdir instead of bindir
41773 https://bugs.webkit.org/show_bug.cgi?id=65600
41775 Reviewed by Martin Robinson.
41777 Launch processes from libexecdir or WEBKIT_EXEC_PATH
41778 environment variable when it's set. This variable will be used by
41779 MiniBrowser and unit tests to find processes without having to
41783 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
41784 (WebKit::ProcessLauncher::launchProcess):
41786 2011-08-03 Pavel Feldman <pfeldman@chromium.org>
41788 Web Inspector: remove Node parameter from the InspectorClient::highlight
41789 https://bugs.webkit.org/show_bug.cgi?id=65549
41791 Reviewed by Yury Semikhatsky.
41793 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41794 (WebKit::WebInspectorClient::highlight):
41795 * WebProcess/WebCoreSupport/WebInspectorClient.h:
41797 2011-08-03 Carlos Garcia Campos <cgarcia@igalia.com>
41799 [GTK] Reorganize pkg-config files
41800 https://bugs.webkit.org/show_bug.cgi?id=65548
41802 Reviewed by Martin Robinson.
41804 * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
41805 depends on gtk3 unconditionally so we don't need to use
41807 * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
41809 2011-08-01 Michael Saboff <msaboff@apple.com>
41811 Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
41812 https://bugs.webkit.org/show_bug.cgi?id=65502
41814 Reviewed by Anders Carlsson.
41816 Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag
41817 so that the original memory region isn't referenced by the message and ultimately
41818 the receiving process. The additional reference caused madvise(MADV_FREE_REUSABLE)
41819 to fail when it encountered such pages.
41821 * Platform/CoreIPC/mac/ConnectionMac.cpp:
41822 (CoreIPC::Connection::sendOutgoingMessage):
41824 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
41826 [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests.
41827 https://bugs.webkit.org/show_bug.cgi?id=65378
41829 Reviewed by Benjamin Poulain.
41831 This prevent the runner of the tests from having to add it to PATH himself.
41833 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
41834 (tst_CommonViewTests::tst_CommonViewTests):
41835 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41836 (tst_QDesktopWebView::tst_QDesktopWebView):
41837 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41838 (tst_QTouchWebView::tst_QTouchWebView):
41839 * UIProcess/API/qt/tests/tests.pri:
41840 * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h.
41841 Move definitions to a cpp file to prevent unused static symbol warnings.
41842 (addQtWebProcessToPath):
41844 * UIProcess/API/qt/tests/util.h:
41846 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
41848 TiledDrawingArea: Handle update requests in the order they were received.
41849 https://bugs.webkit.org/show_bug.cgi?id=64365
41851 Reviewed by Andreas Kling.
41853 TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the
41854 center of the viewport to decide which tile should be rendered first.
41855 This logic is useless if the requests are not handled in the same order
41856 as they were received.
41857 Now use a list instead of a map to hold pending tile update requests.
41859 * WebProcess/WebPage/TiledDrawingArea.cpp:
41860 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
41861 (WebKit::TiledDrawingArea::cancelTileUpdate):
41862 (WebKit::TiledDrawingArea::requestTileUpdate):
41863 * WebProcess/WebPage/TiledDrawingArea.h:
41865 2011-08-02 Amruth Raj <amruthraj@motorola.com>
41867 Custom cursors cause the WebProcess to crash
41868 https://bugs.webkit.org/show_bug.cgi?id=64802
41870 Reviewed by Martin Robinson.
41872 * Shared/WebCoreArgumentCoders.cpp:
41873 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41874 (CoreIPC::::decode): Decode the image only if required.
41876 2011-08-01 Scott Graham <scottmg@chromium.org>
41878 REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
41879 https://bugs.webkit.org/show_bug.cgi?id=61006
41881 Reviewed by Antti Koivisto.
41883 Update exports for test harness.
41886 * win/WebKit2CFLite.def:
41888 2011-08-01 Hayato Ito <hayato@chromium.org>
41890 Add support for getting an element in shadow root by its id into a window.internals object.
41891 https://bugs.webkit.org/show_bug.cgi?id=64587
41893 Reviewed by Hajime Morita.
41896 * win/WebKit2CFLite.def:
41898 2011-08-01 Sheriff Bot <webkit.review.bot@gmail.com>
41900 Unreviewed, rolling out r92108.
41901 http://trac.webkit.org/changeset/92108
41902 https://bugs.webkit.org/show_bug.cgi?id=65459
41904 breaks SL compile (Requested by tonyg-cr on #webkit).
41906 * Shared/WebCoreArgumentCoders.cpp:
41907 (CoreIPC::::encode):
41908 (CoreIPC::::decode):
41910 2011-08-01 Amruth Raj <amruthraj@motorola.com>
41912 Custom cursors cause the WebProcess to crash
41913 https://bugs.webkit.org/show_bug.cgi?id=64802
41915 Reviewed by Darin Adler.
41917 * Shared/WebCoreArgumentCoders.cpp:
41918 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41919 (CoreIPC::::decode): Decode the image only if required.
41921 2011-07-31 Daniel Bates <dbates@webkit.org>
41923 Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419).
41925 * win/WebKit2CFLite.def: Export symbols needed by Internals.
41927 2011-07-30 Dan Bernstein <mitz@apple.com>
41929 Try to fix the Windows build after r92059.
41931 * win/WebKit2.def: Export symbols needed by Internals.
41933 2011-07-30 Patrick Gansterer <paroga@webkit.org>
41935 Remove inclusion of MainThread.h from Threading.h
41936 https://bugs.webkit.org/show_bug.cgi?id=65081
41938 Reviewed by Darin Adler.
41940 Add missing include statements for MainThread.
41942 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
41943 * PluginProcess/mac/PluginProcessMainMac.mm:
41944 * PluginProcess/qt/PluginProcessMainQt.cpp:
41945 * UIProcess/API/mac/WKPrintingView.mm:
41946 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
41947 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
41948 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
41949 * UIProcess/WebContext.cpp:
41950 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41951 * WebProcess/efl/WebProcessMainEfl.cpp:
41952 * WebProcess/gtk/WebProcessMainGtk.cpp:
41953 * WebProcess/mac/KeychainItemShimMethods.mm:
41954 * WebProcess/mac/WebProcessMainMac.mm:
41955 * WebProcess/qt/WebProcessMainQt.cpp:
41956 * WebProcess/win/WebProcessMainWin.cpp:
41958 2011-07-30 Balazs Kelemen <kbalazs@webkit.org>
41960 [Qt][WK2] Fix the build afer r92014
41961 https://bugs.webkit.org/show_bug.cgi?id=65410
41963 Reviewed by Noam Rosenthal.
41965 * Shared/ShareableBitmap.h:
41966 * UIProcess/qt/qdesktopwebpageproxy.cpp:
41967 (QDesktopWebPageProxy::paintContent):
41969 2011-07-29 Sam Weinig <sam@webkit.org>
41971 Move Region code from WebKit2 to WebCore
41972 https://bugs.webkit.org/show_bug.cgi?id=65392
41974 Reviewed by David Hyatt.
41979 * WebKit2.xcodeproj/project.pbxproj:
41980 * win/WebKit2.vcproj:
41981 Update project files.
41983 * Platform/Region.cpp: Removed.
41984 * Platform/Region.h: Removed.
41985 Remove Region files.
41987 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
41988 (webkitWebViewBaseDraw):
41989 * UIProcess/API/mac/WKView.mm:
41990 * UIProcess/DrawingAreaProxyImpl.cpp:
41991 * UIProcess/DrawingAreaProxyImpl.h:
41992 * UIProcess/qt/qdesktopwebpageproxy.cpp:
41993 * UIProcess/win/WebView.cpp:
41994 * WebProcess/WebPage/DrawingAreaImpl.h:
41995 Update for new namespace and include type.
41997 2011-07-29 Anders Carlsson <andersca@apple.com>
41999 Pass the HTTP referrer header for URLs loaded by plug-ins
42000 https://bugs.webkit.org/show_bug.cgi?id=65379
42001 <rdar://problem/9822116>
42003 Reviewed by Sam Weinig.
42005 Set the HTTP referrer if necessary.
42007 * WebProcess/Plugins/PluginView.cpp:
42008 (WebKit::PluginView::loadURL):
42010 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42012 Fix the QTouchWebView in debug segfault on shutdown introduced in 91979.
42013 https://bugs.webkit.org/show_bug.cgi?id=64728
42015 Reviewed by Benjamin Poulain.
42017 unregisterTile is called in the tile's destructor, triggered in the TileSet's
42018 destruction, which happens in the middle of the proxy's destruction
42019 (after the m_tilesByID HashMap destruction).
42020 Detach the tiles in the proxy's destructor to make sure they can cleanup
42021 using a valid proxy.
42023 * UIProcess/TiledDrawingAreaProxy.cpp:
42024 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
42026 2011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42028 Fix the QTouchWebView in debug broke in 91979.
42029 https://bugs.webkit.org/show_bug.cgi?id=64728
42031 Reviewed by Benjamin Poulain.
42033 registerTile is called in the Tile's constructor, before adoptRef.
42034 Change the pointer parameter to use the raw type instead.
42036 * UIProcess/TiledDrawingAreaProxy.cpp:
42037 (WebKit::TiledDrawingAreaProxy::registerTile):
42038 * UIProcess/TiledDrawingAreaProxy.h:
42040 2011-07-29 Alexis Menard <alexis.menard@openbossa.org>
42042 [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML.
42043 https://bugs.webkit.org/show_bug.cgi?id=65315
42045 Reviewed by Benjamin Poulain.
42047 In order to use the loadProgress value in QML we need to make it
42048 a Q_PROPERTY, therefore we need a getter to get it.
42050 * UIProcess/API/qt/qdesktopwebview.cpp:
42051 (QDesktopWebViewPrivate::didChangeLoadProgress):
42052 (QDesktopWebView::url):
42053 (QDesktopWebView::loadProgress):
42054 * UIProcess/API/qt/qdesktopwebview.h:
42055 * UIProcess/API/qt/qtouchwebpage.cpp:
42056 (QTouchWebPage::loadProgress):
42057 * UIProcess/API/qt/qtouchwebpage.h:
42058 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
42059 (tst_CommonViewTests::stop):
42060 (tst_CommonViewTests::loadProgress):
42061 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
42062 (WebViewAbstraction::WebViewAbstraction):
42063 (WebViewAbstraction::loadProgress):
42064 (WebViewAbstraction::desktopViewLoadFailed):
42065 (WebViewAbstraction::touchViewLoadProgressChanged):
42066 (WebViewAbstraction::desktopViewLoadProgressChanged):
42067 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
42068 * UIProcess/qt/QtWebPageProxy.cpp:
42069 (QtWebPageProxy::QtWebPageProxy):
42070 (QtWebPageProxy::didChangeLoadProgress):
42071 * UIProcess/qt/QtWebPageProxy.h:
42072 (QtWebPageProxy::loadProgress):
42073 * UIProcess/qt/TouchViewInterface.cpp:
42074 (WebKit::TouchViewInterface::didChangeLoadProgress):
42076 2011-07-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42078 TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale.
42079 https://bugs.webkit.org/show_bug.cgi?id=64728
42081 Reviewed by Benjamin Poulain.
42083 We currently delete all the tiles when setContentsScale is called. This shows a blank
42084 background to the user while the web process render tiles for the new scale.
42086 This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to
42087 TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales.
42088 We can then paint the tiles we already have on top of the tiles we are rendering for
42089 the new scale until enough content is available.
42091 * UIProcess/TiledDrawingAreaProxy.cpp:
42092 (WebKit::TiledDrawingAreaTileSet::tiles):
42093 (WebKit::TiledDrawingAreaTileSet::contentsScale):
42094 (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
42095 (WebKit::TiledDrawingAreaTileSet::mapToContents):
42096 (WebKit::TiledDrawingAreaTileSet::mapFromContents):
42097 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
42098 (WebKit::TiledDrawingAreaProxy::registerTile):
42099 (WebKit::TiledDrawingAreaProxy::unregisterTile):
42100 Added those two methods to allow the tiles to clean
42101 themselves on destruction.
42102 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
42103 (WebKit::TiledDrawingAreaProxy::cancelTileUpdate):
42104 (WebKit::TiledDrawingAreaProxy::invalidate):
42105 (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
42106 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
42107 (WebKit::TiledDrawingAreaProxy::paint):
42108 (WebKit::TiledDrawingAreaProxy::coverageRatio):
42109 (WebKit::TiledDrawingAreaProxy::setContentsScale):
42110 (WebKit::TiledDrawingAreaProxy::createTiles):
42111 (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
42112 (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
42113 (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates):
42114 (WebKit::TiledDrawingAreaProxy::removeAllTiles):
42115 (WebKit::TiledDrawingAreaProxy::contentsRect):
42116 (WebKit::TiledDrawingAreaProxy::visibleRect):
42117 (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
42118 * UIProcess/TiledDrawingAreaProxy.h:
42119 * UIProcess/TiledDrawingAreaTile.h:
42120 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
42121 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
42122 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
42123 (WebKit::TiledDrawingAreaTile::incorporateUpdate):
42124 (WebKit::TiledDrawingAreaTile::disableUpdates):
42125 (WebKit::TiledDrawingAreaTile::updateBackBuffer):
42127 2011-07-28 Tim Horton <timothy_horton@apple.com>
42129 REGRESSION (5.1): CJK input broken after clicking on Flash content
42130 <rdar://problem/9854447>
42131 https://bugs.webkit.org/show_bug.cgi?id=65349
42133 Reviewed by Darin Adler.
42135 After giving Flash focus on a page and then navigating away from that page
42136 using the back button, we were not getting notified to switch back to
42137 inline (non-complex) input. Now, notify the page that it can leave complex
42138 text mode when the plugin is destroyed.
42140 * WebProcess/Plugins/PluginView.cpp:
42141 (WebKit::PluginView::~PluginView):
42143 2011-07-28 Anders Carlsson <andersca@apple.com>
42145 Crash when trying to encode FontInfo with a null font attribute descriptor
42146 https://bugs.webkit.org/show_bug.cgi?id=65350
42147 <rdar://problem/9520670>
42149 Reviewed by Darin Adler.
42151 * Shared/FontInfo.cpp:
42152 (WebKit::FontInfo::encode):
42153 Encode a boolean specifying whether there's a fontAttributeDictionary member variable.
42155 (WebKit::FontInfo::decode):
42156 Don't try to decode the fontAttributeDictionary member variable if none has been encoded.
42158 2011-07-26 Chris Fleizach <cfleizach@apple.com>
42160 REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver
42161 https://bugs.webkit.org/show_bug.cgi?id=65214
42163 Reviewed by Anders Carlsson.
42165 Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply.
42166 This allows it to continue to serve accessibility requests while waiting and basically
42167 restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on.
42169 * Platform/CoreIPC/Connection.cpp:
42170 (CoreIPC::Connection::sendSyncMessage):
42171 (CoreIPC::Connection::waitForSyncReply):
42172 * Platform/CoreIPC/Connection.h:
42173 (CoreIPC::Connection::sendSync):
42174 * Platform/RunLoop.h:
42175 * Platform/mac/RunLoopMac.mm:
42176 (RunLoop::runForDuration):
42177 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42178 (WebKit::WebChromeClient::runJavaScriptAlert):
42179 (WebKit::WebChromeClient::runJavaScriptConfirm):
42180 (WebKit::WebChromeClient::runJavaScriptPrompt):
42182 2011-07-28 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
42184 Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process.
42185 (https://bugs.webkit.org/show_bug.cgi?id=64790)
42187 Reviewed by Martin Robinson.
42189 * Shared/NativeWebKeyboardEvent.h:
42190 (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const).
42191 * UIProcess/API/gtk/PageClientImpl.cpp:
42192 (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event
42193 needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent.
42194 * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent.
42195 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
42196 (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag.
42197 (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
42198 (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
42199 (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent.
42200 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag.
42202 2011-07-28 Dan Bernstein <mitz@apple.com>
42204 <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
42206 Reviewed by Darin Adler.
42208 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42209 (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
42211 2011-07-28 Brady Eidson <beidson@apple.com>
42213 <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
42214 WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
42216 Reviewed by Maciej Stachowiak.
42218 * WebProcess/WebProcess.cpp:
42219 (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker()
42221 2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com>
42223 Remove operator new from JSCell
42224 https://bugs.webkit.org/show_bug.cgi?id=64999
42226 Reviewed by Oliver Hunt.
42228 Removed the implementation of operator new in JSCell, so any further uses
42229 will not successfully link. Also removed any remaining uses of operator new.
42231 * WebProcess/Plugins/Netscape/JSNPMethod.h:
42232 (WebKit::JSNPMethod::create):
42233 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
42234 (WebKit::JSNPObject::methodGetter):
42235 * WebProcess/Plugins/Netscape/JSNPObject.h:
42236 (WebKit::JSNPObject::create):
42237 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
42238 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
42240 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
42242 [WK2][Qt] Move from QGraphicsView to Qt Scene Graph
42243 https://bugs.webkit.org/show_bug.cgi?id=62969
42245 Reviewed by Andreas Kling.
42247 Co-authored with Simon Hausmann <simon.hausmann@nokia.com>
42249 This patch change the base of WebKit2 from QGraphicsWidget
42250 to scenegraph based items.
42252 QTouchWebView becomes a QSGItem with the only role of clipping
42254 QTouchWebPage becomes a QSGPaintedItem in order to render the content
42255 of the flattened page. This is a temporary work around to get
42256 something running without deep changes on the drawing area proxy.
42258 QDesktopWebView become a QSGPaintedItem and behave as before
42259 regarding rendering. The drawing area proxy is used to render
42262 The event delivery had to be adapted because the scenegraph does not
42263 follow regular delivery of QEvents. Instead, each event type is
42264 delivered directly to a specific virtual function.
42265 In this patch, the events are forwarded to the classic QObject::event().
42267 For the features that cannot be implemented on scenegraph (tooltip, menus, etc),
42268 a temporary workaround was added: the parent canvas is used as the widget for
42269 providing the feature. This assumes the web views alone in the canvas and
42270 take its full size. This will have to be fixed in the scenegraph for us to
42271 implement those features.
42273 * UIProcess/API/qt/qdesktopwebview.cpp:
42274 (QDesktopWebViewPrivate::drawingAreaSize):
42275 (QDesktopWebViewPrivate::isActive):
42276 (QDesktopWebViewPrivate::startDrag):
42277 (QDesktopWebViewPrivate::didChangeToolTip):
42278 (QDesktopWebViewPrivate::didChangeCursor):
42279 (QDesktopWebViewPrivate::showContextMenu):
42280 (QDesktopWebView::QDesktopWebView):
42281 (QDesktopWebView::init):
42282 (paintCrashedPage):
42283 (QDesktopWebView::keyPressEvent):
42284 (QDesktopWebView::keyReleaseEvent):
42285 (QDesktopWebView::inputMethodEvent):
42286 (QDesktopWebView::focusInEvent):
42287 (QDesktopWebView::focusOutEvent):
42288 (QDesktopWebView::mousePressEvent):
42289 (QDesktopWebView::mouseMoveEvent):
42290 (QDesktopWebView::mouseReleaseEvent):
42291 (QDesktopWebView::mouseDoubleClickEvent):
42292 (QDesktopWebView::wheelEvent):
42293 (QDesktopWebView::touchEvent):
42294 (QDesktopWebView::hoverEnterEvent):
42295 (QDesktopWebView::hoverMoveEvent):
42296 (QDesktopWebView::hoverLeaveEvent):
42297 (QDesktopWebView::dragMoveEvent):
42298 (QDesktopWebView::dragEnterEvent):
42299 (QDesktopWebView::dragExitEvent):
42300 (QDesktopWebView::dragDropEvent):
42301 (QDesktopWebView::geometryChanged):
42302 (QDesktopWebView::paint):
42303 (QDesktopWebView::event):
42304 * UIProcess/API/qt/qdesktopwebview.h:
42305 * UIProcess/API/qt/qtouchwebpage.cpp:
42306 (QTouchWebPage::QTouchWebPage):
42307 (QTouchWebPage::paint):
42308 (QTouchWebPage::event):
42309 (QTouchWebPage::keyPressEvent):
42310 (QTouchWebPage::keyReleaseEvent):
42311 (QTouchWebPage::inputMethodEvent):
42312 (QTouchWebPage::focusInEvent):
42313 (QTouchWebPage::focusOutEvent):
42314 (QTouchWebPage::touchEvent):
42315 (QTouchWebPage::geometryChanged):
42316 * UIProcess/API/qt/qtouchwebpage.h:
42317 * UIProcess/API/qt/qtouchwebview.cpp:
42318 (QTouchWebViewPrivate::scroll):
42319 (QTouchWebView::QTouchWebView):
42320 (QTouchWebView::geometryChanged):
42321 * UIProcess/API/qt/qtouchwebview.h:
42322 * UIProcess/API/qt/tests/tests.pri:
42323 * UIProcess/API/qt/tests/testwindow.h:
42324 (TestWindow::TestWindow):
42325 (TestWindow::resizeEvent):
42326 * UIProcess/qt/TouchViewInterface.cpp:
42327 (WebKit::TouchViewInterface::panGestureRequestScroll):
42328 (WebKit::TouchViewInterface::pinchGestureRequestUpdate):
42329 (WebKit::TouchViewInterface::drawingAreaSize):
42330 (WebKit::TouchViewInterface::contentSizeChanged):
42331 (WebKit::TouchViewInterface::isActive):
42332 * UIProcess/qt/ViewInterface.cpp: Removed.
42333 * UIProcess/qt/ViewInterface.h:
42336 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
42338 [Qt][WK2] Clean WKPageLoaderClient
42339 https://bugs.webkit.org/show_bug.cgi?id=65246
42341 Reviewed by Andreas Kling.
42343 Remove the empty functions from Qt's WKPageLoaderClient.
42345 * UIProcess/qt/ClientImpl.cpp:
42346 (qt_wk_didSameDocumentNavigationForFrame): Move the function to
42347 have all the implementations in the same order as the definitions.
42348 * UIProcess/qt/ClientImpl.h:
42349 * UIProcess/qt/QtWebPageProxy.cpp:
42350 (QtWebPageProxy::init):
42352 2011-07-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
42354 Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph
42355 https://bugs.webkit.org/show_bug.cgi?id=65253
42357 Reviewed by Andreas Kling.
42359 The -webkit-pictograph generic family was added by bug 65197.
42361 * Shared/WebPreferencesStore.h:
42363 2011-07-27 Benjamin Poulain <benjamin@webkit.org>
42365 [Qt][WK2] Simplify the PageUIClient
42366 https://bugs.webkit.org/show_bug.cgi?id=65198
42368 Reviewed by Andreas Kling.
42370 The only function of WKPageLoaderClient with a complete implementation
42371 is qt_wk_setStatusText(). The other functions were what is left from
42372 before the refactoring of QWKPage.
42374 This patch removes the unused functions to simplify the client. Since the dependency
42375 on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly.
42377 * UIProcess/qt/ClientImpl.cpp:
42379 (qt_wk_setStatusText):
42380 * UIProcess/qt/ClientImpl.h:
42381 * UIProcess/qt/QtWebPageProxy.cpp:
42382 (QtWebPageProxy::QtWebPageProxy):
42383 (QtWebPageProxy::init):
42384 * UIProcess/qt/QtWebPageProxy.h:
42386 2011-07-26 Sadrul Habib Chowdhury <sadrul@chromium.org>
42388 Add support for download='filename' attribute in anchors.
42389 https://bugs.webkit.org/show_bug.cgi?id=64580
42391 Reviewed by Adam Barth.
42393 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42394 (WebKit::WebFrameLoaderClient::startDownload):
42395 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
42397 2011-07-26 Tim Horton <timothy_horton@apple.com>
42399 Apply r40940 to WebKit2 to work around a Silverlight crash.
42400 https://bugs.webkit.org/show_bug.cgi?id=65205
42401 <rdar://problem/9058370>
42403 Reviewed by Anders Carlsson.
42405 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42406 (WebKit::NetscapePluginModule::determineQuirks):
42407 * Shared/Plugins/PluginQuirks.h:
42408 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42409 (WebKit::NetscapePlugin::userAgent):
42411 2011-07-26 Dan Bernstein <mitz@apple.com>
42413 <rdar://problem/9842889> Add a generic pictograph font family
42414 https://bugs.webkit.org/show_bug.cgi?id=65197
42416 Reviewed by Anders Carlsson.
42418 * Shared/WebPreferencesStore.h:
42419 * UIProcess/API/C/WKPreferences.cpp:
42420 (WKPreferencesSetPictographFontFamily): Added.
42421 (WKPreferencesCopyPictographFontFamily): Added.
42422 * UIProcess/API/C/WKPreferences.h:
42424 2011-07-26 Andras Becsi <abecsi@webkit.org>
42426 [Qt] [WK2] Disable the build with Qt versions older than 5.0
42427 https://bugs.webkit.org/show_bug.cgi?id=65189
42429 Reviewed by Csaba Osztrogonác.
42431 * Platform/qt/ModuleQt.cpp:
42432 (WebKit::Module::platformFunctionPointer): Fix the build for Qt5.
42434 2011-07-26 Benjamin Poulain <benjamin@webkit.org>
42436 [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy
42437 https://bugs.webkit.org/show_bug.cgi?id=64739
42439 Reviewed by Andreas Kling.
42441 Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding
42444 The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead
42445 created and handled directly by the WebContextMenuProxyQt.
42447 * UIProcess/qt/QtWebPageProxy.cpp:
42448 (QtWebPageProxy::createContextMenuProxy):
42449 (QtWebPageProxy::triggerAction):
42450 (QtWebPageProxy::action):
42451 * UIProcess/qt/QtWebPageProxy.h:
42452 * UIProcess/qt/WebContextMenuProxyQt.cpp:
42453 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
42454 (WebKit::WebContextMenuProxyQt::create):
42455 (WebKit::WebContextMenuProxyQt::actionTriggered):
42456 (WebKit::WebContextMenuProxyQt::showContextMenu):
42457 (WebKit::WebContextMenuProxyQt::hideContextMenu):
42458 (WebKit::WebContextMenuProxyQt::createContextMenu):
42459 * UIProcess/qt/WebContextMenuProxyQt.h:
42461 2011-07-26 Carlos Garcia Campos <cgarcia@igalia.com>
42463 [GTK] Remove header webkitwebviewcommon.h
42464 https://bugs.webkit.org/show_bug.cgi?id=65177
42466 Reviewed by Martin Robinson.
42468 * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes
42469 instead of including webkitwebviewcommon.h.
42471 2011-07-22 Jessie Berlin <jberlin@apple.com>
42473 [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work.
42474 https://bugs.webkit.org/show_bug.cgi?id=64997
42476 Reviewed by Ada Chan.
42478 * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
42479 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
42480 Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well.
42481 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42482 (InitWebCoreSystemInterface):
42484 2011-07-21 Yael Aharon <yael.aharon@nokia.com>
42486 [Qt][WK2] Code cleanup for drag-and-drop
42487 https://bugs.webkit.org/show_bug.cgi?id=64916
42489 Reviewed by Andreas Kling.
42491 * UIProcess/WebPageProxy.cpp:
42492 (WebKit::WebPageProxy::startDrag):
42493 Allow receiving a NULL bitmap from the web process.
42495 * UIProcess/qt/qdesktopwebpageproxy.cpp:
42496 (QDesktopWebPageProxy::handleEvent):
42497 Fix typo introduced in http://trac.webkit.org/changeset/90458.
42498 All DnD related events should be GraphicsScene events.
42500 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
42501 (WebKit::convertQPixmapToShareableBitmap):
42502 Remove hack that creates a 1x1 bitmap.
42503 It is no longer needed after http://trac.webkit.org/changeset/91016.
42505 (WebKit::WebDragClient::startDrag):
42506 Allow sending a NULL bitmap to the UI process.
42508 2011-07-20 Tim Horton <timothy_horton@apple.com>
42510 Scrollbar color heuristic needs to be hooked up in WebKit1
42511 https://bugs.webkit.org/show_bug.cgi?id=64220
42512 <rdar://problem/9589140>
42514 Reviewed by Darin Adler.
42516 Store the scroller style on ScrollableArea, and recompute it whenever
42517 the document or body element background color changes or the base background
42518 color of the scrollview changes. Also, make sure to repaint the scrollbars
42519 whenever the style changes.
42521 * WebProcess/WebPage/WebFrame.cpp:
42522 (WebKit::WebFrame::getDocumentBackgroundColor):
42524 2011-07-20 James Robinson <jamesr@chromium.org>
42526 Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
42527 https://bugs.webkit.org/show_bug.cgi?id=64841
42529 Reviewed by Mark Rowe.
42531 http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
42532 monotonic clock instead of WTF::currentTime(). This broke many plugin tests on WebKit2 for reasons that are
42533 unclear. This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
42535 * Platform/CoreIPC/Connection.cpp:
42536 (CoreIPC::Connection::waitForMessage):
42537 (CoreIPC::Connection::waitForSyncReply):
42538 * Platform/RunLoop.h:
42540 2011-07-19 Ryosuke Niwa <rniwa@webkit.org>
42542 Build fix after r91307.
42544 * Platform/Logging.h:
42546 2011-07-19 Lukasz Slachciak <lukasz.slachciak@gmail.com>
42548 [GTK] [WK2] Implement missing initializeLogChannel function.
42549 https://bugs.webkit.org/show_bug.cgi?id=63381
42551 Reviewed by Martin Robinson.
42553 Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports,
42554 so added missing implementation. Aslo helper function added for getting channels from names.
42556 * GNUmakefile.am: Added reference to new file LoggingGtk.cpp.
42557 * Platform/Logging.cpp: Logging implementation for GTK port enabled.
42558 (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel.
42559 * Platform/Logging.h: New helper method added.
42560 * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation.
42561 (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
42563 2011-07-19 Brian Weinstein <bweinstein@apple.com>
42565 Add back a change that was accidentally removed in r91266.
42567 Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
42568 its responder. Also make the comment more explicit, to keep this mistake from being made in the future.
42570 Rubber-stamped by Darin Adler.
42572 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42573 (WebKit::WebDragClient::dragEnded):
42575 2011-07-18 Brian Weinstein <bweinstein@apple.com>
42577 Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
42578 https://bugs.webkit.org/show_bug.cgi?id=64766
42579 <rdar://problem/9548174>
42581 Reviewed by Enrica Casucci.
42583 I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create
42584 a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
42585 which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the
42586 WKPasteboardFilePromiseOwner method is called.
42588 The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
42589 both objects alive.
42591 This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.
42593 * WebProcess/WebCoreSupport/WebDragClient.cpp:
42594 (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
42595 * WebProcess/WebCoreSupport/WebDragClient.h:
42596 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42597 (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
42598 (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
42599 * WebProcess/WebPage/WebPage.cpp:
42600 (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
42601 which does the same thing.
42602 * WebProcess/WebPage/WebPage.h:
42603 * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.
42605 2011-07-18 Alexis Menard <alexis.menard@openbossa.org>
42607 [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
42608 https://bugs.webkit.org/show_bug.cgi?id=64690
42610 Make the API usable with QML by declaring what's needed
42613 Reviewed by Benjamin Poulain.
42615 * UIProcess/API/qt/qdesktopwebview.h:
42617 2011-07-18 MORITA Hajime <morrita@google.com>
42619 [ShadowContentElement] forwarded node should be able to access its hosting content element.
42620 https://bugs.webkit.org/show_bug.cgi?id=64251
42622 Reviewed by Dimitri Glazkov.
42624 Exported additional symbols for window.internals object.
42627 * win/WebKit2CFLite.def:
42629 2011-07-18 Dean Jackson <dino@apple.com>
42631 https://bugs.webkit.org/show_bug.cgi?id=64742
42632 Expose WebPreferences for media playback requiring user gestures and inline playback
42634 Reviewed by Simon Fraser.
42636 Two new WebPreferences: MediaPlaybackRequiresUserGesture and
42637 MediaPlaybackAllowsInline.
42639 * Shared/WebPreferencesStore.h:
42640 * UIProcess/API/C/WKPreferences.cpp:
42641 (WKPreferencesSetMediaPlaybackRequiresUserGesture):
42642 (WKPreferencesGetMediaPlaybackRequiresUserGesture):
42643 (WKPreferencesSetMediaPlaybackAllowsInline):
42644 (WKPreferencesGetMediaPlaybackAllowsInline):
42645 * UIProcess/API/C/WKPreferencesPrivate.h:
42646 * WebProcess/WebPage/WebPage.cpp:
42647 (WebKit::WebPage::updatePreferences):
42649 2011-07-18 James Robinson <jamesr@chromium.org>
42651 Timer scheduling should be based off the monotonic clock
42652 https://bugs.webkit.org/show_bug.cgi?id=64544
42654 Reviewed by Darin Adler.
42656 Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
42658 * Platform/CoreIPC/Connection.cpp:
42659 (CoreIPC::Connection::waitForMessage):
42660 (CoreIPC::Connection::waitForSyncReply):
42661 * Platform/RunLoop.h:
42663 2011-07-18 Anders Carlsson <andersca@apple.com>
42665 Make using lowercase parameter names for AppleConnect be a plug-in quirk
42666 https://bugs.webkit.org/show_bug.cgi?id=64638
42668 Reviewed by Sam Weinig.
42670 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42671 (WebKit::NetscapePluginModule::determineQuirks):
42672 Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.
42674 * Shared/Plugins/PluginQuirks.h:
42675 Add WantsLowercaseParameterNames quirk.
42677 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42678 (WebKit::NetscapePlugin::initialize):
42679 If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
42680 names to lowercase.
42682 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42683 (WebKit::WebFrameLoaderClient::createPlugin):
42684 Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
42685 aren't really the same thing as site-specific quirks.
42687 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42689 [Qt] Consider QTouchWebPage's transform when scrolling the viewport.
42690 https://bugs.webkit.org/show_bug.cgi?id=64541
42692 Reviewed by Benjamin Poulain.
42694 Currently the scroll deltas are given to moveBy in page coordinates
42695 which doesn't match when the page view is scalled.
42696 This patch gives the scroll delta to the viewport in it's own coordinates.
42698 * UIProcess/qt/TouchViewInterface.cpp:
42699 (WebKit::TouchViewInterface::panGestureRequestScroll):
42701 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42703 [Qt] Push the new viewport rect to the drawing area after committing the scale.
42704 https://bugs.webkit.org/show_bug.cgi?id=64597
42706 Reviewed by Benjamin Poulain.
42708 * UIProcess/qt/TouchViewInterface.cpp:
42709 (WebKit::TouchViewInterface::pinchGestureEnded):
42711 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42713 [Qt] Remove the scale commit timer from QTouchWebPage.
42714 https://bugs.webkit.org/show_bug.cgi?id=64600
42716 Reviewed by Benjamin Poulain.
42718 Since we don't currently need unprepared page view scale changes,
42719 this timer isn't useful.
42721 * UIProcess/API/qt/qtouchwebpage.cpp:
42722 (QTouchWebPage::QTouchWebPage):
42723 (QTouchWebPagePrivate::QTouchWebPagePrivate):
42724 (QTouchWebPagePrivate::commitScaleChange):
42725 * UIProcess/API/qt/qtouchwebpage.h:
42726 * UIProcess/API/qt/qtouchwebpage_p.h:
42727 * UIProcess/qt/TouchViewInterface.cpp:
42728 (WebKit::TouchViewInterface::pinchGestureStarted):
42730 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
42732 TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
42733 https://bugs.webkit.org/show_bug.cgi?id=64538
42735 Reviewed by Benjamin Poulain.
42737 TiledDrawingAreaProxy expects its coordinates to be scaled according to
42738 contentsScale. This patch keep the pushed visibleArea as page coordinates
42739 and convert it each time to scaled coordinates in case the contents scale was
42741 This is a regression introduced in r90750.
42743 - Rename visibleArea to visibleContentRect
42744 - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect
42746 * UIProcess/API/qt/qtouchwebpage.cpp:
42747 (QTouchWebPagePrivate::setViewportRect):
42748 * UIProcess/TiledDrawingAreaProxy.cpp:
42749 (WebKit::TiledDrawingAreaProxy::invalidate):
42750 (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
42751 (WebKit::TiledDrawingAreaProxy::createTiles):
42752 (WebKit::TiledDrawingAreaProxy::visibleRect):
42753 * UIProcess/TiledDrawingAreaProxy.h:
42754 * UIProcess/qt/qtouchwebpageproxy.cpp:
42755 (QTouchWebPageProxy::setVisibleContentRect):
42756 * UIProcess/qt/qtouchwebpageproxy.h:
42758 2011-07-17 Amruth Raj <amruthraj@motorola.com>
42760 [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue
42761 https://bugs.webkit.org/show_bug.cgi?id=64666
42763 Reviewed by Martin Robinson.
42765 * Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required
42766 * Shared/gtk/WebEventFactory.cpp:
42767 (WebKit::modifiersForEvent): Fix an incorrect ASSERT statement
42768 (WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys
42770 2011-07-17 Lukasz Slachciak <l.slachciak@samsung.com>
42772 Reviewed by Martin Robinson.
42774 [GTK] [WK2] Fix for getting editor client commands.
42775 https://bugs.webkit.org/show_bug.cgi?id=63081
42777 Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only.
42778 In fact EventHandler is generating interpreted events - keypress and keydown. These event types
42779 are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands.
42780 Also build break for Debug build was fixed.
42782 * UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator.
42783 (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional
42784 parameter describing KeyboardEvent type.
42785 * UIProcess/API/gtk/PageClientImpl.h:
42786 * UIProcess/PageClient.h:
42787 * UIProcess/WebPageProxy.h:
42788 * UIProcess/WebPageProxy.messages.in:
42789 * UIProcess/gtk/WebPageProxyGtk.cpp:
42790 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient.
42791 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
42792 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type.
42794 2011-07-16 Daniel Bates <dbates@webkit.org>
42796 Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>.
42798 Add stub implementation of scale factor overloaded ShareableBitmap::paint() for
42799 Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>.
42801 Also add stub implementation for GTK.
42803 We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664>
42804 and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively.
42806 * Shared/cairo/ShareableBitmapCairo.cpp:
42807 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42808 * Shared/gtk/ShareableBitmapGtk.cpp:
42809 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42811 2011-07-16 Daniel Bates <dbates@webkit.org>
42813 Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085>
42814 (https://bugs.webkit.org/show_bug.cgi?id=64611).
42816 Stub out scale factor-variant implementation of ShareableBitmap::paint().
42817 We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663>
42820 * Shared/qt/ShareableBitmapQt.cpp:
42821 (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42823 2011-07-16 Simon Fraser <simon.fraser@apple.com>
42825 Add code to attempt to align compositing layers to pixel boundaries when page scale changes
42826 https://bugs.webkit.org/show_bug.cgi?id=64658
42828 Reviewed by Dan Bernstein.
42830 Removed implementation of pageScaleFactor() now that GraphicsLayerClient has
42831 a default implementation.
42833 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42834 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42836 2011-07-16 Daniel Bates <dbates@webkit.org>
42838 Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097>
42839 (https://bugs.webkit.org/show_bug.cgi?id=64615).
42841 * UIProcess/qt/QtWebPageProxy.cpp:
42842 (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method.
42843 * UIProcess/qt/QtWebPageProxy.h:
42845 2011-07-15 Pratik Solanki <psolanki@apple.com>
42847 Part of https://bugs.webkit.org/show_bug.cgi?id=63674
42848 Get webkit to compile with USE(CFNETWORK) enabled on Mac
42850 Reviewed by David Kilzer.
42852 New WebKitSystemInterface functions for CFNetwork-based loader.
42854 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42855 (InitWebCoreSystemInterface):
42857 2011-07-15 Tim Horton <timothy_horton@apple.com>
42859 Overlay scrollbars in overflow areas no longer pulse when revealed
42860 https://bugs.webkit.org/show_bug.cgi?id=64606
42861 <rdar://problem/9390674>
42863 Reviewed by Simon Fraser.
42865 Ensure that the state of the scrollbar implementation is kept in sync
42866 with WebCore's internal representation. Previously, we synchronized them
42867 at paint time, causing pulsing to be skipped due to the scrollbars being
42870 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42871 (InitWebCoreSystemInterface):
42873 2011-07-15 Simon Fraser <simon.fraser@apple.com>
42875 Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
42876 https://bugs.webkit.org/show_bug.cgi?id=64643
42878 Reviewed by Darin Adler.
42880 Impement new GraphicsLayerClient methods related to contents scale,
42881 and don't push the scale.
42883 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42884 (WebKit::LayerTreeHostCA::initialize):
42885 (WebKit::LayerTreeHostCA::backingScaleFactor):
42886 (WebKit::LayerTreeHostCA::pageScaleFactor):
42887 (WebKit::LayerTreeHostCA::createPageOverlayLayer):
42888 * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42889 (WebKit::LayerTreeHostCA::didCommitChangesForLayer):
42891 2011-07-15 Ada Chan <adachan@apple.com>
42893 Implement "Jump to Selection" in WebKit2
42894 https://bugs.webkit.org/show_bug.cgi?id=64569
42896 Reviewed by Anders Carlsson.
42898 * UIProcess/API/mac/WKView.mm:
42899 (-[WKView centerSelectionInVisibleArea:]): Call WebPageProxy::centerSelectionInVisibleArea().
42900 (-[WKView validateUserInterfaceItem:]): Enable the centerSelectionInVisibleArea: selector if there's a selection
42901 range or if there's an insertion point in an editable area.
42902 * WebProcess/WebPage/FindController.cpp:
42903 (WebKit::FindController::showFindIndicatorInSelection): Call updateFindIndicator() to show the find indicator.
42904 * WebProcess/WebPage/FindController.h:
42905 * WebProcess/WebPage/WebPage.cpp:
42906 (WebKit::WebPage::centerSelectionInVisibleArea): Use the selection in the focused or main frame.
42907 After scrolling the selection into view, flash the find indicator.
42909 2011-07-15 Dan Bernstein <mitz@apple.com>
42913 * UIProcess/win/WebView.cpp:
42915 2011-07-15 Dan Bernstein <mitz@apple.com>
42919 * UIProcess/win/WebView.h:
42921 2011-07-15 Dan Bernstein <mitz@apple.com>
42923 REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
42924 https://bugs.webkit.org/show_bug.cgi?id=64615
42926 Reviewed by Anders Carlsson.
42928 * UIProcess/API/efl/PageClientImpl.cpp:
42929 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
42930 * UIProcess/API/efl/PageClientImpl.h:
42931 * UIProcess/API/gtk/PageClientImpl.cpp:
42932 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto.
42933 * UIProcess/API/gtk/PageClientImpl.h:
42934 * UIProcess/API/mac/PageClientImpl.h:
42935 * UIProcess/API/mac/PageClientImpl.mm:
42936 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:].
42937 * UIProcess/PageClient.h:
42938 * UIProcess/WebPageProxy.cpp:
42939 (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient.
42940 * UIProcess/WebPageProxy.h:
42941 * UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message.
42942 * UIProcess/win/WebView.cpp:
42943 (WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub.
42944 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42945 (WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message
42947 * WebProcess/WebCoreSupport/WebChromeClient.h:
42949 2011-07-14 Gavin Barraclough <barraclough@apple.com>
42951 https://bugs.webkit.org/show_bug.cgi?id=64250
42952 Global strict mode function leaking global object as "this".
42954 Reviewed by Oliver Hunt.
42956 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
42957 (WebKit::NPJSObject::invoke):
42958 - Change call to pass DOM Window shell, instead of the global varaible object.
42960 2011-07-15 Anders Carlsson <andersca@apple.com>
42962 Find indicator should take scale factor into account
42963 https://bugs.webkit.org/show_bug.cgi?id=64611
42964 <rdar://problem/9761020>
42966 Reviewed by Sam Weinig.
42968 * UIProcess/FindIndicator.cpp:
42969 (WebKit::FindIndicator::create):
42970 (WebKit::FindIndicator::FindIndicator):
42971 Keep track of the scale factor of the find indicator bitmap.
42973 (WebKit::FindIndicator::draw):
42974 Pass the scale factor to ShareableBitmap::draw.
42976 * UIProcess/FindIndicator.h:
42977 Add scale factor member variable.
42979 * UIProcess/WebPageProxy.cpp:
42980 (WebKit::WebPageProxy::setFindIndicator):
42981 This now takes the content image scale factor.
42983 * UIProcess/WebPageProxy.messages.in:
42984 Add the scale factor.
42986 * WebProcess/WebPage/FindController.cpp:
42987 (WebKit::FindController::updateFindIndicator):
42988 Size the backing store correctly, and apply the scale factor to
42989 the graphics context.
42991 (WebKit::FindController::hideFindIndicator):
42992 Pass the scale factor along.
42994 2011-07-15 Martin Robinson <mrobinson@igalia.com>
42996 Build fixes for WebKit2. Ensure that all generated sources are
42997 on nodist primaries, that they are on forward declared variables
42998 so that BUILT_SOURCES is calculated properly and that zlib is
42999 included during linking (for WOFF support).
43003 2011-07-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
43005 Upstream QtWebKit/N9 changes related to visibleContentRect
43006 https://bugs.webkit.org/show_bug.cgi?id=64589
43008 Reviewed by Simon Hausmann.
43010 Rename setActualVisibleContentRect to setFixedVisibleContentRect
43011 as that makes it more obvious that it is an override. It is also
43012 consistent with the setFixedLayout which is often used in
43013 conjunction with it.
43015 * UIProcess/WebPageProxy.cpp:
43016 (WebKit::WebPageProxy::setFixedVisibleContentRect):
43017 * UIProcess/WebPageProxy.h:
43018 * UIProcess/qt/qtouchwebpageproxy.cpp:
43019 (QTouchWebPageProxy::setVisibleArea):
43020 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43021 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
43022 Only set fixedVisibleContentRect for the mainframe.
43023 * WebProcess/WebPage/WebPage.cpp:
43024 (WebKit::WebPage::setFixedVisibleContentRect):
43025 * WebProcess/WebPage/WebPage.h:
43026 * WebProcess/WebPage/WebPage.messages.in:
43028 2011-07-15 Carlos Garcia Campos <cgarcia@igalia.com>
43030 Reviewed by Martin Robinson.
43032 [GTK] Install a custom X error handler in plugin process
43033 https://bugs.webkit.org/show_bug.cgi?id=63248
43035 Some plugins, specially flash, can cause X errors that when
43036 handled by the default X error handler (or the GDK one) abort the
43037 process. Since we don't want to crash due to buggy plugins, we
43038 install a custom error handler to show a warning when a X error
43039 happens without aborting.
43041 * PluginProcess/gtk/PluginProcessMainGtk.cpp:
43042 (WebKit::webkitgtkXError):
43043 (WebKit::PluginProcessMainGtk):
43045 2011-07-14 Carlos Garcia Campos <cgarcia@igalia.com>
43047 Reviewed by Anders Carlsson.
43049 [UNIX] Allow sending null handles in messages
43050 https://bugs.webkit.org/show_bug.cgi?id=60621
43052 Only valid file descriptors are now sent using sendmsg() control
43053 messages, and instead of sending a list of attachment sizes we now
43054 send a list of AttachmentInfo structs. AttachmentInfo contains
43055 information about the attachments including the size for
43056 MappedMemory attachmens and whether the attachment is null or not.
43058 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
43059 (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing
43060 information about the attachments sent.
43061 (CoreIPC::AttachmentInfo::setType): Set the attachment type.
43062 (CoreIPC::AttachmentInfo::getType): Return the attachment type.
43063 (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments.
43064 (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments.
43065 (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it
43066 contains an invalid file descriptor, so the receiver shouldn't
43067 expect a file desriptor for this attachment.
43068 (CoreIPC::AttachmentInfo::isNull): Return whether attachment is
43069 null, it contains an invalid file descriptor.
43070 (CoreIPC::Connection::processMessage):
43071 (CoreIPC::Connection::sendOutgoingMessage):
43073 2011-07-14 Carlos Garcia Campos <cgarcia@igalia.com>
43075 Reviewed by Martin Robinson.
43077 [GTK] Implement Plugin Process
43078 https://bugs.webkit.org/show_bug.cgi?id=60546
43080 * GNUmakefile.am: Add new files to compilation.
43081 * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added.
43082 (WebKit::PluginProcessMainGtk):
43083 * PluginProcess/gtk/PluginProcessMainGtk.h: Added.
43084 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
43085 (WebKit::ProcessLauncher::launchProcess):
43086 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
43087 (WebKit::moduleMixesGtkSymbols):
43088 * gtk/PluginMainGtk.cpp: Added.
43091 2011-07-14 Balazs Kelemen <kbalazs@webkit.org> and Carlos Garcia Campos <cgarcia@igalia.com>
43093 Reviewed by Anders Carlsson.
43095 Implement plugin process for UNIX platform
43096 https://bugs.webkit.org/show_bug.cgi?id=60629
43098 * Platform/CoreIPC/Attachment.h:
43099 * Platform/CoreIPC/unix/AttachmentUnix.cpp:
43100 (CoreIPC::Attachment::Attachment): Add the ability to pass a
43101 socket via Attachment.
43102 * Platform/unix/SharedMemoryUnix.cpp:
43103 (WebKit::SharedMemory::Handle::encode): Remove assertions that
43104 check that the Handle is not null. In
43105 PluginProxy::geometryDidChange we pass a null Handle if we do not
43106 need to allocate a new backing store.
43107 (WebKit::SharedMemory::Handle::releaseToAttachment): Ditto.
43108 * PluginProcess/PluginProcess.cpp:
43109 (WebKit::PluginProcess::createWebProcessConnection): Use
43110 Attachment. Set up the connection with socketpair.
43111 * UIProcess/Plugins/PluginProcessProxy.cpp:
43112 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
43113 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
43114 * UIProcess/Plugins/PluginProcessProxy.h:
43115 * UIProcess/Plugins/PluginProcessProxy.messages.in:
43116 * UIProcess/WebProcessProxy.messages.in:
43117 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
43118 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
43119 Use Attachment to pass the connection.
43121 2011-07-14 Ada Chan <adachan@apple.com>
43123 Implement support to center selection on a page for WebKit2.
43124 https://bugs.webkit.org/show_bug.cgi?id=64481
43126 Reviewed by Anders Carlsson.
43128 * UIProcess/API/C/WKPage.cpp:
43129 (WKPageCenterSelectionInVisibleArea): Added. Call WebPageProxy::centerSelectionInVisibleArea().
43130 * UIProcess/API/C/WKPage.h:
43131 * UIProcess/WebPageProxy.cpp:
43132 (WebKit::WebPageProxy::centerSelectionInVisibleArea): Send message to the WebProcess to center selection.
43133 * UIProcess/WebPageProxy.h:
43134 * WebProcess/WebPage/WebPage.cpp:
43135 (WebKit::WebPage::centerSelectionInVisibleArea): Get the FrameSelection from the main frame and call
43136 revealSelection() to center it.
43137 * WebProcess/WebPage/WebPage.h:
43138 * WebProcess/WebPage/WebPage.messages.in: Add the CenterSelectionInVisibleArea message.
43140 2011-07-14 MORITA Hajime <morrita@google.com>
43142 Unreviewed, rolling out r90976, r90981, and r90985.
43143 http://trac.webkit.org/changeset/90976
43144 http://trac.webkit.org/changeset/90981
43145 http://trac.webkit.org/changeset/90985
43146 https://bugs.webkit.org/show_bug.cgi?id=64251
43151 * win/WebKit2CFLite.def:
43153 2011-07-13 MORITA Hajime <morrita@google.com>
43155 Unreviewed attempt at a build fix.
43157 * win/WebKit2CFLite.def:
43159 2011-07-13 MORITA Hajime <morrita@google.com>
43161 [ShadowContentElement] forwarded node should be able to access its hosting content element.
43162 https://bugs.webkit.org/show_bug.cgi?id=64251
43164 Reviewed by Dimitri Glazkov.
43166 Exported additional symbols for window.internals object.
43170 2011-07-13 David Levin <levin@chromium.org>
43172 Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger.
43173 https://bugs.webkit.org/show_bug.cgi?id=64465
43175 Reviewed by Dmitry Titov.
43177 There isn't a good way to test this as it is very highly unlikely to occur.
43179 * PluginProcess/mac/PluginProcessMac.mm:
43180 (WebKit::shouldCallRealDebugger): :Since scoped static initialization
43181 isn't thread-safe, change the initialization to be global.
43183 2011-07-13 Andreas Kling <kling@webkit.org>
43185 [Qt][WK2] Remove invalid signal/slot connection in QTouchWebView.
43186 https://bugs.webkit.org/show_bug.cgi?id=64450
43188 Reviewed by Benjamin Poulain.
43190 The focusNextPrevChild() signal was removed, so we shouldn't try to
43193 * UIProcess/API/qt/qtouchwebpage.cpp:
43194 (QTouchWebPagePrivate::setPage):
43196 2011-07-13 Andreas Kling <kling@webkit.org>
43198 [Qt][WK2] Undelayed WorkItems are leaked after execution.
43199 https://bugs.webkit.org/show_bug.cgi?id=64447
43201 Reviewed by Benjamin Poulain.
43203 * Platform/qt/WorkQueueQt.cpp:
43204 (WorkQueue::WorkItemQt::executeAndDelete):
43205 (WorkQueue::WorkItemQt::timerEvent):
43206 (WorkQueue::scheduleWork):
43208 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
43210 [Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
43211 https://bugs.webkit.org/show_bug.cgi?id=64357
43213 Reviewed by Benjamin Poulain.
43215 * UIProcess/API/qt/qtouchwebpage.cpp:
43216 (QTouchWebPage::timerEvent):
43217 (QTouchWebPagePrivate::commitScaleChange):
43219 2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
43221 ApplicationCache update should not immediately fail when reaching per-origin quota
43222 https://bugs.webkit.org/show_bug.cgi?id=64177
43224 Reviewed by Alexey Proskuryakov.
43226 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43227 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
43228 * WebProcess/WebCoreSupport/WebChromeClient.h:
43230 2011-06-22 Jer Noble <jer.noble@apple.com>
43232 Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary
43233 https://bugs.webkit.org/show_bug.cgi?id=63217
43234 <rdar://problem/9660291>
43236 Reviewed by Darin Adler.
43238 Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's
43239 collectionBehavior.
43241 * UIProcess/mac/WKFullScreenWindowController.mm:
43242 (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
43244 2011-07-12 Andreas Kling <kling@webkit.org>
43246 [Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted.
43247 https://bugs.webkit.org/show_bug.cgi?id=64383
43249 Reviewed by Kenneth Rohde Christiansen.
43251 Update the navigation actions before emitting loadStarted().
43253 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43254 (LoadStartedCatcher::LoadStartedCatcher):
43255 (LoadStartedCatcher::onLoadStarted):
43256 (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
43257 * UIProcess/qt/ClientImpl.cpp:
43258 (qt_wk_didStartProvisionalLoadForFrame):
43260 2011-07-12 Benjamin Poulain <benjamin@webkit.org>
43262 [Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2
43263 https://bugs.webkit.org/show_bug.cgi?id=64373
43265 Reviewed by Andreas Kling.
43267 This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of
43268 the events not handled by the WebProcess.
43270 TouchViewInterface::pinchGestureRequestScale() has a basic default implementation
43271 so the feature can be tested manually.
43273 * UIProcess/qt/QtGestureRecognizer.cpp:
43274 QtGestureRecognizer is the private base class for both gesture recognizer
43275 in order to be able to share some code.
43276 (WebKit::QtGestureRecognizer::QtGestureRecognizer):
43277 (WebKit::QtGestureRecognizer::reset):
43278 * UIProcess/qt/QtGestureRecognizer.h:
43279 * UIProcess/qt/QtPanGestureRecognizer.cpp:
43280 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43281 (WebKit::QtPanGestureRecognizer::reset):
43282 * UIProcess/qt/QtPanGestureRecognizer.h:
43283 * UIProcess/qt/QtPinchGestureRecognizer.cpp: Added.
43284 (WebKit::findTouchPointIndex):
43285 (WebKit::computeTouchCenter):
43286 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
43287 (WebKit::QtPinchGestureRecognizer::recognize):
43288 (WebKit::QtPinchGestureRecognizer::reset):
43289 (WebKit::QtPinchGestureRecognizer::initializeGesture):
43290 * UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h.
43291 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation):
43292 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid):
43293 * UIProcess/qt/TouchViewInterface.cpp:
43294 (WebKit::TouchViewInterface::TouchViewInterface):
43295 (WebKit::TouchViewInterface::pinchGestureStarted):
43296 (WebKit::TouchViewInterface::pinchGestureRequestScale):
43297 The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start
43298 of the gesture in order to avoid numerical instabilities.
43299 (WebKit::TouchViewInterface::pinchGestureEnded):
43300 * UIProcess/qt/TouchViewInterface.h:
43301 * UIProcess/qt/qtouchwebpageproxy.cpp:
43302 (QTouchWebPageProxy::QTouchWebPageProxy):
43303 (QTouchWebPageProxy::processDidCrash):
43304 (QTouchWebPageProxy::doneWithTouchEvent):
43305 * UIProcess/qt/qtouchwebpageproxy.h:
43308 2011-07-12 Andreas Kling <kling@webkit.org>
43310 [Qt][WK2] Navigation actions should react to web process availability.
43311 https://bugs.webkit.org/show_bug.cgi?id=64375
43313 Reviewed by Benjamin Poulain.
43315 When the web process is unavailable, the reload and stop actions should
43316 behave slightly differently. Stop should always be disabled, and reload
43317 should be enabled if there's a reloadable item in the back/forward list.
43319 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43320 (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup):
43321 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
43322 (tst_QTouchWebView::navigationActionEnabledStatusAtStartup):
43323 * UIProcess/qt/QtWebPageProxy.cpp:
43324 (QtWebPageProxy::updateAction):
43325 (QtWebPageProxy::didRelaunchProcess):
43326 (QtWebPageProxy::processDidCrash):
43328 2011-07-12 Andreas Kling <kling@webkit.org>
43330 [Qt][WK2] QDesktopWebView crashes if resized without web process.
43331 https://bugs.webkit.org/show_bug.cgi?id=64371
43333 Reviewed by Benjamin Poulain.
43335 * UIProcess/qt/QtWebPageProxy.cpp:
43336 (QtWebPageProxy::paint): Remove an invalid assertion. The drawing
43337 area may be null if the web process has crashed.
43338 (QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no
43341 2011-07-12 Andreas Kling <kling@webkit.org>
43343 [Qt][WK2] Add informative loadFailed() signal to web views.
43344 https://bugs.webkit.org/show_bug.cgi?id=64362
43346 Reviewed by Benjamin Poulain.
43348 The web views will now emit loadFailed(QWebError) when a load failure occurs.
43350 The QWebError object currently contains:
43351 - Type of failure (whether it's an engine, network or protocol error.)
43353 - Any error code associated with the failure.
43355 * UIProcess/API/qt/qdesktopwebview.cpp:
43356 (QDesktopWebViewPrivate::loadDidFail):
43357 * UIProcess/API/qt/qdesktopwebview.h:
43358 * UIProcess/API/qt/qdesktopwebview_p.h:
43359 * UIProcess/API/qt/qtouchwebpage.h:
43360 * UIProcess/API/qt/qweberror.cpp: Added.
43361 (QWebError::QWebError):
43362 (QWebErrorPrivate::createQWebError):
43363 (QWebErrorPrivate::QWebErrorPrivate):
43364 (QWebErrorPrivate::~QWebErrorPrivate):
43366 (QWebError::errorCode):
43368 * UIProcess/API/qt/qweberror.h: Added.
43369 * UIProcess/API/qt/qweberror_p.h: Added.
43370 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43371 (tst_CommonViewTests::loadNonexistentFileUrl):
43372 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43373 (WebViewAbstraction::WebViewAbstraction):
43374 (WebViewAbstraction::touchViewLoadFailed):
43375 (WebViewAbstraction::desktopViewLoadFailed):
43376 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43377 * UIProcess/qt/ClientImpl.cpp:
43378 (dispatchLoadSucceeded):
43379 (dispatchLoadFailed):
43380 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43381 (qt_wk_didFinishLoadForFrame):
43382 (qt_wk_didFailLoadWithErrorForFrame):
43383 * UIProcess/qt/QtWebPageProxy.cpp:
43384 (QtWebPageProxy::loadDidFail):
43385 * UIProcess/qt/QtWebPageProxy.h:
43386 * UIProcess/qt/TouchViewInterface.cpp:
43387 (WebKit::TouchViewInterface::loadDidFail):
43388 * UIProcess/qt/TouchViewInterface.h:
43389 * UIProcess/qt/ViewInterface.h:
43392 2011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
43394 [Qt] Forward the touch view scale changes to the tiled drawing area.
43395 https://bugs.webkit.org/show_bug.cgi?id=64357
43397 Reviewed by Kenneth Rohde Christiansen.
43399 The drawing area needs to know the new scale to render tiles accordingly.
43401 * UIProcess/API/qt/qtouchwebpage.cpp:
43402 (QTouchWebPagePrivate::commitScaleChange):
43403 * UIProcess/qt/qtouchwebpageproxy.cpp:
43404 (QTouchWebPageProxy::setContentsScale):
43405 * UIProcess/qt/qtouchwebpageproxy.h:
43406 (QTouchWebPageProxy::drawingArea):
43408 2011-07-12 Adam Roben <aroben@apple.com>
43410 Export some symbols needed by TestWebKitAPI
43412 Part of <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
43413 operator+ is suboptimal
43415 Reviewed by Darin Adler.
43419 2011-07-11 Hironori Bono <hbono@chromium.org>
43421 Reviewed by Adam Roben.
43423 Implement layoutTestController.setTextDirection for WebKit2 and Windows.
43424 https://bugs.webkit.org/show_bug.cgi?id=61931
43426 This change implements layoutTextController.setTextDirection for WebKit2
43427 and Windows so we can run a layout test added by r87770 on them. Each
43428 implementation adds a wrapper function for Editor::setBaseWritingDirection()
43429 so LayoutTestController can call it.
43431 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added
43432 WKBundleFrameSetTextDirection to allow LayoutTestController to change the
43434 (WKBundleFrameSetTextDirection):
43435 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: ditto.
43436 * WebProcess/WebPage/WebFrame.cpp: Added setTextDirection to allow
43437 WKBundleFrame to change the text direction.
43438 (WebKit::WebFrame::setTextDirection):
43439 * WebProcess/WebPage/WebFrame.h: ditto.
43441 2011-07-11 Benjamin Poulain <benjamin@webkit.org>
43443 [Qt][WK2] Get rid of focusNextPrevChild()
43444 https://bugs.webkit.org/show_bug.cgi?id=64289
43446 Reviewed by Andreas Kling.
43448 Qt 5 does not use focusNextPrevChild() but uses setFocusNavigation(), and
43449 the focus is not based on QWidget.
43451 We can get rid of the method since the new implementation will be totally
43454 * UIProcess/API/qt/qtouchwebpage.cpp:
43455 * UIProcess/API/qt/qtouchwebpage.h:
43456 * UIProcess/qt/ClientImpl.cpp:
43458 * UIProcess/qt/QtWebPageProxy.h:
43460 2011-07-11 Anders Carlsson <andersca@apple.com>
43462 Implement getFormValue for WebKit2
43463 https://bugs.webkit.org/show_bug.cgi?id=64294
43464 <rdar://problem/3964087>
43466 Reviewed by Kevin Decker.
43468 * PluginProcess/PluginControllerProxy.cpp:
43469 (WebKit::PluginControllerProxy::getFormValue):
43470 Call Plugin::getFormValue.
43472 * PluginProcess/PluginControllerProxy.messages.in:
43473 Add new GetFormValue message.
43475 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
43476 (WebKit::NetscapePlugin::getFormValue):
43477 Get the form value and convert it to a String.
43479 * WebProcess/Plugins/Plugin.h:
43480 Add getFormValue pure virtual member function.
43482 * WebProcess/Plugins/PluginProxy.cpp:
43483 (WebKit::PluginProxy::getFormValue):
43484 Send a GetFormValue message to the plug-in process.
43486 * WebProcess/Plugins/PluginView.cpp:
43487 (WebKit::PluginView::getFormValue):
43488 Call Plugin::getFormValue.
43490 2011-07-11 Ada Chan <adachan@apple.com>
43492 The original request should be accessible from WebNavigationData.
43493 https://bugs.webkit.org/show_bug.cgi?id=64227
43495 Reviewed by Anders Carlsson.
43497 * Shared/WebNavigationDataStore.h:
43498 (WebKit::WebNavigationDataStore::encode): Handle the encoding of the original request.
43499 (WebKit::WebNavigationDataStore::decode): Handle the decoding of the original request.
43500 * UIProcess/API/C/WKNavigationData.cpp:
43501 (WKNavigationDataCopyOriginalRequest):
43502 * UIProcess/API/C/WKNavigationData.h:
43503 * UIProcess/WebNavigationData.h:
43504 (WebKit::WebNavigationData::originalRequest):
43505 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43506 (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the original request in the WebNavigationDataStore.
43508 2011-07-11 Benjamin Poulain <benjamin@webkit.org>
43510 [Qt][WK2] Forward the viewport visible area from the view instead of inferring it from the TiledDrawingAreaProxy
43511 https://bugs.webkit.org/show_bug.cgi?id=64275
43513 Reviewed by Simon Hausmann.
43515 This patch refactors the way the viewport visible area is handled.
43516 Previously, the TiledDrawingAreaProxy would ask for the visible rect
43517 when painting or updating. This is reversed with this patch, and the viewport
43518 informs the page of any change in the view area.
43520 With this change, the TiledDrawingAreaProxy does not need to know about QTouchWebPage,
43521 and can use the TouchViewInterface directly.
43523 * UIProcess/API/qt/qtouchwebpage.cpp:
43524 (QTouchWebPagePrivate::setViewportRect):
43525 * UIProcess/API/qt/qtouchwebpage.h:
43526 * UIProcess/API/qt/qtouchwebpage_p.h:
43527 * UIProcess/API/qt/qtouchwebview.cpp:
43528 (QTouchWebViewPrivate::scroll):
43529 (QTouchWebViewPrivate::viewportRectUpdated):
43530 (QTouchWebView::resizeEvent):
43531 * UIProcess/API/qt/qtouchwebview.h:
43532 * UIProcess/API/qt/qtouchwebview_p.h:
43533 * UIProcess/PageClient.h:
43534 * UIProcess/TiledDrawingAreaProxy.cpp:
43535 (WebKit::TiledDrawingAreaProxy::invalidate):
43536 (WebKit::TiledDrawingAreaProxy::paint):
43537 (WebKit::TiledDrawingAreaProxy::setVisibleArea):
43538 (WebKit::TiledDrawingAreaProxy::createTiles):
43539 * UIProcess/TiledDrawingAreaProxy.h:
43540 * UIProcess/WebPageProxy.h:
43541 * UIProcess/qt/QtWebPageProxy.cpp:
43542 * UIProcess/qt/QtWebPageProxy.h:
43543 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43544 (WebKit::TiledDrawingAreaProxy::updateWebView):
43545 * UIProcess/qt/TouchViewInterface.cpp:
43546 (WebKit::TouchViewInterface::contentSizeChanged):
43547 * UIProcess/qt/TouchViewInterface.h:
43548 * UIProcess/qt/WebPageProxyQt.cpp:
43549 * UIProcess/qt/qtouchwebpageproxy.cpp:
43550 (QTouchWebPageProxy::createDrawingAreaProxy):
43551 (QTouchWebPageProxy::setVisibleArea):
43552 * UIProcess/qt/qtouchwebpageproxy.h:
43554 2011-07-11 Andreas Kling <kling@webkit.org>
43556 [Qt][WK2] Move zoomable-area-for-point functionality to QTouchWebPageProxy
43557 https://bugs.webkit.org/show_bug.cgi?id=64273
43559 Reviewed by Kenneth Rohde Christiansen.
43561 * UIProcess/qt/QtWebPageProxy.cpp:
43562 * UIProcess/qt/QtWebPageProxy.h:
43563 * UIProcess/qt/qdesktopwebpageproxy.cpp:
43564 (QDesktopWebPageProxy::didFindZoomableArea):
43565 * UIProcess/qt/qdesktopwebpageproxy.h:
43566 * UIProcess/qt/qtouchwebpageproxy.cpp:
43567 (QTouchWebPageProxy::findZoomableAreaForPoint):
43568 (QTouchWebPageProxy::didFindZoomableArea):
43569 * UIProcess/qt/qtouchwebpageproxy.h:
43571 2011-07-10 Anders Carlsson <andersca@apple.com>
43573 WebKit2 is leaking NSCursors created by leakNamedCursor
43574 https://bugs.webkit.org/show_bug.cgi?id=64241
43575 <rdar://problem/9507151>
43577 Reviewed by Oliver Hunt.
43579 * Shared/WebCoreArgumentCoders.cpp:
43580 (CoreIPC::::decode):
43581 When decoding a cursor of a known type, make sure to eagerly create the platform cursor
43582 for the cursor singleton. This way we avoid re-creating new NSCursor objects over and over for
43585 2011-07-10 Benjamin Poulain <benjamin@webkit.org>
43587 [Qt][WK2] Move setResizesToContentsUsingLayoutSize() to the touch specific page proxy
43588 https://bugs.webkit.org/show_bug.cgi?id=64238
43590 Reviewed by Andreas Kling.
43592 The method is specific to the touch view, so it should be in QTouchWebPageProxy instead
43595 * UIProcess/qt/QtWebPageProxy.cpp:
43596 * UIProcess/qt/QtWebPageProxy.h:
43597 * UIProcess/qt/qtouchwebpageproxy.cpp:
43598 (QTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
43599 * UIProcess/qt/qtouchwebpageproxy.h:
43601 2011-07-09 Noel Gordon <noel.gordon@gmail.com>
43603 Reviewed by Adam Roben.
43605 [WebKit2] Forward focus events to windowless plugins on the windows port.
43606 https://bugs.webkit.org/show_bug.cgi?id=63251
43608 No new tests. Covered by existing tests: plugins/mouse-events.html and
43609 plugins/keyboard-events.html.
43611 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
43612 (WebKit::NetscapePlugin::platformSetFocus):
43614 2011-07-08 Andreas Kling <kling@webkit.org>
43616 [Qt][WK2] Views should expose QActions for basic navigation.
43617 https://bugs.webkit.org/show_bug.cgi?id=64174
43619 Add navigationAction() methods to the views to provide default
43620 QActions for Back, Forward, Stop and Reload.
43622 Reviewed by Benjamin Poulain.
43624 * UIProcess/API/qt/WKView.h:
43625 * UIProcess/API/qt/qdesktopwebview.cpp:
43626 (QDesktopWebView::navigationAction):
43627 * UIProcess/API/qt/qdesktopwebview.h:
43628 * UIProcess/API/qt/qtouchwebpage.cpp:
43629 (QTouchWebPage::navigationAction):
43630 * UIProcess/API/qt/qtouchwebpage.h:
43631 * UIProcess/API/qt/qwebkittypes.h: Added.
43632 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43633 (tst_CommonViewTests::backAndForward):
43634 (tst_CommonViewTests::reload):
43635 (tst_CommonViewTests::stop):
43636 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43637 (WebViewAbstraction::triggerNavigationAction):
43638 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43639 * UIProcess/API/qt/tests/html/basic_page2.html: Added.
43640 * UIProcess/qt/QtWebPageProxy.cpp:
43641 (QtWebPageProxy::navigationAction):
43642 * UIProcess/qt/QtWebPageProxy.h:
43645 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
43647 [Qt][WK2] Get rid of the check for TILED_BACKING_STORE in Qt
43648 https://bugs.webkit.org/show_bug.cgi?id=64175
43650 Reviewed by Kenneth Rohde Christiansen.
43652 Qt no longer supports building WebKit2 without TILED_BACKING_STORE.
43654 * UIProcess/API/qt/qtouchwebpage.cpp:
43655 (QTouchWebPagePrivate::onScaleChanged):
43656 * UIProcess/qt/QtWebPageProxy.cpp:
43657 (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
43658 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43659 * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
43660 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
43662 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
43664 [WK2] Do not forward touch events to the web process when it does not need them
43665 https://bugs.webkit.org/show_bug.cgi?id=64164
43667 Reviewed by Kenneth Rohde Christiansen.
43669 The call to ChromeClient::needTouchEvent() is now forwarded to the WebPageProxy
43670 to change the way events are delivered.
43672 When the WebPage does not need touch events, and there is no queued touch events,
43673 the incoming events just bounce back through PageClient::doneWithTouchEvent().
43675 In the case when new events come to WebPageProxy and there are still touch events
43676 incoming from the WebProcess, the new events are deferred with the corresponding
43677 pending touch events.
43678 Deferring the new events iafter the corresponding forwarded event ensure
43679 the delivery is always done in order when PageClient::doneWithTouchEvent()
43682 * UIProcess/WebPageProxy.cpp:
43683 (WebKit::WebPageProxy::WebPageProxy):
43684 (WebKit::WebPageProxy::handleTouchEvent):
43685 (WebKit::WebPageProxy::needTouchEvents):
43686 (WebKit::WebPageProxy::didReceiveEvent):
43687 (WebKit::WebPageProxy::processDidCrash):
43688 * UIProcess/WebPageProxy.h:
43689 (WebKit::QueuedTouchEvents:::forwardedEvent):
43690 * UIProcess/WebPageProxy.messages.in:
43691 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43692 (WebKit::WebChromeClient::needTouchEvents):
43694 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
43696 [Qt][WK2] Add basic support for panning gestures to the QTouchWebView
43697 https://bugs.webkit.org/show_bug.cgi?id=64105
43699 Reviewed by Kenneth Rohde Christiansen.
43701 This patch adds basic support for the panning gesture on the UI process side.
43703 The events coming back from the WebProcess are processed through
43704 the QtPanGestureRecognizer to recognize the pan gesture. When the
43705 gesture is recognized, the actions are performed on the view through
43706 the TouchViewInterface.
43708 Currently, the viewport just move the page around without limit.
43709 This will be improved when a physics engine is integrated.
43711 * UIProcess/API/qt/qtouchwebview.cpp:
43712 (QTouchWebViewPrivate::scroll):
43713 * UIProcess/API/qt/qtouchwebview.h:
43714 * UIProcess/API/qt/qtouchwebview_p.h:
43715 * UIProcess/qt/QtPanGestureRecognizer.cpp: Added.
43716 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43717 (WebKit::QtPanGestureRecognizer::recognize):
43718 (WebKit::QtPanGestureRecognizer::reset):
43719 * UIProcess/qt/QtPanGestureRecognizer.h: Added.
43720 * UIProcess/qt/TouchViewInterface.cpp:
43721 (WebKit::TouchViewInterface::panGestureStarted):
43722 (WebKit::TouchViewInterface::panGestureRequestScroll):
43723 (WebKit::TouchViewInterface::panGestureEnded):
43724 (WebKit::TouchViewInterface::panGestureCancelled):
43725 * UIProcess/qt/TouchViewInterface.h:
43726 * UIProcess/qt/qtouchwebpageproxy.cpp:
43727 (QTouchWebPageProxy::QTouchWebPageProxy):
43728 (QTouchWebPageProxy::processDidCrash):
43729 (QTouchWebPageProxy::doneWithTouchEvent):
43730 * UIProcess/qt/qtouchwebpageproxy.h:
43733 2011-07-07 Andreas Kling <kling@webkit.org>
43735 [Qt][WK2] Remove Symbian code.
43736 https://bugs.webkit.org/show_bug.cgi?id=64101
43738 Reviewed by Benjamin Poulain.
43740 * DerivedSources.pro:
43741 * Platform/CoreIPC/Attachment.h:
43742 * Platform/CoreIPC/Connection.h:
43743 * Platform/SharedMemory.h:
43744 * Platform/qt/SharedMemorySymbian.cpp: Removed.
43745 * UIProcess/API/qt/tests/tests.pri:
43746 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
43752 2011-07-07 Andreas Kling <kling@webkit.org>
43754 [Qt][WK2] Don't support ridiculous matrix of QT_NO_FEATURE combinations.
43755 https://bugs.webkit.org/show_bug.cgi?id=64099
43757 Reviewed by Benjamin Poulain.
43759 * Shared/qt/WebEventFactoryQt.cpp:
43760 (WebKit::WebEventFactory::createWebWheelEvent):
43761 * UIProcess/API/qt/qdesktopwebview_p.h:
43762 * UIProcess/qt/QtWebPageProxy.cpp:
43763 (QtWebPageProxy::QtWebPageProxy):
43764 (QtWebPageProxy::setCursor):
43765 (QtWebPageProxy::registerEditCommand):
43766 (QtWebPageProxy::clearAllEditCommands):
43767 (QtWebPageProxy::canUndoRedo):
43768 (QtWebPageProxy::executeUndoRedo):
43769 (QtWebPageProxy::updateAction):
43770 (QtWebPageProxy::webActionTriggered):
43771 (QtWebPageProxy::triggerAction):
43772 (QtWebPageProxy::action):
43773 * UIProcess/qt/QtWebPageProxy.h:
43774 * UIProcess/qt/TouchViewInterface.cpp:
43775 (WebKit::TouchViewInterface::didChangeCursor):
43776 * UIProcess/qt/TouchViewInterface.h:
43777 * UIProcess/qt/ViewInterface.h:
43778 * UIProcess/qt/WebUndoCommandQt.cpp:
43779 (WebUndoCommandQt::WebUndoCommandQt):
43780 * UIProcess/qt/WebUndoCommandQt.h:
43781 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
43782 (WebKit::WebDragClient::startDrag):
43784 2011-07-07 Andreas Kling <kling@webkit.org>
43786 [Qt][WK2] Views should know about WebProcess crash/relaunch.
43787 https://bugs.webkit.org/show_bug.cgi?id=64093
43789 Reviewed by Benjamin Poulain.
43791 Add processDidCrash() and didRelaunchProcess() to ViewInterface.
43793 QDesktopWebView now displays a simple sad smiley ":(" when the
43794 web process crashes.
43796 * UIProcess/API/qt/qdesktopwebview.cpp:
43797 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43798 (paintCrashedPage):
43799 (QDesktopWebView::paint):
43800 (QDesktopWebViewPrivate::processDidCrash):
43801 (QDesktopWebViewPrivate::didRelaunchProcess):
43802 * UIProcess/API/qt/qdesktopwebview_p.h:
43803 * UIProcess/qt/QtWebPageProxy.cpp:
43804 (QtWebPageProxy::QtWebPageProxy):
43805 (QtWebPageProxy::didRelaunchProcess):
43806 (QtWebPageProxy::processDidCrash):
43807 * UIProcess/qt/QtWebPageProxy.h:
43808 * UIProcess/qt/TouchViewInterface.cpp:
43809 (WebKit::TouchViewInterface::showContextMenu):
43810 (WebKit::TouchViewInterface::hideContextMenu):
43811 (WebKit::TouchViewInterface::processDidCrash):
43812 (WebKit::TouchViewInterface::didRelaunchProcess):
43813 * UIProcess/qt/TouchViewInterface.h:
43814 * UIProcess/qt/ViewInterface.h:
43816 2011-07-07 Benjamin Poulain <benjamin@webkit.org>
43818 [Qt] [WK2] Improve the handling of touch events to use them as main input
43819 https://bugs.webkit.org/show_bug.cgi?id=63991
43821 Reviewed by Kenneth Rohde Christiansen.
43823 Promote touch event for use as primary input.
43825 The touch events now use the responsiveness timer like the other input events.
43827 The touch events also have a callback to the UI signaling if the event was used
43828 or not: PageClient::doneWithTouchEvent().
43829 This is similar to what is done with key events (PageClient::doneWithKeyEvent()).
43831 * Shared/NativeWebTouchEvent.h: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43832 (WebKit::NativeWebTouchEvent::nativeEvent):
43833 * Shared/qt/NativeWebTouchEventQt.cpp: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43834 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
43835 * Shared/qt/WebEventFactoryQt.cpp:
43836 (WebKit::webEventTypeForEvent):
43837 (WebKit::WebEventFactory::createWebTouchEvent):
43838 * Shared/qt/WebEventFactoryQt.h:
43839 * UIProcess/PageClient.h:
43840 * UIProcess/WebPageProxy.cpp:
43841 (WebKit::WebPageProxy::handleTouchEvent):
43842 (WebKit::WebPageProxy::didReceiveEvent):
43843 * UIProcess/WebPageProxy.h:
43844 * UIProcess/qt/qdesktopwebpageproxy.cpp:
43845 (QDesktopWebPageProxy::doneWithTouchEvent):
43846 * UIProcess/qt/qdesktopwebpageproxy.h:
43847 * UIProcess/qt/qtouchwebpageproxy.cpp:
43848 (QTouchWebPageProxy::doneWithTouchEvent):
43849 (QTouchWebPageProxy::touchEvent):
43850 * UIProcess/qt/qtouchwebpageproxy.h:
43853 2011-07-06 Andreas Kling <kling@webkit.org>
43855 [Qt][WK2] Split Qt API into two different web views (touch and desktop)
43856 https://bugs.webkit.org/show_bug.cgi?id=63950
43858 Co-authored with Benjamin Poulain <benjamin@webkit.org>.
43860 Reviewed by Kenneth Rohde Christiansen.
43862 Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.
43864 QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
43865 will have the expected "desktop" behavior for things like subframes and
43866 fixed-position elements.
43868 QTouchWebView is intended for use on touch devices, and will manage the viewport,
43869 gestures, tiled rendering, and other things that the user should never have to
43870 worry about. It will use "resize to contents" and frame flattening by default.
43872 API-wise, the biggest difference between the two is that QTouchWebView is really
43873 a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
43874 UI design. This decoupling is not necessary for the desktop use-case, and so
43875 QDesktopWebView is the only class we need.
43877 Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
43878 but will be re-added incrementally in a way that fits the new API vision.
43880 * UIProcess/API/qt/WKView.h:
43881 * UIProcess/API/qt/qdesktopwebview.cpp: Added.
43882 (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43883 (QDesktopWebViewPrivate::setViewNeedsDisplay):
43884 (QDesktopWebViewPrivate::drawingAreaSize):
43885 (QDesktopWebViewPrivate::contentSizeChanged):
43886 (QDesktopWebViewPrivate::isActive):
43887 (QDesktopWebViewPrivate::hasFocus):
43888 (QDesktopWebViewPrivate::isVisible):
43889 (QDesktopWebViewPrivate::startDrag):
43890 (QDesktopWebViewPrivate::didChangeUrl):
43891 (QDesktopWebViewPrivate::didChangeTitle):
43892 (QDesktopWebViewPrivate::didChangeToolTip):
43893 (QDesktopWebViewPrivate::didChangeStatusText):
43894 (QDesktopWebViewPrivate::didChangeCursor):
43895 (QDesktopWebViewPrivate::loadDidBegin):
43896 (QDesktopWebViewPrivate::loadDidSucceed):
43897 (QDesktopWebViewPrivate::didChangeLoadProgress):
43898 (QDesktopWebViewPrivate::showContextMenu):
43899 (QDesktopWebViewPrivate::hideContextMenu):
43900 (QDesktopWebView::QDesktopWebView):
43901 (QDesktopWebView::init):
43902 (QDesktopWebView::~QDesktopWebView):
43903 (QDesktopWebView::load):
43904 (QDesktopWebView::url):
43905 (QDesktopWebView::title):
43906 (QDesktopWebView::resizeEvent):
43907 (QDesktopWebView::paint):
43908 (QDesktopWebView::event):
43909 (QDesktopWebView::pageRef):
43910 * UIProcess/API/qt/qdesktopwebview.h: Added.
43911 * UIProcess/API/qt/qdesktopwebview_p.h: Added.
43912 * UIProcess/API/qt/qgraphicswkview.cpp: Removed.
43913 * UIProcess/API/qt/qgraphicswkview.h: Removed.
43914 * UIProcess/API/qt/qtouchwebpage.cpp: Added.
43915 (QTouchWebPage::QTouchWebPage):
43916 (QTouchWebPage::~QTouchWebPage):
43917 (QTouchWebPage::paint):
43918 (QTouchWebPage::load):
43919 (QTouchWebPage::url):
43920 (QTouchWebPage::title):
43921 (QTouchWebPage::focusNextPrevChildCallback):
43922 (QTouchWebPage::focusNextPrevChild):
43923 (QTouchWebPage::event):
43924 (QTouchWebPage::timerEvent):
43925 (QTouchWebPage::resizeEvent):
43926 (QTouchWebPagePrivate::QTouchWebPagePrivate):
43927 (QTouchWebPage::visibleRect):
43928 (QTouchWebPagePrivate::prepareScaleChange):
43929 (QTouchWebPagePrivate::commitScaleChange):
43930 (QTouchWebPagePrivate::onScaleChanged):
43931 (QTouchWebPagePrivate::setPage):
43932 * UIProcess/API/qt/qtouchwebpage.h: Added.
43933 * UIProcess/API/qt/qtouchwebpage_p.h: Added.
43934 (QTouchWebPagePrivate::getPageViewPrivate):
43935 * UIProcess/API/qt/qtouchwebview.cpp: Added.
43936 (QTouchWebViewPrivate::QTouchWebViewPrivate):
43937 (QTouchWebView::QTouchWebView):
43938 (QTouchWebView::~QTouchWebView):
43939 (QTouchWebView::page):
43940 * UIProcess/API/qt/qtouchwebview.h: Added.
43941 * UIProcess/API/qt/qtouchwebview_p.h: Added.
43942 * UIProcess/API/qt/qwkpage.cpp: Removed.
43943 * UIProcess/API/qt/qwkpage.h: Removed.
43944 * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
43945 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added.
43946 (tst_CommonViewTests::init):
43947 (tst_CommonViewTests::cleanup):
43948 (tst_CommonViewTests::baseUrl):
43949 (tst_CommonViewTests::loadEmptyUrl):
43950 (tst_CommonViewTests::loadEmptyPageViewVisible):
43951 (tst_CommonViewTests::loadEmptyPageViewHidden):
43952 (tst_CommonViewTests::show):
43953 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added.
43954 (WebViewAbstraction::WebViewAbstraction):
43955 (WebViewAbstraction::show):
43956 (WebViewAbstraction::hide):
43957 (WebViewAbstraction::load):
43958 (WebViewAbstraction::url):
43959 (WebViewAbstraction::touchViewLoadStarted):
43960 (WebViewAbstraction::desktopViewLoadStarted):
43961 (WebViewAbstraction::touchViewLoadSucceeded):
43962 (WebViewAbstraction::desktopViewLoadSucceeded):
43963 (WebViewAbstraction::touchWebView):
43964 (WebViewAbstraction::desktopWebView):
43965 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43966 * UIProcess/API/qt/tests/html/a.htm: Removed.
43967 * UIProcess/API/qt/tests/html/b.htm: Removed.
43968 * UIProcess/API/qt/tests/html/c.htm: Removed.
43969 * UIProcess/API/qt/tests/html/d.htm: Removed.
43970 * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
43971 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43972 (tst_QDesktopWebView::init):
43973 (tst_QDesktopWebView::cleanup):
43974 (tst_QDesktopWebView::webView):
43975 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
43976 * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
43977 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added.
43978 (tst_QTouchWebView::tst_QTouchWebView):
43979 (tst_QTouchWebView::init):
43980 (tst_QTouchWebView::cleanup):
43981 (tst_QTouchWebView::webView):
43982 (tst_QTouchWebView::accessPage):
43983 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
43984 * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
43985 * UIProcess/API/qt/tests/tests.pro:
43986 * UIProcess/API/qt/tests/testwindow.h: Added.
43987 (TestWindow::TestWindow):
43988 (TestWindow::resizeEvent):
43989 * UIProcess/TiledDrawingAreaProxy.cpp:
43990 * UIProcess/TiledDrawingAreaProxy.h:
43991 * UIProcess/WebFullScreenManagerProxy.h:
43992 * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp.
43994 (toQtWebPageProxy):
43996 (qt_wk_didStartProvisionalLoadForFrame):
43997 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
43998 (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43999 (qt_wk_didCommitLoadForFrame):
44000 (qt_wk_didFinishDocumentLoadForFrame):
44001 (qt_wk_didFinishLoadForFrame):
44002 (qt_wk_didFailLoadWithErrorForFrame):
44003 (qt_wk_didReceiveTitleForFrame):
44004 (qt_wk_didFirstLayoutForFrame):
44005 (qt_wk_didRemoveFrameFromHierarchy):
44006 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
44007 (qt_wk_didStartProgress):
44008 (qt_wk_didChangeProgress):
44009 (qt_wk_didFinishProgress):
44010 (qt_wk_didBecomeUnresponsive):
44011 (qt_wk_didBecomeResponsive):
44012 (qt_wk_createNewPage):
44016 (qt_wk_runJavaScriptAlert):
44017 (qt_wk_setStatusText):
44018 (qt_wk_didSameDocumentNavigationForFrame):
44019 (qt_wk_didChangeIconForPageURL):
44020 (qt_wk_didRemoveAllIcons):
44021 * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
44022 * UIProcess/qt/QtWebPageProxy.cpp: Added.
44023 (defaultWKContext):
44024 (contextMenuActionForWebAction):
44025 (dragOperationToDropActions):
44026 (dropActionToDragOperation):
44027 (QtWebPageProxy::QtWebPageProxy):
44028 (QtWebPageProxy::init):
44029 (QtWebPageProxy::~QtWebPageProxy):
44030 (QtWebPageProxy::handleEvent):
44031 (QtWebPageProxy::handleKeyPressEvent):
44032 (QtWebPageProxy::handleKeyReleaseEvent):
44033 (QtWebPageProxy::handleFocusInEvent):
44034 (QtWebPageProxy::handleFocusOutEvent):
44035 (QtWebPageProxy::setCursor):
44036 (QtWebPageProxy::setViewNeedsDisplay):
44037 (QtWebPageProxy::displayView):
44038 (QtWebPageProxy::scrollView):
44039 (QtWebPageProxy::viewSize):
44040 (QtWebPageProxy::isViewWindowActive):
44041 (QtWebPageProxy::isViewFocused):
44042 (QtWebPageProxy::isViewVisible):
44043 (QtWebPageProxy::isViewInWindow):
44044 (QtWebPageProxy::enterAcceleratedCompositingMode):
44045 (QtWebPageProxy::exitAcceleratedCompositingMode):
44046 (QtWebPageProxy::pageDidRequestScroll):
44047 (QtWebPageProxy::didChangeContentsSize):
44048 (QtWebPageProxy::toolTipChanged):
44049 (QtWebPageProxy::registerEditCommand):
44050 (QtWebPageProxy::clearAllEditCommands):
44051 (QtWebPageProxy::canUndoRedo):
44052 (QtWebPageProxy::executeUndoRedo):
44053 (QtWebPageProxy::convertToDeviceSpace):
44054 (QtWebPageProxy::screenToWindow):
44055 (QtWebPageProxy::windowToScreen):
44056 (QtWebPageProxy::convertToUserSpace):
44057 (QtWebPageProxy::selectionChanged):
44058 (QtWebPageProxy::doneWithKeyEvent):
44059 (QtWebPageProxy::createPopupMenuProxy):
44060 (QtWebPageProxy::createContextMenuProxy):
44061 (QtWebPageProxy::setFindIndicator):
44062 (QtWebPageProxy::didCommitLoadForMainFrame):
44063 (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation):
44064 (QtWebPageProxy::flashBackingStoreUpdates):
44065 (QtWebPageProxy::pageRef):
44066 (QtWebPageProxy::didChangeUrl):
44067 (QtWebPageProxy::didChangeTitle):
44068 (QtWebPageProxy::didChangeStatusText):
44069 (QtWebPageProxy::showContextMenu):
44070 (QtWebPageProxy::hideContextMenu):
44071 (QtWebPageProxy::loadDidBegin):
44072 (QtWebPageProxy::loadDidSucceed):
44073 (QtWebPageProxy::didChangeLoadProgress):
44074 (QtWebPageProxy::paint):
44075 (QtWebPageProxy::updateAction):
44076 (QtWebPageProxy::updateNavigationActions):
44077 (QtWebPageProxy::webActionTriggered):
44078 (QtWebPageProxy::didRelaunchProcess):
44079 (QtWebPageProxy::processDidCrash):
44080 (QtWebPageProxy::setActualVisibleContentsRect):
44081 (QtWebPageProxy::preferences):
44082 (QtWebPageProxy::setCreateNewPageFunction):
44083 (QtWebPageProxy::setCustomUserAgent):
44084 (QtWebPageProxy::customUserAgent):
44085 (QtWebPageProxy::load):
44086 (QtWebPageProxy::url):
44087 (QtWebPageProxy::title):
44088 (QtWebPageProxy::setDrawingAreaSize):
44089 (QtWebPageProxy::textZoomFactor):
44090 (QtWebPageProxy::setTextZoomFactor):
44091 (QtWebPageProxy::pageZoomFactor):
44092 (QtWebPageProxy::setPageZoomFactor):
44093 (QtWebPageProxy::setPageAndTextZoomFactors):
44094 (QtWebPageProxy::history):
44095 (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
44096 (QtWebPageProxy::triggerAction):
44097 (QtWebPageProxy::action):
44098 (QtWebPageProxy::findZoomableAreaForPoint):
44099 (QtWebPageProxy::didFindZoomableArea):
44100 (QtWebPageProxy::startDrag):
44101 (QtWebPageProxy::viewportVisibleRect):
44102 (QtWebPageProxy::isConnectedToEngine):
44103 (QtWebPageProxy::setPageIsVisible):
44104 * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h.
44105 (QtWebPageProxy::pageClosed):
44106 (QtWebPageProxy::customRepresentationZoomFactor):
44107 (QtWebPageProxy::setCustomRepresentationZoomFactor):
44108 (QtWebPageProxy::didChangeScrollbarsForMainFrame):
44109 (QtWebPageProxy::findStringInCustomRepresentation):
44110 (QtWebPageProxy::countStringMatchesInCustomRepresentation):
44111 (QtWebPageProxy::userSpaceScaleFactor):
44112 (QtWebPageProxy::createNewPageFunction):
44113 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
44114 (WebKit::TiledDrawingAreaProxy::page):
44115 * UIProcess/qt/TouchViewInterface.cpp: Added.
44116 (WebKit::TouchViewInterface::TouchViewInterface):
44117 (WebKit::TouchViewInterface::setViewNeedsDisplay):
44118 (WebKit::TouchViewInterface::drawingAreaSize):
44119 (WebKit::TouchViewInterface::contentSizeChanged):
44120 (WebKit::TouchViewInterface::isActive):
44121 (WebKit::TouchViewInterface::hasFocus):
44122 (WebKit::TouchViewInterface::isVisible):
44123 (WebKit::TouchViewInterface::startDrag):
44124 (WebKit::TouchViewInterface::didChangeUrl):
44125 (WebKit::TouchViewInterface::didChangeTitle):
44126 (WebKit::TouchViewInterface::didChangeToolTip):
44127 (WebKit::TouchViewInterface::didChangeStatusText):
44128 (WebKit::TouchViewInterface::didChangeCursor):
44129 (WebKit::TouchViewInterface::loadDidBegin):
44130 (WebKit::TouchViewInterface::loadDidSucceed):
44131 (WebKit::TouchViewInterface::didChangeLoadProgress):
44132 (WebKit::TouchViewInterface::showContextMenu):
44133 (WebKit::TouchViewInterface::hideContextMenu):
44134 * UIProcess/qt/TouchViewInterface.h: Added.
44135 (WebKit::TouchViewInterface::pageView):
44136 * UIProcess/qt/ViewInterface.cpp: Added.
44137 (WebKit::ViewInterface::ownerWidget):
44138 * UIProcess/qt/ViewInterface.h: Added.
44139 * UIProcess/qt/WebContextMenuProxyQt.cpp:
44140 (WebKit::webActionForContextMenuAction):
44141 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
44142 (WebKit::WebContextMenuProxyQt::create):
44143 (WebKit::WebContextMenuProxyQt::showContextMenu):
44144 (WebKit::WebContextMenuProxyQt::hideContextMenu):
44145 (WebKit::WebContextMenuProxyQt::createContextMenu):
44146 * UIProcess/qt/WebContextMenuProxyQt.h:
44147 * UIProcess/qt/qdesktopwebpageproxy.cpp: Added.
44148 (dragOperationToDropAction):
44149 (QDesktopWebPageProxy::QDesktopWebPageProxy):
44150 (QDesktopWebPageProxy::createDrawingAreaProxy):
44151 (QDesktopWebPageProxy::paintContent):
44152 (QDesktopWebPageProxy::setViewportArguments):
44153 (QDesktopWebPageProxy::handleEvent):
44154 (QDesktopWebPageProxy::handleMouseMoveEvent):
44155 (QDesktopWebPageProxy::handleMousePressEvent):
44156 (QDesktopWebPageProxy::handleMouseReleaseEvent):
44157 (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
44158 (QDesktopWebPageProxy::handleWheelEvent):
44159 (QDesktopWebPageProxy::handleHoverMoveEvent):
44160 (QDesktopWebPageProxy::handleDragEnterEvent):
44161 (QDesktopWebPageProxy::handleDragLeaveEvent):
44162 (QDesktopWebPageProxy::handleDragMoveEvent):
44163 (QDesktopWebPageProxy::handleDropEvent):
44164 (QDesktopWebPageProxy::timerEvent):
44165 * UIProcess/qt/qdesktopwebpageproxy.h: Added.
44166 * UIProcess/qt/qtouchwebpageproxy.cpp: Added.
44167 (QTouchWebPageProxy::QTouchWebPageProxy):
44168 (QTouchWebPageProxy::createDrawingAreaProxy):
44169 (QTouchWebPageProxy::paintContent):
44170 (QTouchWebPageProxy::setViewportArguments):
44171 (QTouchWebPageProxy::handleEvent):
44172 (QTouchWebPageProxy::touchEvent):
44173 * UIProcess/qt/qtouchwebpageproxy.h: Added.
44174 (QTouchWebPageProxy::touchViewInterface):
44175 (QTouchWebPageProxy::pageView):
44176 * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp.
44177 (initializePlatformStrategiesIfNeeded):
44178 (QWKContextPrivate::QWKContextPrivate):
44179 (QWKContextPrivate::~QWKContextPrivate):
44180 (QWKContext::QWKContext):
44181 (QWKContext::~QWKContext):
44182 (QWKContext::setIconDatabasePath):
44183 (QWKContext::iconForPageURL):
44184 * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
44185 * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
44186 * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp.
44187 (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
44188 (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
44189 (QWKHistoryItem::QWKHistoryItem):
44190 (QWKHistoryItem::QWKHistoryItem::operator=):
44191 (QWKHistoryItem::~QWKHistoryItem):
44192 (QWKHistoryItem::title):
44193 (QWKHistoryItem::url):
44194 (QWKHistoryPrivate::QWKHistoryPrivate):
44195 (QWKHistoryPrivate::createHistory):
44196 (QWKHistoryPrivate::~QWKHistoryPrivate):
44197 (QWKHistory::QWKHistory):
44198 (QWKHistory::~QWKHistory):
44199 (QWKHistory::backListCount):
44200 (QWKHistory::forwardListCount):
44201 (QWKHistory::count):
44202 (QWKHistory::currentItem):
44203 (QWKHistory::backItem):
44204 (QWKHistory::forwardItem):
44205 (QWKHistory::itemAt):
44206 (QWKHistory::goToItemAt):
44207 (QWKHistory::backItems):
44208 (QWKHistory::forwardItems):
44209 * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
44210 * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
44211 * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp.
44212 (QWKPreferencesPrivate::createPreferences):
44213 (QWKPreferencesPrivate::createSharedPreferences):
44214 (QWKPreferences::sharedPreferences):
44215 (QWKPreferences::QWKPreferences):
44216 (QWKPreferences::~QWKPreferences):
44217 (QWKPreferences::setFontFamily):
44218 (QWKPreferences::fontFamily):
44219 (QWKPreferences::testAttribute):
44220 (QWKPreferences::setAttribute):
44221 (QWKPreferences::setFontSize):
44222 (QWKPreferences::fontSize):
44223 * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
44224 * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
44227 * WebProcess/WebPage/TiledDrawingArea.cpp:
44228 * WebProcess/WebPage/TiledDrawingArea.h:
44230 2011-07-05 Jeff Miller <jeffm@apple.com>
44232 Add WKPageCopyStandardUserAgentWithApplicationName
44233 https://bugs.webkit.org/show_bug.cgi?id=63953
44235 Reviewed by Adam Roben.
44237 * UIProcess/API/C/WKPage.cpp:
44238 (WKPageCopyStandardUserAgentWithApplicationName): Added.
44239 * UIProcess/API/C/WKPagePrivate.h: Added WKPageCopyStandardUserAgentWithApplicationName().
44241 * UIProcess/WebPageProxy.h: Make standardUserAgent() public.
44243 2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>
44245 Web Inspector: Show content for plugin requests in network panel.
44246 https://bugs.webkit.org/show_bug.cgi?id=30080
44248 Added win symbols for new window.internals methods.
44250 Reviewed by Pavel Feldman.
44253 * win/WebKit2CFLite.def:
44255 2011-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
44257 Unreviewed, rolling out r90373.
44258 http://trac.webkit.org/changeset/90373
44259 https://bugs.webkit.org/show_bug.cgi?id=63917
44261 Breaks Qt Linux Release minimal (Requested by vsevik on
44265 * win/WebKit2CFLite.def:
44267 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
44269 Web Inspector: Show content for plugin requests in network panel.
44270 https://bugs.webkit.org/show_bug.cgi?id=30080
44272 Reviewed by Pavel Feldman.
44275 * win/WebKit2CFLite.def:
44277 2011-07-04 Anders Carlsson <andersca@apple.com>
44279 NP_RemoveProperty is not called back by Safari when delete npObject.prop is encountered in JavaScript
44280 https://bugs.webkit.org/show_bug.cgi?id=63915
44281 <rdar://problem/7124300>
44283 Reviewed by Sam Weinig.
44285 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
44286 (WebKit::JSNPObject::deleteProperty):
44287 Call NP_RemoveProperty on the NPObject.
44289 * WebProcess/Plugins/Netscape/JSNPObject.h:
44290 Add deleteProperty.
44292 2011-06-23 Robert Hogan <robert@webkit.org>
44294 Reviewed by Simon Hausmann.
44296 [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
44297 https://bugs.webkit.org/show_bug.cgi?id=30355
44299 PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
44300 in order to clear the FrameSelection in the currently focused node. In its platform-specific
44301 code Chromium already does this (WebPluginContainerImpl.cpp).
44303 * WebProcess/Plugins/PluginView.cpp:
44304 (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
44305 the call to FocusController:setFocusedFrame() redundant, since the
44308 2011-07-02 Anders Carlsson <andersca@apple.com>
44310 Have another go at fixing the Windows build.
44312 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44313 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44314 (WebKit::NetscapePlugin::containingWindow):
44315 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44316 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44318 2011-07-02 Anders Carlsson <andersca@apple.com>
44320 Null out the plug-in controller after destroying the plug-in.
44321 https://bugs.webkit.org/show_bug.cgi?id=63869
44323 Reviewed by Maciej Stachowiak.
44325 * PluginProcess/PluginControllerProxy.cpp:
44326 (WebKit::PluginControllerProxy::destroy):
44327 Call destroyPlugin.
44329 * WebProcess/Plugins/Plugin.cpp:
44330 (WebKit::Plugin::destroyPlugin):
44331 Call destroy and null out the plug-in controller.
44333 * WebProcess/Plugins/Plugin.h:
44334 Add destroyPlugin, make destroy private.
44336 * WebProcess/Plugins/PluginView.cpp:
44337 (WebKit::PluginView::~PluginView):
44338 Call destroyPlugin.
44340 2011-07-02 Anders Carlsson <andersca@apple.com>
44342 Fix Windows build for real.
44344 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44345 (WebKit::NetscapePlugin::containingWindow):
44346 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44347 (WebKit::NetscapePlugin::platformPaint):
44348 (WebKit::NetscapePlugin::platformHandleMouseEvent):
44350 2011-07-02 Anders Carlsson <andersca@apple.com>
44352 Implement NPN_PluginThreadAsyncCall
44353 https://bugs.webkit.org/show_bug.cgi?id=63868
44355 Reviewed by Dan Bernstein.
44357 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44358 (WebKit::NPN_PluginThreadAsyncCall):
44359 Call NetscapePlugin::pluginThreadAsyncCall.
44361 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44362 (WebKit::NetscapePlugin::pluginThreadAsyncCall):
44363 Schedule a work item to call the function on the main run loop.
44365 (WebKit::NetscapePlugin::handlePluginThreadAsyncCall):
44366 If the plug-in is still running, run the function.
44368 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44369 Add new member function.
44371 * WebProcess/Plugins/Plugin.h:
44372 Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially
44373 ref the plug-in from other threads.
44375 2011-07-02 Anders Carlsson <andersca@apple.com>
44379 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44380 (WebKit::NetscapePlugin::containingWindow):
44381 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44382 (WebKit::NetscapePlugin::platformPaint):
44383 (WebKit::NetscapePlugin::platformHandleMouseEvent):
44384 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44385 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44387 2011-07-02 Anders Carlsson <andersca@apple.com>
44389 Move the plug-in controller member variable up to the shared Plugin base class
44390 https://bugs.webkit.org/show_bug.cgi?id=63867
44392 Reviewed by Sam Weinig.
44394 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44395 (WebKit::NetscapePlugin::NetscapePlugin):
44396 Remove m_pluginController.
44398 (WebKit::NetscapePlugin::invalidate):
44399 (WebKit::NetscapePlugin::userAgent):
44400 (WebKit::NetscapePlugin::loadURL):
44401 (WebKit::NetscapePlugin::setStatusbarText):
44402 (WebKit::NetscapePlugin::evaluate):
44403 (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
44404 (WebKit::NetscapePlugin::windowScriptNPObject):
44405 (WebKit::NetscapePlugin::pluginElementNPObject):
44406 (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
44407 (WebKit::NetscapePlugin::cancelStreamLoad):
44408 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
44409 (WebKit::NetscapePlugin::proxiesForURL):
44410 (WebKit::NetscapePlugin::cookiesForURL):
44411 (WebKit::NetscapePlugin::setCookiesForURL):
44412 (WebKit::NetscapePlugin::getAuthenticationInfo):
44413 Use controller() instead of m_pluginController.
44415 (WebKit::NetscapePlugin::initialize):
44416 This doesn't take a PluginController parameter anymore.
44418 (WebKit::NetscapePlugin::destroy):
44419 No need to null out the plug-in controller.
44421 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44422 Remove m_pluginController member variable.
44424 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
44425 (WebKit::NetscapePlugin::compositingRenderServerPort):
44426 (WebKit::NetscapePlugin::platformSetFocus):
44427 (WebKit::NetscapePlugin::windowFocusChanged):
44428 Use controller() instead of m_pluginController.
44430 * WebProcess/Plugins/Plugin.cpp:
44431 (WebKit::Plugin::Plugin):
44432 Initialize m_pluginController.
44434 (WebKit::Plugin::initialize):
44435 New function that initializes the plug-in controller and then calls the real
44436 virtual initialize member function.
44438 * WebProcess/Plugins/Plugin.h:
44439 Add m_pluginController member variable and a new initialize virtual member function that doesn't take a
44440 PluginController parameter. Make the "old" initialize member function set up the plug-in controller.
44442 (WebKit::Plugin::controller):
44443 This is now a simple getter.
44445 * WebProcess/Plugins/PluginProxy.cpp:
44446 (WebKit::PluginProxy::PluginProxy):
44447 Remove m_pluginController.
44449 (WebKit::PluginProxy::pluginProcessCrashed):
44450 Use controller(), remove a bogus null check.
44452 (WebKit::PluginProxy::initialize):
44453 This doesn't take a PluginController parameter now.
44455 (WebKit::PluginProxy::destroy):
44456 No need to null out the plug-in controller member variable.
44458 (WebKit::PluginProxy::loadURL):
44459 (WebKit::PluginProxy::proxiesForURL):
44460 (WebKit::PluginProxy::cookiesForURL):
44461 (WebKit::PluginProxy::setCookiesForURL):
44462 (WebKit::PluginProxy::getAuthenticationInfo):
44463 (WebKit::PluginProxy::windowNPObjectID):
44464 (WebKit::PluginProxy::getPluginElementNPObject):
44465 (WebKit::PluginProxy::evaluate):
44466 (WebKit::PluginProxy::cancelStreamLoad):
44467 (WebKit::PluginProxy::cancelManualStreamLoad):
44468 (WebKit::PluginProxy::setStatusbarText):
44469 (WebKit::PluginProxy::setComplexTextInputEnabled):
44470 (WebKit::PluginProxy::update):
44471 Use controller() instead of m_pluginController.
44473 * WebProcess/Plugins/PluginProxy.h:
44474 Remove m_pluginController.
44476 2011-07-01 Darin Adler <darin@apple.com>
44478 Consider backing scale factor when setting up graphics layers
44479 https://bugs.webkit.org/show_bug.cgi?id=63848
44481 Reviewed by Simon Fraser.
44483 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
44484 (WebKit::LayerTreeHostCA::initialize): Set contents scale on the
44485 non-composited content layer based on the backing scale factor.
44486 (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents
44487 scale on the page overlay layer based on the backing scale factor.
44489 2011-06-30 Brian Weinstein <bweinstein@apple.com>
44491 Reviewed by Darin Adler.
44493 WebKit2: DidFinishLoadForFrame is never called on iframes when loads are
44494 cancelled by willSendRequest
44495 https://bugs.webkit.org/show_bug.cgi?id=63753
44497 When deciding a policy for a null request, call the callback that was passed
44498 to WebKit2 and say that we used the loader.
44500 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44501 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
44503 2011-07-01 Balazs Kelemen <kbalazs@webkit.org>
44505 Reviewed by Andreas Kling.
44507 [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation
44508 https://bugs.webkit.org/show_bug.cgi?id=63239
44510 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44511 Revert the return value of NPP_HandleEvent because the plugin function
44512 returns with 0 if it handled the event.
44513 (WebKit::NetscapePlugin::platformHandleMouseEvent):
44514 (WebKit::NetscapePlugin::platformHandleWheelEvent):
44515 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44516 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44517 (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
44519 2011-07-01 Mark Rowe <mrowe@apple.com>
44521 Unreviewed due to fixing of a broken world.
44523 REGRESSION (r90163): WebKit2 bot is failing 100% of the tests.
44525 r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1.
44526 This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient,
44527 resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient
44528 template takes care of the relevant version checks.
44530 * Shared/APIClient.h:
44531 (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if
44532 the client version is newer than what we support. This matches the behavior of the ad-hoc version checking.
44533 * UIProcess/API/C/WKContext.cpp:
44534 (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking.
44535 (WKContextSetHistoryClient): Ditto.
44536 (WKContextSetDownloadClient): Ditto.
44537 * UIProcess/API/C/WKCookieManager.cpp:
44538 (WKCookieManagerSetClient): Ditto.
44539 * UIProcess/API/C/WKGeolocationManager.cpp:
44540 (WKGeolocationManagerSetProvider): Ditto.
44541 * UIProcess/API/C/WKIconDatabase.cpp:
44542 (WKIconDatabaseSetIconDatabaseClient): Ditto.
44543 * UIProcess/API/C/WKPage.cpp:
44544 (WKPageSetPageContextMenuClient): Ditto.
44545 (WKPageSetPageFindClient): Ditto.
44546 (WKPageSetPageFormClient): Ditto.
44547 (WKPageSetPageLoaderClient): Ditto.
44548 (WKPageSetPagePolicyClient): Ditto.
44549 (WKPageSetPageResourceLoadClient): Ditto.
44550 (WKPageSetPageUIClient): Ditto.
44551 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
44552 (WKBundleSetClient): Ditto.
44553 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
44554 (WKBundlePageSetContextMenuClient): Ditto.
44555 (WKBundlePageSetEditorClient): Ditto.
44556 (WKBundlePageSetFormClient): Ditto.
44557 (WKBundlePageSetPageLoaderClient): Ditto.
44558 (WKBundlePageSetResourceLoadClient): Ditto.
44559 (WKBundlePageSetPolicyClient): Ditto.
44560 (WKBundlePageSetUIClient): Ditto.
44561 (WKBundlePageSetFullScreenClient): Ditto.
44563 2011-06-30 Darin Adler <darin@apple.com>
44565 Reviewed by Anders Carlsson.
44567 [WebKit2] Consider scale factor when allocating backing store
44568 https://bugs.webkit.org/show_bug.cgi?id=63766
44570 This is the first step in considering scale factor. It considers
44571 scale factor for the primary backing store, not graphics layers,
44574 * Platform/cg/CGUtilities.cpp:
44575 (WebKit::paintImage): Added a scale factor argument.
44576 (WebKit::paintBitmapContext): Pass 1 for scale factor.
44577 * Platform/cg/CGUtilities.h: Updated for above.
44579 * Shared/ShareableBitmap.h: Added an overload of paint that can handle
44582 * Shared/UpdateInfo.cpp:
44583 (WebKit::UpdateInfo::encode): Encode scale factor.
44584 (WebKit::UpdateInfo::decode): Decode scale factor.
44585 * Shared/UpdateInfo.h: Added scale factor.
44587 * Shared/cg/ShareableBitmapCG.cpp:
44588 (WebKit::ShareableBitmap::paint): Added the overload that can handle
44591 * UIProcess/BackingStore.cpp:
44592 (WebKit::BackingStore::create): Take a scale factor.
44593 (WebKit::BackingStore::BackingStore): Store the scale factor.
44594 (WebKit::BackingStore::incorporateUpdate): Consider the scale factor
44595 when asserting the size is correct.
44597 * UIProcess/BackingStore.h: Add a scale factor.
44599 * UIProcess/DrawingAreaProxyImpl.cpp:
44600 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the
44601 scale factor too when deciding whether to reuse a backing store.
44602 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale
44603 factor when creating a backing store.
44605 * UIProcess/mac/BackingStoreMac.mm:
44606 (WebKit::BackingStore::incorporateUpdate): Take the scale factor into
44607 account when painting.
44609 * WebProcess/WebPage/DrawingAreaImpl.cpp:
44610 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the
44611 scale factor into the UpdateInfo.
44612 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto.
44613 (WebKit::DrawingAreaImpl::display): Take the scale factor into account
44614 when allocating the bitmap and creating a graphics context for it.
44616 2011-06-30 Mark Rowe <mrowe@apple.com>
44618 Fix the Windows build.
44620 * UIProcess/API/C/win/WKTextChecker.h:
44621 * UIProcess/API/C/win/WKView.h:
44622 * UIProcess/win/WebTextCheckerClient.h:
44623 * UIProcess/win/WebUndoClient.h:
44625 2011-06-30 Mark Rowe <mrowe@apple.com>
44627 Reviewed by Anders Carlsson.
44629 Teach APIClient to correctly handle multiple versions of a client interface.
44631 If a client struct is not the current version then we can't copy it via assignment
44632 since that will read past the end of the smaller, older struct. To deal with this
44633 APIClient needs to be aware of the sizes of the older client version structs so that
44634 it can copy only the appropriate amount of the struct.
44636 * Shared/APIClient.h:
44637 (WebKit::APIClient::initialize): Assign through to our client if the new in client is the
44638 latest version. If an older client version was passed then we zero out our client and memcpy
44639 the appropriate number of bytes in to it. This ensures that any new members in the client
44640 are initialized to 0.
44641 * Shared/APIClientTraits.cpp:
44642 * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated.
44643 * WebKit2.xcodeproj/project.pbxproj:
44644 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating
44645 which components belong to which versions.
44647 2011-06-30 Mark Rowe <mrowe@apple.com>
44649 Reviewed by Anders Carlsson.
44651 Make the APIClient template aware of the latest client interface version number.
44653 This will be used in an upcoming patch.
44655 * Shared/APIClient.h:
44656 * UIProcess/WebContextInjectedBundleClient.h:
44657 * UIProcess/WebCookieManagerProxyClient.h:
44658 * UIProcess/WebDatabaseManagerProxyClient.h:
44659 * UIProcess/WebDownloadClient.h:
44660 * UIProcess/WebFindClient.h:
44661 * UIProcess/WebFormClient.h:
44662 * UIProcess/WebGeolocationProvider.h:
44663 * UIProcess/WebHistoryClient.h:
44664 * UIProcess/WebIconDatabaseClient.h:
44665 * UIProcess/WebLoaderClient.h:
44666 * UIProcess/WebPageContextMenuClient.h:
44667 * UIProcess/WebPolicyClient.h:
44668 * UIProcess/WebResourceLoadClient.h:
44669 * UIProcess/WebUIClient.h:
44670 * WebProcess/InjectedBundle/InjectedBundleClient.h:
44671 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
44672 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
44673 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
44674 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
44675 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
44676 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
44677 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
44678 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
44680 2011-06-30 Mark Rowe <mrowe@apple.com>
44682 Reviewed by Anders Carlsson.
44684 WebKit2 client interfaces should have constant declaring latest version.
44686 * UIProcess/API/C/WKContext.h:
44687 * UIProcess/API/C/WKCookieManager.h:
44688 * UIProcess/API/C/WKDatabaseManager.h:
44689 * UIProcess/API/C/WKGeolocationManager.h:
44690 * UIProcess/API/C/WKIconDatabase.h:
44691 * UIProcess/API/C/WKPage.h:
44692 * WebProcess/InjectedBundle/API/c/WKBundle.h:
44693 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
44694 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
44696 2011-06-30 Anders Carlsson <andersca@apple.com>
44700 * UIProcess/win/WebPopupMenuProxyWin.h:
44701 (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea):
44703 2011-06-30 Martin Robinson <mrobinson@igalia.com>
44705 Reviewed by Anders Carlsson.
44707 [GTK] Crash observed with nspluginwrapper and flash
44708 https://bugs.webkit.org/show_bug.cgi?id=62249
44710 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44711 (WebKit::NPN_InvalidateRect): Guard against null instances here.
44713 2011-06-30 Mark Rowe <mrowe@apple.com>
44715 Reviewed by Anders Carlsson.
44717 Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions.
44719 They're needed for ABI compatibility.
44721 * Shared/API/c/WKSecurityOrigin.cpp:
44722 (WKSecurityOriginGetHost):
44723 (WKSecurityOriginGetProtocol):
44725 2011-06-29 Darin Adler <darin@apple.com>
44727 Reviewed by Dan Bernstein.
44729 [Mac] Use system cursors instead of custom bitmaps where possible
44730 https://bugs.webkit.org/show_bug.cgi?id=63679
44732 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
44733 (InitWebCoreSystemInterface): Added WKCursor.
44735 2011-06-29 Darin Adler <darin@apple.com>
44737 Reviewed by Anders Carlsson.
44739 [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
44740 https://bugs.webkit.org/show_bug.cgi?id=63483
44742 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44743 (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating
44744 a frame. Also added a check that was in the WebKit1 code, but not here. Strangely,
44745 the comment from the second check was still here, but not the code.
44747 2011-06-28 Chang Shu <cshu@webkit.org>
44749 Reviewed by Andreas Kling.
44751 [Qt][WK2] Random crashes in fast/frames/ tests
44752 https://bugs.webkit.org/show_bug.cgi?id=63459
44754 Investigation on the crashes has revealed that sometimes, a frame could
44755 have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process.
44756 The root cause lies in the fact that the order of the two contiguous asynchronous
44757 messages may not be respected on the receiving side. And it is Qt's implementation,
44758 which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces
44759 the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards.
44761 * Platform/qt/WorkQueueQt.cpp:
44762 (WorkQueue::scheduleWork):
44764 2011-06-28 Balazs Kelemen <kbalazs@webkit.org>
44766 Reviewed by Kenneth Rohde Christiansen.
44768 [X11][WK2] X error with plugin tests
44769 https://bugs.webkit.org/show_bug.cgi?id=63520
44771 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44772 Never create a pixmap with (0,0) dimensions.
44773 (WebKit::NetscapePlugin::platformGeometryDidChange):
44774 (WebKit::NetscapePlugin::platformPaint):
44776 2011-06-28 Balazs Kelemen <kbalazs@webkit.org>
44778 Reviewed by Kenneth Rohde Christiansen.
44780 [X11][WK2] plugins/plugin-javascript-access fails
44781 https://bugs.webkit.org/show_bug.cgi?id=63464
44783 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
44784 (WebKit::NetscapePluginModule::getPluginInfo):
44785 Determine the name of the plugin.
44787 2011-06-27 Yuta Kitamura <yutak@chromium.org>
44789 Reviewed by Alexey Proskuryakov.
44791 [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences
44792 https://bugs.webkit.org/show_bug.cgi?id=63447
44794 Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol)
44795 switchable from WebPage and WebPreferences.
44797 * Shared/WebPreferencesStore.h:
44798 * UIProcess/API/C/WKPreferences.cpp:
44799 (WKPreferencesSetHixie76WebSocketProtocolEnabled):
44800 (WKPreferencesGetHixie76WebSocketProtocolEnabled):
44801 * UIProcess/API/C/WKPreferencesPrivate.h:
44802 * WebProcess/WebPage/WebPage.cpp:
44803 (WebKit::WebPage::updatePreferences):
44805 2011-06-27 Jeff Miller <jeffm@apple.com>
44807 Reviewed by Oliver Hunt.
44809 Web process always pauses on launch
44810 https://bugs.webkit.org/show_bug.cgi?id=63487
44812 In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on
44813 launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the
44814 web process to pause if the shift and alt keys were not held down.
44816 * WebProcess/WebKitMain.cpp:
44817 (pauseProcessIfNeeded): Add some parentheses.
44819 2011-06-27 Huang Dongsung <luxtella@company100.net>
44821 Reviewed by Kenneth Rohde Christiansen.
44823 TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
44825 https://bugs.webkit.org/show_bug.cgi?id=62422
44827 REGRESSION(r77286): Remove bottomRight().
44828 REGRESSION(r77312): Change the logic to get the bottom right point.
44829 REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
44830 REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
44831 REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
44833 If the viewport width equals the contents width, especially in the mobile
44834 device, TiledBackingStore endlessly creates and deletes the rightmost
44835 column and bottom row of tiles.
44836 In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
44837 deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
44839 Modified TiledDrawingAreaProxy also.
44841 * UIProcess/TiledDrawingAreaProxy.cpp:
44842 (WebKit::innerBottomRight):
44843 (WebKit::TiledDrawingAreaProxy::invalidate):
44844 (WebKit::TiledDrawingAreaProxy::paint):
44845 (WebKit::TiledDrawingAreaProxy::createTiles):
44847 2011-06-26 Mark Rowe <mrowe@apple.com>
44849 Reviewed by Dan Bernstein.
44851 Use a separate file name for Lion's WebKitSystemInterface.
44853 * Configurations/DebugRelease.xcconfig:
44855 2011-06-26 Mark Rowe <mrowe@apple.com>
44857 Rubber-stamped by Maciej Stachowiak.
44859 <rdar://problem/9679221&9679235> Work around an issue with sandbox.h.
44861 * WebProcess/mac/WebProcessMac.mm:
44863 2011-06-26 Anders Carlsson <andersca@apple.com>
44865 Reviewed by Dan Bernstein.
44867 Don't use a Mutex for protecting access to the connection queue clients
44868 https://bugs.webkit.org/show_bug.cgi?id=63403
44870 Make sure to only access the queue client vector from the connection work queue.
44871 This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly.
44873 * Platform/CoreIPC/Connection.cpp:
44874 (CoreIPC::Connection::addQueueClient):
44875 (CoreIPC::Connection::removeQueueClient):
44876 (CoreIPC::Connection::addQueueClientOnWorkQueue):
44877 (CoreIPC::Connection::removeQueueClientOnWorkQueue):
44878 (CoreIPC::Connection::processIncomingMessage):
44879 * Platform/CoreIPC/Connection.h:
44881 2011-06-25 Brent Fulgham <bfulgham@webkit.org>
44883 Unreviewed build correction after r89426.
44885 * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type
44886 as struct (in keeping with other declarations).
44887 * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to
44890 2011-06-25 Brent Fulgham <bfulgham@webkit.org>
44892 Unreviewed build correction after r89503.
44893 See http://trac.webkit.org/changeset/89503. The modifications
44894 to the WebKit2.def need to be mirrored in WebKit2CFLite.def.
44896 * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded.
44898 2011-06-24 Brent Fulgham <bfulgham@webkit.org>
44900 Unreviewed build correction after r89426.
44901 See http://trac.webkit.org/changeset/89426. The new WebKit2
44902 header file (WKImageCairo.h) is needed.
44904 * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h
44905 header file to the WebKit2 API directory after building.
44907 2011-06-24 Anders Carlsson <andersca@apple.com>
44909 Reviewed by John Sullivan.
44911 Drag-and-drop tab in same window makes web process falsely report unresponsiveness
44912 https://bugs.webkit.org/show_bug.cgi?id=63369
44913 <rdar://problem/9673120>
44915 If the view becomes invisible, stop the responsiveness timer, because we might not get any
44916 messages that will cause it to stop (such as painting notifications since we don't paint
44917 when we're not visible).
44919 * UIProcess/WebPageProxy.cpp:
44920 (WebKit::WebPageProxy::viewStateDidChange):
44922 2011-06-24 Anders Carlsson <andersca@apple.com>
44924 Reviewed by Kevin Decker.
44926 Not possible for plug-ins to override the internal PDF viewer
44927 https://bugs.webkit.org/show_bug.cgi?id=63356
44928 <rdar://problem/9673382>
44930 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44931 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
44932 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
44933 Pass the entire resource response to shouldUseCustomRepresentationForResponse.
44935 * WebProcess/WebProcess.cpp:
44936 (WebKit::canPluginHandleResponse):
44937 Ask for the plug-in path for a plug-in that can handle the given resource response.
44938 If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in
44939 that can handle it.
44941 (WebKit::WebProcess::shouldUseCustomRepresentationForResponse):
44942 If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's
44943 a plug-in that can handle the given response. If that is the case, it should have precedence over
44944 the custom representation.
44946 * WebProcess/WebProcess.h:
44947 Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse.
44949 2011-06-24 Adam Roben <aroben@apple.com>
44951 Mac build fix after r89685
44953 * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only.
44955 2011-06-24 Adam Roben <aroben@apple.com>
44957 Make the web process pause dialog look better on Vista/7 and robust against executable
44960 Fixes <http://webkit.org/b/63335> Web process pause dialog looks bad on Vista/7
44962 Reviewed by Brian Weinstein.
44964 * WebProcess/WebKitMain.cpp:
44965 (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now
44966 fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string
44967 we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on
44968 Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is
44969 different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when
44970 referring to the process; that is different from before but seems fine.
44971 (WebKitMain): Call the new function.
44973 2011-06-24 Dominic Cooney <dominicc@chromium.org>
44975 Reviewed by Dimitri Glazkov.
44977 Convert shadow DOM-related tests to use window.internals
44978 https://bugs.webkit.org/show_bug.cgi?id=61671
44980 Remove shadow DOM-related methods from WebKit2 API. These are not
44983 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
44984 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
44985 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
44986 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
44987 * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport.
44988 * win/WebKit2CFLite.def: Same for Cairo.
44990 2011-06-24 Carlos Garcia Campos <cgarcia@igalia.com>
44992 Reviewed by Martin Robinson.
44994 [X11] Do not call NPP_SetWindow with a null window handle on destroy
44995 https://bugs.webkit.org/show_bug.cgi?id=62981
44997 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44998 (WebKit::NetscapePlugin::destroy):
45000 2011-06-23 Jamie Cooley <james.cooley@nokia.com>
45002 Reviewed by Andreas Kling.
45004 [Qt][WK2] Qt port needs load-from-history implementation
45005 https://bugs.webkit.org/show_bug.cgi?id=57784
45007 Created "random access" BackForwardHistory public API method,
45008 QWKHistory::goToItemAt(int)
45010 * UIProcess/API/qt/qwkhistory.cpp:
45011 (QWKHistoryItem::QWKHistoryItem::itemRef):
45012 Added access method to fetch WKBackForwardListRef
45014 (QWKHistoryPrivate::QWKHistoryPrivate):
45015 (QWKHistoryPrivate::createHistory):
45016 Updated createHistory method and QWKHistoryPrivate constructor to take a pointer
45017 to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the
45018 new API can ask the page to load a HistoryItem.
45020 (QWKHistory::goToItemAt):
45021 New Public API. Like QWKHistory::itemAt, callee gives an integer.
45022 <0 means jump back to that item, 0 means the current item, >0 means jump forwards.
45023 If an out-of-range index is given, the function silently fails.
45024 This will invoke WKPageGoToBackForwardListItem.
45026 * UIProcess/API/qt/qwkhistory.h:
45027 * UIProcess/API/qt/qwkhistory_p.h:
45028 * UIProcess/API/qt/qwkpage.cpp:
45029 (QWKPagePrivate::QWKPagePrivate):
45030 Update instantiation of QWKHistory to include QWKPage.
45032 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp:
45033 (tst_QWKHistory::historyForwardBackTest_data):
45034 (tst_QWKHistory::historyForwardBackTest):
45035 Add test content for the new API
45037 2011-06-23 Yael Aharon <yael.aharon@nokia.com>
45039 Reviewed by Andreas Kling.
45041 [Qt] [WK2] Add drag and drop support
45042 https://bugs.webkit.org/show_bug.cgi?id=62838
45044 Added missing pieces to add support for DnD in QtWebKit.
45046 * Shared/qt/ArgumentCodersQt.cpp: Added.
45047 (CoreIPC::::encode):
45048 (CoreIPC::::decode):
45049 * Shared/qt/ArgumentCodersQt.h: Added.
45050 Encode DragData so that we can transfer the QMimeData between the
45051 WebProcess and the UI Process.
45052 I encode the DragData and not QMimeData directly because we don't
45053 have an associated QMimeData for each message.
45055 * UIProcess/API/qt/qgraphicswkview.cpp:
45056 (QGraphicsWKView::init):
45057 (QGraphicsWKView::dragEnterEvent):
45058 (QGraphicsWKView::dragLeaveEvent):
45059 (QGraphicsWKView::dragMoveEvent):
45060 (QGraphicsWKView::dropEvent):
45061 * UIProcess/API/qt/qgraphicswkview.h:
45062 * UIProcess/API/qt/qwkpage.cpp:
45063 (dropActionToDragOperation):
45064 (dragOperationToDropAction):
45065 (dragOperationToDropActions):
45066 (QWKPagePrivate::dragEnterEvent):
45067 (QWKPagePrivate::dragLeaveEvent):
45068 (QWKPagePrivate::dragMoveEvent):
45069 (QWKPagePrivate::dropEvent):
45070 (QWKPagePrivate::startDrag):
45072 Send drag-and-drop related events to WebKit.
45074 * UIProcess/API/qt/qwkpage_p.h:
45075 * UIProcess/PageClient.h:
45076 * UIProcess/WebPageProxy.cpp:
45077 (WebKit::WebPageProxy::performDragControllerAction):
45078 (WebKit::WebPageProxy::startDrag):
45079 * UIProcess/WebPageProxy.h:
45081 Start the HTML5 drag operation from the UI process, because QDrag
45082 needs a handle to the QWidget under the mouse.
45084 * UIProcess/WebPageProxy.messages.in:
45086 Add message type that takes DragData as a parameter.
45089 * WebProcess/WebCoreSupport/WebDragClient.cpp:
45090 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added.
45091 (WebKit::convertImageToBitmap):
45092 (WebKit::WebDragClient::startDrag):
45094 Send a message to the UI process to start the HTML5 drag operation.
45096 * WebProcess/WebPage/WebPage.cpp:
45097 (WebKit::WebPage::performDragControllerAction):
45098 * WebProcess/WebPage/WebPage.h:
45099 * WebProcess/WebPage/WebPage.messages.in:
45101 Add message type that takes DragData as a parameter.
45103 2011-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
45105 Reviewed by Martin Robinson.
45107 [UNIX] Fix compile warnings in NetscapePluginX11.cpp
45108 https://bugs.webkit.org/show_bug.cgi?id=63249
45110 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45111 (WebKit::setXButtonEventFields):
45112 (WebKit::NetscapePlugin::platformHandleMouseEvent):
45114 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
45116 Reviewed by Martin Robinson.
45118 [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo()
45119 https://bugs.webkit.org/show_bug.cgi?id=63150
45121 Since the method is static, we are using
45122 NetscapePluginModule::getOrCreate() to get the module. If it's
45123 created, the load counter is 0, so that when module is deleted,
45124 shutdown() hasn't been called and the destructor crashes in the
45125 assert that checks the module has been removed from the
45126 initialized module list. We should increment the load counter, and
45127 decrement it before getPluginInfo() returns, so that
45128 decrementLoadCount() will call shutdown() if counter is 0 and the
45129 module will be deleted from the list.
45131 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45132 (WebKit::NetscapePluginModule::getPluginInfo):
45134 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
45136 Reviewed by Martin Robinson.
45138 [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs
45139 https://bugs.webkit.org/show_bug.cgi?id=63149
45141 NetscapePlugin::fromNPP() shouldn't be called with a null npp, it
45142 contains an assert that make it crash when building with debug enabled.
45144 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45145 (WebKit::NPN_GetValue):
45147 2011-06-22 Nate Chapin <japhet@chromium.org>
45149 Reviewed by Adam Barth.
45151 Add win symbols for new window.internals functionality.
45152 https://bugs.webkit.org/show_bug.cgi?id=62066
45156 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
45158 Reviewed by Andreas Kling.
45160 [Qt][WK2] Set up plugin tests
45161 https://bugs.webkit.org/show_bug.cgi?id=63066
45163 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45164 (WebKit::WebFrameLoaderClient::createPlugin):
45165 Force windowless mode for the test plugin because we
45166 don't support windowed plugins yet.
45168 2011-06-22 Geoffrey Garen <ggaren@apple.com>
45170 Reviewed by Oliver Hunt.
45172 Removed unnecessary #include <stdio.h>.
45174 * PluginProcess/mac/PluginProcessMainMac.mm:
45175 * Shared/WebMemorySampler.cpp:
45176 * UIProcess/WebFrameProxy.cpp:
45177 * UIProcess/WebProcessProxy.cpp:
45178 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
45179 * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it
45182 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
45184 Unreviewed build fix after r89461.
45186 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45187 (WebKit::NetscapePlugin::platformSetFocus):
45188 Forgot to name the parameter, fix it.
45190 2011-06-22 Balazs Kelemen <kbalazs@webkit.org>
45192 Reviewed by Darin Adler.
45194 [X11][WK2] Implement NetscapePlugin::platformSetFocus
45195 https://bugs.webkit.org/show_bug.cgi?id=63154
45197 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45198 (WebKit::NetscapePlugin::platformSetFocus):
45199 Implement focus setting based on the WebKit1 path.
45201 2011-06-22 Eunmi Lee <eunmi15.lee@samsung.com>
45203 Reviewed by Martin Robinson.
45205 Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
45206 https://bugs.webkit.org/show_bug.cgi?id=62848
45208 Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and
45209 gtk/BackingStoreGtk.cpp.
45211 * UIProcess/BackingStore.h:
45212 * UIProcess/gtk/BackingStoreGtk.cpp:
45213 (WebKit::BackingStore::incorporateUpdate):
45215 2011-06-22 Adam Roben <aroben@apple.com>
45217 Don't use an alpha channel when drawing the web page on Windows
45219 We never use the alpha channel in the end anyway (because we never render into a layered
45220 window, which is the only kind of window that supports alpha). And using an alpha channel is
45221 tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
45224 Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
45225 form controls looks really awful on Windows XP
45227 Reviewed by Anders Carlsson.
45229 * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
45230 (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
45231 to the GraphicsContext constructor.
45233 2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
45235 Reviewed by Martin Robinson.
45237 [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination()
45238 https://bugs.webkit.org/show_bug.cgi?id=61627
45240 Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the
45241 GTK port, when the process finishes the connection is closed and
45242 the other process is already notified. We still need to monitor
45243 the child process so that it doesn't become a zombie when it dntabi
45245 * Platform/CoreIPC/Connection.h:
45246 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
45247 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
45248 (WebKit::childFinishedFunction):
45249 (WebKit::ProcessLauncher::launchProcess):
45250 * UIProcess/WebProcessProxy.cpp:
45251 (WebKit::WebProcessProxy::didFinishLaunching):
45253 2011-06-20 Dimitri Glazkov <dglazkov@chromium.org>
45255 Reviewed by Kent Tamura.
45257 FileChooser should be only created when we need to choose files.
45258 https://bugs.webkit.org/show_bug.cgi?id=63039
45260 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45261 (WebKit::WebChromeClient::runOpenPanel): Changed to use settings.
45263 2011-06-22 Martin Robinson <mrobinson@igalia.com>
45265 Reviewed by Adam Roben.
45267 [GTK] Implement pixel dump support for WebKitTestRunner
45268 https://bugs.webkit.org/show_bug.cgi?id=58242
45270 * GNUmakefile.am: Added new Cairo specific image handling files to the build.
45271 * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45272 (WKImageCreateCairoSurface): Added
45273 (WKImageCreateFromCairoSurface): Added
45274 * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45276 2011-06-21 MORITA Hajime <morrita@google.com>
45278 Unreviewed, rolling out r89401 and r89403.
45279 http://trac.webkit.org/changeset/89401
45280 http://trac.webkit.org/changeset/89403
45281 https://bugs.webkit.org/show_bug.cgi?id=62970
45283 Breaks mac build and mistakenly enables the spellcheck API
45285 * Configurations/FeatureDefines.xcconfig:
45287 2011-06-20 MORITA Hajime <morrita@google.com>
45289 Reviewed by Kent Tamura.
45291 Spellcheck API should be build-able.
45292 https://bugs.webkit.org/show_bug.cgi?id=62970
45294 No new tests, changing only build related files
45296 * Configurations/FeatureDefines.xcconfig:
45298 2011-06-21 Jer Noble <jer.noble@apple.com>
45300 Reviewed by Simon Fraser.
45302 REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com)
45303 https://bugs.webkit.org/show_bug.cgi?id=63098
45304 <rdar://problem/9645393>
45306 Force a repaint after completing entering full-screen mode only after the notification
45307 is sent for the QTMovie to tear down its layer. Then, the QTMovie will build up its
45308 layer again during the repaint.
45310 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
45311 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
45313 2011-06-21 Yael Aharon <yael.aharon@nokia.com>
45315 Reviewed by Kenneth Rohde Christiansen.
45317 [Qt] Add an internal API for accessing the QGraphicsView.
45318 https://bugs.webkit.org/show_bug.cgi?id=63095
45320 * UIProcess/API/qt/qwkpage.cpp:
45321 (QWKPagePrivate::ownerWidget):
45322 * UIProcess/API/qt/qwkpage_p.h:
45324 2011-06-21 Lukasz Slachciak <l.slachciak@samsung.com>
45326 Reviewed by Sam Weinig.
45328 [GTK] [WK2] WebKit2 build break fixes.
45329 https://bugs.webkit.org/show_bug.cgi?id=62950
45331 When building WebKit2 for GTK there are few build breaks connected with missing include files.
45333 * Platform/unix/SharedMemoryUnix.cpp:
45334 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45335 * UIProcess/API/gtk/PageClientImpl.cpp:
45337 2011-06-20 Martin Robinson <mrobinson@igalia.com>
45339 Reviewed by Eric Seidel.
45341 [GTK] [WebKit2] Disable GDK double buffering
45342 https://bugs.webkit.org/show_bug.cgi?id=62770
45344 Explicitly disable GDK double-buffering when instantiating
45345 a WebKit2 view widget. This prevents one extra pixmap copy.
45347 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45348 (webkit_web_view_base_init):
45350 2011-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
45352 Reviewed by Martin Robinson.
45354 [UNIX] Don't use WebCore::PluginPackage to get plugin information
45355 https://bugs.webkit.org/show_bug.cgi?id=62899
45357 The problem is that both PluginPackage in WebCore and
45358 NetscapePluginModule in webkit2 install their own netscape browser
45359 functions and that can cause conflicts in some situations.
45361 * Shared/Plugins/Netscape/NetscapePluginModule.h: Add helper
45362 function to set plugin mime type descriptions.
45363 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45364 (WebKit::NetscapePluginModule::setMIMEDescription): Helper
45365 function to set plugin mime type descriptions.
45366 (WebKit::NetscapePluginModule::getPluginInfo): Use
45367 NetscapePluginModule instead of PluginPackage.
45368 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Remove unneeded
45370 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45371 (WebKit::NPN_GetValue): Do not try to get the XDisplay if the
45372 plugin doesn't have a view. It fixes a crash with flash plugin and
45375 2011-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
45377 Reviewed by Xan Lopez.
45379 [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
45380 https://bugs.webkit.org/show_bug.cgi?id=60539
45382 * GNUmakefile.am: Link to libWebCoreGtk.la too.
45384 2011-06-19 MORITA Hajime <morrita@google.com>
45386 Unreviewed wincairo build fix.
45388 * win/WebKit2CFLite.def:
45390 2011-06-19 MORITA Hajime <morrita@google.com>
45392 Reviewed by Dimitri Glazkov.
45394 The internals object should have createShadowContentElement()
45395 https://bugs.webkit.org/show_bug.cgi?id=62432
45397 * win/WebKit2.def: Added some more symbols necessary for
45398 window.internals to function to the global symbol list.
45400 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org>
45402 Reviewed by Darin Adler.
45404 Separate concerns of loading file icons and choosing files.
45405 https://bugs.webkit.org/show_bug.cgi?id=62931
45407 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45408 (WebKit::WebChromeClient::loadIconForFiles): Renamed.
45409 * WebProcess/WebCoreSupport/WebChromeClient.h:
45411 2011-06-18 Eunmi Lee <eunmi15.lee@samsung.com>
45413 Reviewed by Sam Weinig.
45415 [EFL][WK2] add WebKit2 EFL port's NativeWebMouseEvent, NativeWebWheelEvent and NativeWebKeyboardEvent
45416 https://bugs.webkit.org/show_bug.cgi?id=61993
45418 Add native mouse and keyboard event classes to convert EFL's events to NativeWebEvent.
45420 * Shared/NativeWebKeyboardEvent.h:
45421 (WebKit::NativeWebKeyboardEvent::nativeEvent):
45422 * Shared/NativeWebMouseEvent.h:
45423 (WebKit::NativeWebMouseEvent::nativeEvent):
45424 * Shared/NativeWebWheelEvent.h:
45425 (WebKit::NativeWebWheelEvent::nativeEvent):
45426 * Shared/efl/NativeWebKeyboardEventEfl.cpp: Added.
45427 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
45428 * Shared/efl/NativeWebMouseEventEfl.cpp: Added.
45429 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
45430 * Shared/efl/NativeWebWheelEventEfl.cpp: Added.
45431 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
45432 * Shared/efl/WebEventFactory.cpp: Added.
45433 (WebKit::modifiersForEvent):
45434 (WebKit::buttonForEvent):
45435 (WebKit::clickCountForEvent):
45436 (WebKit::WebEventFactory::createWebMouseEvent):
45437 (WebKit::WebEventFactory::createWebWheelEvent):
45438 (WebKit::WebEventFactory::createWebKeyboardEvent):
45439 * Shared/efl/WebEventFactory.h: Added.
45441 2011-06-18 Eunmi Lee <eunmi15.lee@samsung.com>
45443 Reviewed by Sam Weinig.
45445 [EFL][WK2] Add missing functions of EFL port's PageClientImpl
45446 https://bugs.webkit.org/show_bug.cgi?id=62711
45448 Three functions are added in the PageClient.h, so add them to the EFL's PageClientImpl.
45450 * UIProcess/API/efl/PageClientImpl.cpp:
45451 (WebKit::PageClientImpl::screenToWindow):
45452 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
45453 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
45454 * UIProcess/API/efl/PageClientImpl.h:
45456 2011-06-17 Brent Fulgham <bfulgham@webkit.org>
45458 [WinCairo] Unreviewed build fix after r89060 and r89161.
45460 * Shared/win/WebCoreArgumentCodersWin.cpp: WinCairo build fixes
45461 (1) Include proper header files for WinCairo build
45462 (2) Exclude unused namespace declaration
45464 2011-06-17 Anders Carlsson <andersca@apple.com>
45466 Reviewed by Sam Weinig.
45468 Remove unused ArgumentEncoder and ArgumentDecoder functions
45469 https://bugs.webkit.org/show_bug.cgi?id=62909
45471 * Platform/CoreIPC/ArgumentDecoder.cpp:
45472 * Platform/CoreIPC/ArgumentDecoder.h:
45473 * Platform/CoreIPC/ArgumentEncoder.cpp:
45474 * Platform/CoreIPC/ArgumentEncoder.h:
45476 * Shared/win/PlatformCertificateInfo.cpp:
45477 (WebKit::PlatformCertificateInfo::encode):
45478 (WebKit::PlatformCertificateInfo::decode):
45479 Replace calls to encodeBytes/decodeBytes with
45480 encodeVariableLengthByteArray/decodeVariableLengthByteArray.
45482 2011-06-17 Anders Carlsson <andersca@apple.com>
45484 Yet another Qt build fix attempt.
45486 * UIProcess/API/qt/ClientImpl.cpp:
45487 * UIProcess/API/qt/qgraphicswkview.cpp:
45488 * UIProcess/API/qt/qwkpage.cpp:
45489 * UIProcess/API/qt/qwkpage_p.h:
45491 2011-06-17 Anders Carlsson <andersca@apple.com>
45493 Another attempt at fixing the Qt build.
45495 * UIProcess/API/qt/ClientImpl.cpp:
45496 * UIProcess/API/qt/qgraphicswkview.cpp:
45497 * UIProcess/API/qt/qwkcontext.cpp:
45499 2011-06-17 Anders Carlsson <andersca@apple.com>
45503 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
45505 2011-06-17 Anders Carlsson <andersca@apple.com>
45509 * UIProcess/win/WebView.cpp:
45511 2011-06-17 Anders Carlsson <andersca@apple.com>
45513 Reviewed by Sam Weinig.
45515 Move the remaining WebCore argument coders to the .cpp file
45516 https://bugs.webkit.org/show_bug.cgi?id=62874
45518 Also add includes that other files need that used to be provided by WebCoreArgumentCoders.h,
45519 and get rid of the LAZY_NATIVE_CURSOR #if check because all WebKit2 platforms now support it.
45521 * Shared/ContextMenuState.h:
45522 * Shared/WebCoreArgumentCoders.cpp:
45523 (CoreIPC::::encode):
45524 (CoreIPC::::decode):
45525 * Shared/WebCoreArgumentCoders.h:
45526 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45527 * Shared/mac/WebCoreArgumentCodersMac.mm:
45528 * Shared/qt/WebCoreArgumentCodersQt.cpp:
45529 * UIProcess/API/mac/PDFViewController.mm:
45530 * UIProcess/PageClient.h:
45531 * UIProcess/WebIconDatabase.cpp:
45532 * UIProcess/WebPageProxy.cpp:
45533 * UIProcess/WebPageProxy.h:
45534 * UIProcess/mac/WKFullScreenWindowController.mm:
45536 2011-06-17 Chang Shu <cshu@webkit.org>
45538 Reviewed by Anders Carlsson.
45540 [Qt] [WK2] Debug info leaks to stdout from plugins in Qt WebKit2 layout tests
45541 https://bugs.webkit.org/show_bug.cgi?id=61940
45543 Tempararily supress stdout during getPluginInfo during which debug info was leaked out.
45545 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45546 (WebKit::StdoutRedirect::StdoutRedirect):
45547 (WebKit::StdoutRedirect::~StdoutRedirect):
45548 (WebKit::NetscapePluginModule::getPluginInfo):
45550 2011-06-17 Anders Carlsson <andersca@apple.com>
45552 Reviewed by Andreas Kling.
45554 Remove WebCore:: qualifier from names in WebPageProxy.
45556 * UIProcess/WebPageProxy.cpp:
45557 (WebKit::WebPageProxy::dragEntered):
45558 (WebKit::WebPageProxy::dragUpdated):
45559 (WebKit::WebPageProxy::dragExited):
45560 (WebKit::WebPageProxy::performDrag):
45561 (WebKit::WebPageProxy::performDragControllerAction):
45562 (WebKit::WebPageProxy::dragEnded):
45563 (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
45564 (WebKit::WebPageProxy::unableToImplementPolicy):
45565 (WebKit::WebPageProxy::didChangeContentsSize):
45566 (WebKit::WebPageProxy::didFindZoomableArea):
45567 (WebKit::WebPageProxy::findZoomableAreaForPoint):
45568 (WebKit::WebPageProxy::setComposition):
45569 (WebKit::WebPageProxy::checkTextOfParagraph):
45570 (WebKit::WebPageProxy::checkGrammarOfString):
45571 (WebKit::WebPageProxy::setCursor):
45572 (WebKit::WebPageProxy::computedPagesCallback):
45573 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
45574 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
45575 (WebKit::WebPageProxy::showCorrectionPanel):
45576 (WebKit::WebPageProxy::dismissCorrectionPanel):
45577 (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
45578 (WebKit::WebPageProxy::recordAutocorrectionResponse):
45580 2011-06-17 Anders Carlsson <andersca@apple.com>
45582 Reviewed by Darin Adler.
45584 Fix message generator to include headers for all types
45585 https://bugs.webkit.org/show_bug.cgi?id=62870
45587 Previously, if we found an argument coder header for a type, we'd assume
45588 that that header includes the necessary headers for the type.
45590 * Scripts/webkit2/messages.py:
45591 * Scripts/webkit2/messages_unittest.py:
45593 2011-06-17 Chang Shu <cshu@webkit.org>
45595 Reviewed by Andreas Kling.
45597 [Qt] [WK2] Support undo/redo in MiniBrowser
45598 https://bugs.webkit.org/show_bug.cgi?id=62809
45600 * UIProcess/API/qt/qwkpage.cpp:
45602 * UIProcess/API/qt/qwkpage.h:
45604 2011-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
45606 Unreviewed. Fix WebKit2 GTK build after r89060.
45608 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45609 (CoreIPC::::encode):
45611 2011-06-16 Anders Carlsson <andersca@apple.com>
45613 Reviewed by Sam Weinig.
45615 Get rid of CoreIPC::In and CoreIPC::Out from some argument coders
45616 https://bugs.webkit.org/show_bug.cgi?id=62832
45618 * Shared/OriginAndDatabases.cpp:
45619 (WebKit::OriginAndDatabases::encode):
45620 (WebKit::OriginAndDatabases::decode):
45621 * Shared/SecurityOriginData.cpp:
45622 (WebKit::SecurityOriginData::encode):
45623 (WebKit::SecurityOriginData::decode):
45624 * Shared/WebKeyboardEvent.cpp:
45625 (WebKit::WebKeyboardEvent::encode):
45626 (WebKit::WebKeyboardEvent::decode):
45627 * Shared/WebOpenPanelParameters.cpp:
45628 (WebKit::WebOpenPanelParameters::Data::encode):
45629 (WebKit::WebOpenPanelParameters::Data::decode):
45630 * Shared/WebPreferencesStore.cpp:
45631 (WebKit::WebPreferencesStore::encode):
45632 (WebKit::WebPreferencesStore::decode):
45634 2011-06-16 Anders Carlsson <andersca@apple.com>
45636 Reviewed by Sam Weinig.
45638 Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders
45639 https://bugs.webkit.org/show_bug.cgi?id=62803
45641 Get rid of the free encode/decode functions and move the template specializations to their
45642 respective implementation files instead.
45644 * Shared/WebCoreArgumentCoders.h:
45645 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45646 (CoreIPC::::encode):
45647 (CoreIPC::::decode):
45648 * Shared/mac/WebCoreArgumentCodersMac.mm:
45649 (CoreIPC::::encode):
45650 (CoreIPC::::decode):
45651 * Shared/qt/WebCoreArgumentCodersQt.cpp:
45652 (CoreIPC::::encode):
45653 (CoreIPC::::decode):
45654 * Shared/win/WebCoreArgumentCodersWin.cpp:
45655 (CoreIPC::::encode):
45656 (CoreIPC::::decode):
45658 2011-06-16 Chang Shu <cshu@webkit.org>
45660 Reviewed by Sam Weinig.
45662 [Qt] [WK2] Qt WebKit2 needs undo/redo support
45663 https://bugs.webkit.org/show_bug.cgi?id=62637
45665 Implement undo/redo support for document.execCommand().
45667 * UIProcess/API/qt/qwkpage.cpp:
45668 (QWKPagePrivate::QWKPagePrivate):
45669 (QWKPagePrivate::~QWKPagePrivate):
45670 (QWKPagePrivate::registerEditCommand):
45671 (QWKPagePrivate::clearAllEditCommands):
45672 (QWKPagePrivate::canUndoRedo):
45673 (QWKPagePrivate::executeUndoRedo):
45674 * UIProcess/API/qt/qwkpage_p.h:
45675 * UIProcess/qt/WebUndoCommandQt.cpp: Added.
45676 (WebUndoCommandQt::WebUndoCommandQt):
45677 (WebUndoCommandQt::~WebUndoCommandQt):
45678 (WebUndoCommandQt::redo):
45679 (WebUndoCommandQt::undo):
45680 * UIProcess/qt/WebUndoCommandQt.h: Added.
45681 (WebUndoCommandQt::inUndoRedo):
45684 2011-06-16 Anders Carlsson <andersca@apple.com>
45688 * Shared/WebCoreArgumentCoders.cpp:
45689 * Shared/WebCoreArgumentCoders.h:
45691 2011-06-15 Anders Carlsson <andersca@apple.com>
45693 Reviewed by Sam Weinig.
45695 Move more argument coders to WebCoreArgumentCoders and clean up the animation coders
45696 https://bugs.webkit.org/show_bug.cgi?id=62760
45698 * Shared/WebCoreArgumentCoders.cpp:
45699 (CoreIPC::::encode):
45700 (CoreIPC::::decode):
45701 (CoreIPC::encodeOperation):
45702 (CoreIPC::decodeOperation):
45703 (CoreIPC::encodeBoolAndValue):
45704 (CoreIPC::encodeBoolAndEnumValue):
45705 (CoreIPC::decodeBoolAndValue):
45706 (CoreIPC::decodeBoolAndEnumValue):
45707 * Shared/WebCoreArgumentCoders.h:
45708 * Shared/mac/ArgumentCodersMac.h:
45709 * Shared/mac/ArgumentCodersMac.mm:
45710 * Shared/mac/WebCoreArgumentCodersMac.mm:
45711 (CoreIPC::::encode):
45712 (CoreIPC::::decode):
45714 2011-06-16 Sangyong Park <sy302.park@gmail.com>
45716 Reviewed by Martin Robinson.
45718 [GTK] Implement ResourceRequest and ResourceResponse encoder/decoder
45719 https://bugs.webkit.org/show_bug.cgi?id=55934
45721 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45722 (CoreIPC::encodeResourceRequest):
45723 (CoreIPC::decodeResourceRequest):
45724 (CoreIPC::encodeResourceResponse):
45725 (CoreIPC::decodeResourceResponse):
45727 2011-06-16 Carlos Garcia Campos <cgarcia@igalia.com>
45729 Reviewed by Xan Lopez.
45731 [GTK] Remove support for GTK+2 in WebKit2
45732 https://bugs.webkit.org/show_bug.cgi?id=62794
45734 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45735 (webkitWebViewBaseRealize):
45736 (webkitWebViewBaseDraw):
45737 (webkitWebViewBaseQueryTooltip):
45738 (webkit_web_view_base_class_init):
45739 (webkitWebViewBaseSetTooltipText):
45740 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
45741 (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
45742 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45743 (WebKit::moduleMixesGtkSymbols):
45745 2011-06-15 Adam Barth <abarth@webkit.org>
45747 Reviewed by Eric Seidel.
45749 Remove ScriptController::setAllowPopupsFromPlugin
45750 https://bugs.webkit.org/show_bug.cgi?id=62706
45752 * WebProcess/Plugins/PluginView.cpp:
45753 (WebKit::PluginView::performJavaScriptURLRequest):
45754 (WebKit::PluginView::evaluate):
45756 2011-06-15 Ryuan Choi <ryuan.choi@samsung.com>
45758 Rubber stamped by Eric Seidel.
45760 [CMAKE][WK2] Add an option to build webkit2.
45761 https://bugs.webkit.org/show_bug.cgi?id=62260
45763 Add script to build WebKit2 using CMake.
45765 * CMakeLists.txt: Added.
45767 2011-06-15 John Sullivan <sullivan@apple.com>
45769 Reviewed by Sam Weinig.
45771 WKSecurityOriginGetProtocol and WKSecurityOriginGetHost are named wrong because they return copied strings
45772 <https://bugs.webkit.org/show_bug.cgi?id=62763>
45773 <rdar://problem/9618071>
45775 * Shared/API/c/WKSecurityOrigin.cpp:
45776 (WKSecurityOriginCopyProtocol):
45777 Renamed to use "Copy" instead of "Get" because it returns a copy.
45778 (WKSecurityOriginCopyHost):
45781 * Shared/API/c/WKSecurityOrigin.h:
45782 Updated declarations.
45784 2011-06-14 Jon Honeycutt <jhoneycutt@apple.com>
45786 REGRESSION(78201): Windowless Flash plug-ins are transparent on some sites
45787 https://bugs.webkit.org/show_bug.cgi?id=62690
45788 <rdar://problem/9512026>
45790 Reviewed by Ada Chan.
45792 The bug arises when mixing CoreGraphics and GDI. When we create a Windows
45793 bitmap for a windowless plug-in to draw into, we first fill it with "clear",
45794 or all 0s. If the plug-in uses GDI to draw, the GDI calls will ignore the
45795 alpha channel, and if we then use CG to blend this bitmap onto the
45796 GraphicsContext for the rest of the page, CG will treat the 0-filled
45797 alpha channel as being transparent.
45799 To fix this, on Windows, use a GDI-backed GraphicsContext to paint the
45800 page in the WebProcess, and use GDI to blit from the UpdateInfo to the
45801 backing store in the UI process.
45803 * Platform/SharedMemory.h:
45804 (WebKit::SharedMemory::handle):
45805 Return the handle for the memory.
45807 * Shared/ShareableBitmap.h:
45808 Declared windowsContext() to return a HDC with the bitmap selected into it.
45809 Added members to store the HDC and the HBITMAP.
45811 * Shared/win/ShareableBitmapWin.cpp: Added.
45812 (WebKit::ShareableBitmap::windowsContext):
45813 Get the screen DC, and create a compatible DC from it. Create a DIB
45814 section backed by the shared memory, select it into the context, and
45817 * UIProcess/win/BackingStoreWin.cpp:
45818 (WebKit::BackingStore::incorporateUpdate):
45819 Use GDI to blit from the update info's bitmap into the backing store bitmap.
45821 * WebProcess/WebPage/DrawingAreaImpl.cpp:
45822 (WebKit::DrawingAreaImpl::createGraphicsContext):
45823 Return a GraphicsContext from the ShareableBitmap.
45824 (WebKit::DrawingAreaImpl::display):
45825 Call createGraphicsContext(), and pass the ShareableBitmap.
45827 * WebProcess/WebPage/DrawingAreaImpl.h:
45828 Declare createGraphicsContext(), which on Windows will create a GDI-backed
45831 * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added.
45832 (WebKit::DrawingAreaImpl::createGraphicsContext):
45833 Get a Windows context for the bitmap, and create and return a new
45834 GraphicsContext using the DC.
45836 * win/WebKit2.vcproj:
45839 2011-06-15 Anders Carlsson <andersca@apple.com>
45841 Reviewed by Sam Weinig.
45843 Move more argument coders to WebCoreArgumentCoders.cpp
45844 https://bugs.webkit.org/show_bug.cgi?id=62755
45846 * Shared/WebCoreArgumentCoders.cpp:
45847 (CoreIPC::::decode):
45848 (CoreIPC::::encode):
45849 (CoreIPC::encodeImage):
45850 (CoreIPC::decodeImage):
45851 * Shared/WebCoreArgumentCoders.h:
45853 2011-06-15 Anders Carlsson <andersca@apple.com>
45855 Reviewed by Darin Adler.
45857 Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp
45858 https://bugs.webkit.org/show_bug.cgi?id=62742
45860 * Shared/ShareableBitmap.h:
45861 Move createImage out of the #if PLATFORM(QT) section.
45863 * Shared/WebCoreArgumentCoders.cpp:
45864 (CoreIPC::decodeImage):
45865 Call ShareableBitmap::createImage.
45867 * Shared/WebCoreArgumentCoders.h:
45868 remove createImage function declaration.
45870 * Shared/cairo/ShareableBitmapCairo.cpp:
45871 (WebKit::ShareableBitmap::createImage):
45872 Add implementation.
45874 * Shared/cg/ShareableBitmapCG.cpp:
45875 (WebKit::ShareableBitmap::createGraphicsContext):
45876 (WebKit::ShareableBitmap::createImage):
45877 Move createImage implementation from WebCoreArgumentCodersCG.cpp here.
45879 * WebKit2.xcodeproj/project.pbxproj:
45880 * win/WebKit2.vcproj:
45883 2011-06-15 Anders Carlsson <andersca@apple.com>
45885 Reviewed by Alexey Proskuryakov.
45887 Move some argument coders to WebCoreArgumentCoders.cpp
45888 https://bugs.webkit.org/show_bug.cgi?id=62739
45891 * Shared/WebCoreArgumentCoders.cpp:
45892 (CoreIPC::::encode):
45893 (CoreIPC::::decode):
45894 * Shared/WebCoreArgumentCoders.h:
45897 2011-06-15 Anders Carlsson <andersca@apple.com>
45899 Reviewed by Sam Weinig.
45901 Fix possible null dereference in webSecKeychainItemCreateFromContentOnMainThread
45902 https://bugs.webkit.org/show_bug.cgi?id=62736
45903 <rdar://problem/9601595>
45905 * WebProcess/mac/KeychainItemShimMethods.mm:
45906 (WebKit::webSecKeychainItemCreateFromContentOnMainThread):
45907 SecKeychainItemCreateFromContent can potentially return a null keychain item, so add a null check before trying to retain it.
45909 2011-06-15 Anders Carlsson <andersca@apple.com>
45911 Reviewed by Dan Bernstein.
45913 Ignore responsiveness timer callbacks on closed pages
45914 https://bugs.webkit.org/show_bug.cgi?id=62735
45915 <rdar://problem/9511295>
45917 * UIProcess/WebPageProxy.cpp:
45918 (WebKit::WebPageProxy::close):
45919 Use nullptr instead of clear.
45921 (WebKit::WebPageProxy::processDidBecomeUnresponsive):
45922 Return early if the page isn't valid.
45924 (WebKit::WebPageProxy::processDidBecomeResponsive):
45927 (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
45928 Assert that the page is valid.
45930 2011-06-15 Sheriff Bot <webkit.review.bot@gmail.com>
45932 Unreviewed, rolling out r88907.
45933 http://trac.webkit.org/changeset/88907
45934 https://bugs.webkit.org/show_bug.cgi?id=62732
45936 See comment #15 by Nikolas Zimmermann on bug 62527 regarding
45937 the deprecation of makeString() (Requested by acidx on
45940 * UIProcess/efl/WebPageProxyEfl.cpp:
45941 (WebKit::WebPageProxy::standardUserAgent):
45943 2011-06-15 Csaba Osztrogonác <ossy@webkit.org>
45945 [Qt][WK2] Unreviewed rolling out r88799, because it made web process crash.
45947 * Scripts/webkit2/messages.py:
45948 * Shared/LayerTreeContext.h:
45949 * Shared/qt/LayerTreeContextQt.cpp:
45950 (WebKit::LayerTreeContext::LayerTreeContext):
45951 (WebKit::LayerTreeContext::~LayerTreeContext):
45952 (WebKit::LayerTreeContext::encode):
45953 (WebKit::LayerTreeContext::decode):
45954 (WebKit::LayerTreeContext::isEmpty):
45955 (WebKit::operator==):
45956 * UIProcess/DrawingAreaProxy.h:
45957 * UIProcess/DrawingAreaProxy.messages.in:
45959 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
45960 (WebCore::collectCompositingInfoForThisLayer):
45961 * WebProcess/WebPage/LayerTreeHost.cpp:
45962 (WebKit::LayerTreeHost::create):
45963 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
45964 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
45966 2011-06-14 Eunmi Lee <eunmi15.lee@samsung.com>
45968 Reviewed by Sam Weinig.
45970 [EFL][WK2] Change string operation to makeString()
45971 https://bugs.webkit.org/show_bug.cgi?id=62527
45973 Use makeString() because it is better than creating individual strings and concatenating them.
45975 * UIProcess/efl/WebPageProxyEfl.cpp:
45976 (WebKit::WebPageProxy::standardUserAgent):
45978 2011-06-14 Sam Weinig <sam@webkit.org>
45980 Reviewed by Simon Fraser.
45982 Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot
45983 https://bugs.webkit.org/show_bug.cgi?id=62666
45985 * Shared/API/c/cg/WKImageCG.cpp:
45986 (WKImageCreateCGImage):
45987 (WKImageCreateFromCGImage):
45988 Don't null check the arguments (as per our API design) or the direct result of WebImage::create.
45990 * Shared/UserMessageCoders.h:
45991 (WebKit::UserMessageEncoder::baseEncode):
45992 Remove redundant check and make not being able to create a handle the same
45993 as not being backed by shareable memory.
45995 2011-06-14 John Sullivan <sullivan@apple.com>
45997 Reviewed by Ada Chan.
45999 <https://bugs.webkit.org/show_bug.cgi?id=62693>
46000 <rdar://problem/9601436>
46001 windowsKeyCodeForKeyEvent should be robust against NSFlagsChanged events
46003 * Shared/mac/WebEventFactory.mm:
46004 (WebKit::windowsKeyCodeForKeyEvent):
46005 Explicitly check for NSFlagsChanged before calling -charactersIgnoringModifiers, since
46006 charactersIgnoringModifiers throws an exception for NSFlagsChanged events.
46008 2011-06-14 Anders Carlsson <andersca@apple.com>
46010 Reviewed by Sam Weinig.
46012 Use new byte array encoding/decoding functions for WTF argument coders
46013 https://bugs.webkit.org/show_bug.cgi?id=62682
46015 * Platform/CoreIPC/ArgumentCoders.cpp:
46016 (CoreIPC::::encode):
46017 (CoreIPC::::decode):
46018 Use the new functions for the string argument coders.
46020 * Platform/CoreIPC/ArgumentCoders.h:
46021 (CoreIPC::SimpleArgumentCoder::encode):
46022 (CoreIPC::SimpleArgumentCoder::decode):
46023 Use the new functions to avoid encoding/decoding the size when it's known at decode time.
46025 * Platform/CoreIPC/ArgumentDecoder.cpp:
46026 (CoreIPC::roundUpToAlignment):
46027 Assert that the alignment is a power of 2.
46029 (CoreIPC::decodeFixedLengthData):
46030 Alignment comes before the size.
46032 * UIProcess/cf/WebBackForwardListCF.cpp:
46033 (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
46034 Add a FIXME about now using the internal CoreIPC encoding format here.
46036 * UIProcess/cf/WebPageProxyCF.cpp:
46037 Bump the current session state data version number.
46039 2011-06-14 No'am Rosenthal <noam.rosenthal@nokia.com>
46041 Reviewed by Kenneth Rohde Christiansen.
46043 [Qt] Implement accelerated compositing on WK2 Qt port
46044 https://bugs.webkit.org/show_bug.cgi?id=56935
46046 Expose viewportVisibleRect(), so that we can detect which parts of a texture actually
46047 need to be uploaded.
46049 Together with Viatcheslav Ostapenko.
46051 * UIProcess/API/qt/qwkpage.cpp:
46052 (QWKPagePrivate::viewportVisibleRect):
46053 * UIProcess/API/qt/qwkpage_p.h:
46054 * UIProcess/PageClient.h:
46055 * UIProcess/WebPageProxy.h:
46056 * UIProcess/qt/WebPageProxyQt.cpp:
46057 (WebKit::WebPageProxy::viewportVisibleRect):
46059 2011-06-14 Anders Carlsson <andersca@apple.com>
46061 Reviewed by Sam Weinig.
46063 Start using the new encode/decode functions
46064 https://bugs.webkit.org/show_bug.cgi?id=62676
46066 * Platform/CoreIPC/DataReference.cpp:
46067 (CoreIPC::DataReference::encode):
46068 Use encodeVariableLengthByteArray.
46070 * Shared/UserMessageCoders.h:
46071 (WebKit::UserMessageEncoder::baseEncode):
46072 Use encodeVariableLengthByteArray and the new dataReference accessors.
46074 (WebKit::UserMessageDecoder::baseDecode):
46075 Use decodeVariableLengthByteArray.
46077 * Shared/WebData.h:
46078 (WebKit::WebData::dataReference):
46079 Return a reference to the data.
46081 * Shared/WebSerializedScriptValue.h:
46082 (WebKit::WebSerializedScriptValue::dataReference):
46085 * Shared/cf/ArgumentCodersCF.cpp:
46087 Use encodeVariableLengthByteArray.
46089 * Shared/mac/SandboxExtensionMac.mm:
46090 (WebKit::SandboxExtension::Handle::encode):
46091 Use encodeVariableLengthByteArray.
46093 * WebProcess/WebPage/DecoderAdapter.cpp:
46094 (WebKit::DecoderAdapter::decodeBytes):
46095 Use decodeVariableLengthByteArray.
46097 * WebProcess/WebPage/EncoderAdapter.cpp:
46098 (WebKit::EncoderAdapter::dataReference):
46099 Rename data() to dataReference() to indicate that it returns a reference to the data.
46101 (WebKit::EncoderAdapter::encodeBytes):
46102 Use encodeVariableLengthByteArray.
46104 2011-06-14 Anders Carlsson <andersca@apple.com>
46106 Reviewed by Sam Weinig.
46108 Add encodeVariableLengthByteArray and decodeVariableLengthByteArray
46109 https://bugs.webkit.org/show_bug.cgi?id=62674
46111 Rename the ArgumentDecoder::decodeBytes overload that takes a DataReference to
46112 decodeVariableLengthByteArray, to match the added encodeVariableLengthByteArray.
46114 * Platform/CoreIPC/ArgumentDecoder.cpp:
46115 (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
46116 * Platform/CoreIPC/ArgumentDecoder.h:
46117 * Platform/CoreIPC/ArgumentEncoder.cpp:
46118 (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46119 (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
46120 * Platform/CoreIPC/ArgumentEncoder.h:
46121 * Platform/CoreIPC/DataReference.cpp:
46122 (CoreIPC::DataReference::decode):
46123 * Shared/mac/SandboxExtensionMac.mm:
46124 (WebKit::SandboxExtension::Handle::decode):
46126 2011-06-14 Anders Carlsson <andersca@apple.com>
46128 Reviewed by Sam Weinig.
46130 Add functions for converting between DataReferences and vectors
46131 https://bugs.webkit.org/show_bug.cgi?id=62671
46133 * Platform/CoreIPC/DataReference.h:
46134 (CoreIPC::DataReference::DataReference):
46135 New implicit constructor that takes a vector.
46137 (CoreIPC::DataReference::vector):
46138 New function that returns a new vector.
46140 * Shared/WebBackForwardListItem.cpp:
46141 (WebKit::WebBackForwardListItem::encode):
46142 Use implicit constructor.
46144 * WebProcess/WebPage/WebPage.cpp:
46145 (WebKit::WebPage::runJavaScriptInMainFrame):
46148 2011-06-14 John Sullivan <sullivan@apple.com>
46150 Reviewed by Dan Bernstein.
46152 <https://bugs.webkit.org/show_bug.cgi?id=62666>
46153 <rdar://problem/9606676>
46154 Callers should be robust against WebImage::create() returning an image with a null snapshot
46156 * Shared/API/c/cg/WKImageCG.cpp:
46157 (WKImageCreateCGImage):
46158 Return 0 if no bitmap was created.
46159 (WKImageCreateFromCGImage):
46162 * Shared/UserMessageCoders.h:
46163 (WebKit::UserMessageEncoder::baseEncode):
46164 Check for null before dereferencing image->bitmap() in two places.
46166 * WebProcess/WebPage/WebPage.cpp:
46167 (WebKit::WebPage::snapshotInViewCoordinates):
46168 Return 0 if no bitmap was created.
46169 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
46171 (WebKit::WebPage::createSnapshotOfVisibleContent):
46172 Bail out if no bitmap was created.
46174 2011-06-14 Anders Carlsson <andersca@apple.com>
46176 Reviewed by Darin Adler.
46178 Add functions for encoding/decoding data with a known size and alignment
46179 https://bugs.webkit.org/show_bug.cgi?id=62663
46181 * Platform/CoreIPC/ArgumentDecoder.cpp:
46182 (CoreIPC::ArgumentDecoder::decodeFixedLengthData):
46183 * Platform/CoreIPC/ArgumentDecoder.h:
46184 * Platform/CoreIPC/ArgumentEncoder.cpp:
46185 (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46186 (CoreIPC::ArgumentEncoder::encodeVariableLengthData):
46187 * Platform/CoreIPC/ArgumentEncoder.h:
46189 2011-06-14 Anders Carlsson <andersca@apple.com>
46191 Reviewed by Sam Weinig.
46193 Move string ArgumentCoder template specializations out into a .cpp file
46194 https://bugs.webkit.org/show_bug.cgi?id=62660
46197 * Platform/CoreIPC/ArgumentCoders.cpp: Added.
46198 (CoreIPC::::encode):
46199 (CoreIPC::::decode):
46200 * Platform/CoreIPC/ArgumentCoders.h:
46202 * WebKit2.xcodeproj/project.pbxproj:
46203 * win/WebKit2.vcproj:
46205 2011-06-14 Anders Carlsson <andersca@apple.com>
46207 Reviewed by Sam Weinig.
46209 Remove PluginInfoStore::Plugin typedef
46210 https://bugs.webkit.org/show_bug.cgi?id=62657
46212 * UIProcess/Plugins/PluginInfoStore.h:
46213 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46214 (WebKit::PluginInfoStore::getPluginInfo):
46215 (WebKit::PluginInfoStore::shouldUsePlugin):
46217 2011-06-14 Anders Carlsson <andersca@apple.com>
46219 Reviewed by Sam Weinig.
46221 Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef
46222 https://bugs.webkit.org/show_bug.cgi?id=62654
46224 * UIProcess/Plugins/PluginInfoStore.cpp:
46225 (WebKit::PluginInfoStore::loadPluginsIfNecessary):
46226 (WebKit::PluginInfoStore::loadPlugin):
46227 (WebKit::PluginInfoStore::findPluginForMIMEType):
46228 (WebKit::PluginInfoStore::findPluginForExtension):
46229 (WebKit::PluginInfoStore::findPlugin):
46230 (WebKit::PluginInfoStore::infoForPluginWithPath):
46231 * UIProcess/Plugins/PluginInfoStore.h:
46232 * UIProcess/Plugins/PluginProcessManager.cpp:
46233 (WebKit::PluginProcessManager::getPluginProcessConnection):
46234 * UIProcess/Plugins/PluginProcessProxy.cpp:
46235 (WebKit::PluginProcessProxy::PluginProcessProxy):
46236 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
46237 (WebKit::WebPluginSiteDataManager::getSitesWithData):
46238 (WebKit::WebPluginSiteDataManager::clearSiteData):
46239 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
46240 (WebKit::PluginInfoStore::getPluginInfo):
46241 (WebKit::PluginInfoStore::shouldUsePlugin):
46242 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
46243 (WebKit::PluginInfoStore::getPluginInfo):
46244 (WebKit::PluginInfoStore::shouldUsePlugin):
46245 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46246 (WebKit::isOldWindowsMediaPlayerPlugin):
46247 (WebKit::isNewWindowsMediaPlayerPlugin):
46248 (WebKit::PluginInfoStore::shouldUsePlugin):
46250 2011-06-14 Stephanie Lewis <slewis@apple.com>
46252 Rubber stamped by Oliver Hunt.
46254 <rdar://problem/9511169>
46255 Update order files.
46257 * mac/WebKit2.order:
46259 2011-06-14 Anders Carlsson <andersca@apple.com>
46261 Reviewed by Dan Bernstein.
46263 Start replacing PluginInfoStore::Plugin with PluginModuleInfo
46264 https://bugs.webkit.org/show_bug.cgi?id=62651
46266 * UIProcess/Plugins/PluginInfoStore.cpp:
46267 (WebKit::PluginInfoStore::plugins):
46268 (WebKit::PluginInfoStore::findPluginForMIMEType):
46269 (WebKit::PluginInfoStore::findPluginForExtension):
46270 (WebKit::PluginInfoStore::infoForPluginWithPath):
46271 * UIProcess/Plugins/PluginInfoStore.h:
46272 * UIProcess/Plugins/PluginProcessManager.cpp:
46273 (WebKit::PluginProcessManager::getPluginProcessConnection):
46274 (WebKit::PluginProcessManager::getSitesWithData):
46275 (WebKit::PluginProcessManager::clearSiteData):
46276 (WebKit::PluginProcessManager::getOrCreatePluginProcess):
46277 * UIProcess/Plugins/PluginProcessManager.h:
46278 * UIProcess/Plugins/PluginProcessProxy.cpp:
46279 (WebKit::PluginProcessProxy::create):
46280 * UIProcess/Plugins/PluginProcessProxy.h:
46281 (WebKit::PluginProcessProxy::pluginInfo):
46282 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
46283 (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
46284 (WebKit::PluginProcessProxy::createPropertyListFile):
46286 2011-06-14 Anders Carlsson <andersca@apple.com>
46288 Reviewed by Darin Adler.
46290 Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo
46291 https://bugs.webkit.org/show_bug.cgi?id=62647
46293 Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class,
46294 and PluginInfoStore::Plugin should go away.
46297 * Shared/Plugins/Netscape/NetscapePluginModule.h:
46298 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46299 (WebKit::getPluginArchitecture):
46300 (WebKit::getMIMETypesFromPluginBundle):
46301 (WebKit::getPluginInfoFromPropertyLists):
46302 (WebKit::getPluginInfoFromCarbonResources):
46303 (WebKit::NetscapePluginModule::getPluginInfo):
46304 (WebKit::NetscapePluginModule::determineQuirks):
46305 * Shared/Plugins/PluginModuleInfo.cpp: Added.
46306 * Shared/Plugins/PluginModuleInfo.h: Added.
46308 * WebKit2.xcodeproj/project.pbxproj:
46309 * win/WebKit2.vcproj:
46311 2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
46313 Reviewed by Martin Robinson.
46315 [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk
46316 https://bugs.webkit.org/show_bug.cgi?id=62627
46318 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46319 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46320 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
46321 (WebKit::WebContextMenuProxyGtk::showContextMenu):
46322 (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46323 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46324 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46325 (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
46326 * UIProcess/gtk/WebContextMenuProxyGtk.h:
46328 2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
46330 Reviewed by Martin Robinson.
46332 [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
46333 https://bugs.webkit.org/show_bug.cgi?id=62626
46335 * UIProcess/API/gtk/PageClientImpl.cpp:
46336 (WebKit::PageClientImpl::screenToWindow): Implement this method
46337 using convertWidgetPointToScreenPoint().
46338 (WebKit::PageClientImpl::windowToScreen): Update to use
46339 convertWidgetPointToScreenPoint().
46340 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
46341 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use
46342 convertWidgetPointToScreenPoint().
46344 2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
46346 Reviewed by Martin Robinson.
46348 [GTK] Support authentication dialogs in WebKit2
46349 https://bugs.webkit.org/show_bug.cgi?id=62366
46351 Add a new soup feature to show an authentication dialog when it
46352 gets a 401 HTTP response.
46354 * GNUmakefile.am: Add new files to compilation.
46355 * WebProcess/gtk/WebAuthDialog.cpp: Added.
46356 (web_auth_dialog_class_init):
46357 (web_auth_dialog_init):
46358 (sessionAuthenticate):
46361 (webAuthDialogSessionFeatureInit):
46362 * WebProcess/gtk/WebAuthDialog.h: Added.
46363 * WebProcess/gtk/WebProcessMainGtk.cpp:
46364 (WebKit::WebProcessMainGtk):
46366 2011-06-14 No'am Rosenthal <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
46368 Reviewed by Kenneth Rohde Christiansen.
46370 [Qt] Implement accelerated compositing on WK2 Qt port
46371 https://bugs.webkit.org/show_bug.cgi?id=56935
46373 Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt.
46374 Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac
46375 implementation (the code is nearly identical). This includes creating the right layers for the
46376 overlay and for the non-composited content, and passing the root layer to the UI process.
46378 Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches,
46379 namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a
46380 stub implementation for them in DrawingAreaProxy.
46382 Note that this is not activated yet, until we enable accelerated compositing in the settings and
46383 create the right GraphicsLayer.
46385 * Scripts/webkit2/messages.py:
46386 * Shared/LayerTreeContext.h:
46387 * Shared/qt/LayerTreeContextQt.cpp:
46388 (WebKit::LayerTreeContext::LayerTreeContext):
46389 (WebKit::LayerTreeContext::~LayerTreeContext):
46390 (WebKit::LayerTreeContext::encode):
46391 (WebKit::LayerTreeContext::decode):
46392 (WebKit::LayerTreeContext::isEmpty):
46393 (WebKit::operator==):
46394 * UIProcess/DrawingAreaProxy.h:
46395 (WebKit::DrawingAreaProxy::syncCompositingLayers):
46396 (WebKit::DrawingAreaProxy::updateCompositingLayerContent):
46397 * UIProcess/DrawingAreaProxy.messages.in:
46399 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46400 (WebCore::collectCompositingInfoForThisLayer):
46401 * WebProcess/WebPage/LayerTreeHost.cpp:
46402 (WebKit::LayerTreeHost::create):
46403 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
46404 (WebKit::LayerTreeHostQt::create):
46405 (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
46406 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
46407 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
46408 (WebKit::LayerTreeHostQt::scheduleLayerFlush):
46409 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
46410 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
46411 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
46412 (WebKit::LayerTreeHostQt::invalidate):
46413 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
46414 (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
46415 (WebKit::LayerTreeHostQt::forceRepaint):
46416 (WebKit::LayerTreeHostQt::sizeDidChange):
46417 (WebKit::LayerTreeHostQt::didInstallPageOverlay):
46418 (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
46419 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
46420 (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
46421 (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
46422 (WebKit::LayerTreeHostQt::layerFlushTimerFired):
46423 (WebKit::LayerTreeHostQt::createPageOverlayLayer):
46424 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
46425 (WebKit::LayerTreeHostQt::notifyAnimationStarted):
46426 (WebKit::LayerTreeHostQt::notifySyncRequired):
46427 (WebKit::LayerTreeHostQt::paintContents):
46428 (WebKit::LayerTreeHostQt::showDebugBorders):
46429 (WebKit::LayerTreeHostQt::showRepaintCounter):
46430 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
46431 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added.
46432 (WebKit::LayerTreeHostQt::layerTreeContext):
46433 (WebKit::LayerTreeHostQt::pauseRendering):
46434 (WebKit::LayerTreeHostQt::resumeRendering):
46436 2011-06-14 Noam Rosenthal <noam.rosenthal@nokia.com>
46438 Reviewed by Kenneth Rohde Christiansen.
46440 [Qt] Implement accelerated compositing on WK2 Qt port
46441 https://bugs.webkit.org/show_bug.cgi?id=56935
46443 Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only.
46444 This allows us to support directly composited images across the WebKit2 processes.
46446 Together with Viatcheslav Ostapenko.
46448 * Shared/ShareableBitmap.h:
46449 * Shared/qt/ShareableBitmapQt.cpp:
46450 (WebKit::ShareableBitmap::createQImage):
46451 (WebKit::ShareableBitmap::createImage):
46453 2011-06-13 Anders Carlsson <andersca@apple.com>
46455 Reviewed by Sam Weinig.
46457 Crash when trying to use Netflix Watch Instantly with Silverlight 3
46458 https://bugs.webkit.org/show_bug.cgi?id=62611
46459 <rdar://problem/9058370>
46461 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46462 (WebKit::NetscapePluginModule::getPluginInfo):
46463 Get the plug-in version string instead of the version number.
46465 (WebKit::PluginVersion::isValid):
46466 (WebKit::PluginVersion::PluginVersion):
46467 (WebKit::PluginVersion::parse):
46468 (WebKit::PluginVersion::isLessThan):
46469 Add a new PluginVersion class that represents a plug-in version. The idea is
46470 that this class be made cross platform.
46472 (WebKit::NetscapePluginModule::determineQuirks):
46473 Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4.
46475 * Shared/Plugins/PluginQuirks.h:
46476 Add the ReturnsNonRetainedScriptableNPObject quirk.
46478 * UIProcess/Plugins/PluginInfoStore.h:
46479 Use a version string. Eventually this should hold the PluginVersion class we added.
46481 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
46482 (WebKit::NetscapePlugin::pluginScriptableNPObject):
46483 If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain.
46485 2011-06-13 Ryuan Choi <ryuan.choi@samsung.com>
46487 Reviewed by Kenneth Rohde Christiansen.
46489 [EFL][WK2] Add dummy files at below of WebProcess.
46490 https://bugs.webkit.org/show_bug.cgi?id=62445
46492 Add Efl related directory and files in WebKit2/WebProcess/.
46494 * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added.
46495 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
46496 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
46497 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added.
46498 (WebKit::InjectedBundle::load):
46499 (WebKit::InjectedBundle::activateMacFontAscentHack):
46500 * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added.
46501 (WebKit::WebInspector::localizedStringsURL):
46502 * WebProcess/WebPage/efl/WebPageEfl.cpp: Added.
46503 (WebKit::WebPage::platformInitialize):
46504 (WebKit::WebPage::platformPreferencesDidChange):
46506 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
46507 (WebKit::WebPage::platformHasLocalDataForURL):
46508 (WebKit::WebPage::cachedResponseMIMETypeForURL):
46509 (WebKit::WebPage::platformCanHandleRequest):
46510 (WebKit::WebPage::cachedSuggestedFilenameForURL):
46511 (WebKit::WebPage::cachedResponseDataForURL):
46512 * WebProcess/efl/WebProcessEfl.cpp: Added.
46513 (WebKit::WebProcess::platformSetCacheModel):
46514 (WebKit::WebProcess::platformClearResourceCaches):
46515 (WebKit::WebProcess::platformInitializeWebProcess):
46516 (WebKit::WebProcess::platformTerminate):
46517 * WebProcess/efl/WebProcessMainEfl.cpp: Added.
46518 (WebKit::WebProcessMainEfl):
46519 * WebProcess/efl/WebProcessMainEfl.h: Added.
46520 * efl/MainEfl.cpp: Added.
46523 2011-06-13 Eunmi Lee <eunmi15.lee@samsung.com>
46525 Reviewed by Eric Seidel.
46527 [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port
46528 https://bugs.webkit.org/show_bug.cgi?id=62524
46530 * UIProcess/efl/WebInspectorEfl.cpp: Added.
46531 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
46532 (WebKit::WebInspectorProxy::platformOpen):
46533 (WebKit::WebInspectorProxy::platformDidClose):
46534 (WebKit::WebInspectorProxy::platformBringToFront):
46535 (WebKit::WebInspectorProxy::platformInspectedURLChanged):
46536 (WebKit::WebInspectorProxy::inspectorPageURL):
46537 (WebKit::WebInspectorProxy::platformAttach):
46538 (WebKit::WebInspectorProxy::platformDetach):
46539 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
46541 2011-06-13 Eunmi Lee <eunmi15.lee@samsung.com>
46543 Reviewed by Eric Seidel.
46545 [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port
46546 https://bugs.webkit.org/show_bug.cgi?id=62438
46548 * UIProcess/efl/TextCheckerEfl.cpp: Added.
46549 (WebKit::TextChecker::state):
46550 (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
46551 (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
46552 (WebKit::TextChecker::setGrammarCheckingEnabled):
46553 (WebKit::TextChecker::uniqueSpellDocumentTag):
46554 (WebKit::TextChecker::closeSpellDocumentWithTag):
46555 (WebKit::TextChecker::checkSpellingOfString):
46556 (WebKit::TextChecker::checkGrammarOfString):
46557 (WebKit::TextChecker::spellingUIIsShowing):
46558 (WebKit::TextChecker::toggleSpellingUIIsShowing):
46559 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
46560 (WebKit::TextChecker::updateSpellingUIWithGrammarString):
46561 (WebKit::TextChecker::getGuessesForWord):
46562 (WebKit::TextChecker::learnWord):
46563 (WebKit::TextChecker::ignoreWord):
46565 2011-06-13 Sangyong Park <sy302.park@gmail.com>
46567 Reviewed by Eric Seidel.
46569 implement to handle wheel event of plugin on x11
46570 https://bugs.webkit.org/show_bug.cgi?id=62522
46572 Implement platformHandleWheelEvent() in NetscapePluginX11.cpp
46573 for to handle wheel event on plugins
46575 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
46576 (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent
46577 (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent
46578 (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin
46580 2011-06-13 Eunmi Lee <eunmi15.lee@samsung.com>
46582 Reviewed by Eric Seidel.
46584 [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port
46585 https://bugs.webkit.org/show_bug.cgi?id=62523
46587 * UIProcess/efl/WebContextEfl.cpp: Added.
46588 (WebKit::WebContext::applicationCacheDirectory):
46589 (WebKit::WebContext::platformInitializeWebProcess):
46590 (WebKit::WebContext::platformInvalidateContext):
46591 (WebKit::WebContext::platformDefaultDatabaseDirectory):
46592 (WebKit::WebContext::platformDefaultIconDatabasePath):
46593 (WebKit::WebContext::platformDefaultLocalStorageDirectory):
46595 2011-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
46597 Unreviewed fix - removed parts of r88659 that were committed by mistake.
46599 The patch accidentally included parts that weren't supposed to be there, namely the whole
46600 code was duplicated. This patch rectifies that and brings it to the original reviewed code.
46602 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46603 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
46605 2011-06-13 Anders Carlsson <andersca@apple.com>
46607 Reviewed by Dan Bernstein.
46609 BankID plug-in isn't instantiated correctly
46610 https://bugs.webkit.org/show_bug.cgi?id=62588
46611 <rdar://problem/9586600>
46613 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46614 (WebKit::NetscapePluginModule::determineQuirks):
46615 The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can
46616 use the half-baked QuickDraw support.
46618 * WebProcess/Plugins/PluginProcessConnection.cpp:
46619 (WebKit::defaultSyncMessageTimeout):
46620 Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events
46621 and we don't want the plug-in to die while it's waiting for a reply.
46623 2011-06-13 Chris Fleizach <cfleizach@apple.com>
46625 Reviewed by Darin Adler.
46627 kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2
46628 https://bugs.webkit.org/show_bug.cgi?id=62547
46630 Implement the missing screenToWindow method for WK2.
46632 * UIProcess/API/gtk/PageClientImpl.cpp:
46633 (WebKit::PageClientImpl::screenToWindow):
46634 * UIProcess/API/gtk/PageClientImpl.h:
46635 * UIProcess/API/mac/PageClientImpl.h:
46636 * UIProcess/API/mac/PageClientImpl.mm:
46637 (WebKit::PageClientImpl::screenToWindow):
46638 * UIProcess/API/qt/qwkpage.cpp:
46639 (QWKPagePrivate::screenToWindow):
46640 * UIProcess/API/qt/qwkpage_p.h:
46641 * UIProcess/PageClient.h:
46642 * UIProcess/WebPageProxy.cpp:
46643 (WebKit::WebPageProxy::screenToWindow):
46644 * UIProcess/WebPageProxy.h:
46645 * UIProcess/WebPageProxy.messages.in:
46646 * UIProcess/win/WebView.cpp:
46647 (WebKit::WebView::screenToWindow):
46648 * UIProcess/win/WebView.h:
46649 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
46650 (WebKit::WebChromeClient::screenToWindow):
46651 * WebProcess/WebPage/WebPage.cpp:
46652 (WebKit::WebPage::screenToWindow):
46653 * WebProcess/WebPage/WebPage.h:
46655 2011-06-13 Sam Weinig <sam@webkit.org>
46657 Reviewed by Darin Adler.
46659 REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse
46660 <rdar://problem/9580237>
46662 * WebProcess/WebPage/mac/WebPageMac.mm:
46663 (WebKit::shouldUseSelection):
46664 Return early if the selection we are using is not a range.
46666 2011-06-13 Tony Chang <tony@chromium.org>
46668 Reviewed by Dimitri Glazkov.
46670 rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
46671 https://bugs.webkit.org/show_bug.cgi?id=62578
46673 * Configurations/FeatureDefines.xcconfig:
46675 2011-06-13 No'am Rosenthal <noam.rosenthal@nokia.com>
46677 Reviewed by Kenneth Rohde Christiansen.
46679 [Qt] Implement accelerated compositing on WK2 Qt port
46680 https://bugs.webkit.org/show_bug.cgi?id=56935
46682 Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer
46683 tree to the UI process WebLayerTreeInfo.
46684 For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on.
46686 Together with Viatcheslav Ostapenko.
46688 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added.
46689 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added.
46691 2011-06-13 No'am Rosenthal <noam.rosenthal@nokia.com>
46693 Reviewed by Kenneth Rohde Christiansen.
46695 [Qt] Implement accelerated compositing on WK2 Qt port
46696 https://bugs.webkit.org/show_bug.cgi?id=56935
46698 Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers
46699 across to the UI process.
46701 Together with Viatcheslav Ostapenko.
46703 * Scripts/webkit2/messages.py:
46704 * Shared/WebLayerTreeInfo.cpp: Added.
46705 * Shared/WebLayerTreeInfo.h: Added.
46707 2011-06-11 Jer Noble <jer.noble@apple.com>
46709 Reviewed by Anders Carlsson.
46711 Avoid flashing when exiting full-screen mode.
46712 https://bugs.webkit.org/show_bug.cgi?id=62338
46714 Instead of making a round-trip between processes by calling forceRepaint
46715 and waiting for a callback, instead make a WebProcess-side call to
46716 forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode
46717 message to the WebFullScreenControllerProxy. This also means we can get rid of
46718 the dragImage creation and display.
46720 Because this redraw will happen during the current run-loop instead of a future
46721 one, make sure the background color has been set before the redraw in
46722 didEnterFullScreen().
46724 Wait to hide the full-screen window until after we have received the
46725 ExitAcceleratedCompositingMode message. By this time, repaint will have already
46728 * UIProcess/mac/WKFullScreenWindowController.h:
46729 * UIProcess/mac/WKFullScreenWindowController.mm:
46730 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable
46731 screen updates, to be re-enabled during exitAcceleratedCompositingMode.
46732 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide
46733 the full-screen window here; wait for exitAcceleratedCompositing instead.
46734 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse
46735 the redrawCompleted method into this one.
46736 (-[WKFullScreenWindowController close]): Remove the reference to
46737 exitCompositedModeRepaintCompleted.
46738 * WebProcess/FullScreen/WebFullScreenManager.cpp:
46739 (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen
46740 background color first.
46741 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46742 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before
46743 sending the ExitAcceleratedCompositingMode message.
46745 2011-06-13 Tony Chang <tony@chromium.org>
46747 Reviewed by Adam Barth.
46749 rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
46750 https://bugs.webkit.org/show_bug.cgi?id=62545
46752 * Configurations/FeatureDefines.xcconfig:
46754 2011-06-13 Anders Carlsson <andersca@apple.com>
46756 Reviewed by Dan Bernstein.
46758 Don't access freed memory in the UI process when a plug-in process crashes
46759 https://bugs.webkit.org/show_bug.cgi?id=62548
46760 <rdar://problem/9599243>
46762 Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash,
46763 otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted.
46765 * UIProcess/Plugins/PluginProcessProxy.cpp:
46766 (WebKit::PluginProcessProxy::didClose):
46768 2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
46770 Reviewed by Martin Robinson.
46772 [GTK] Fix a crash when drawing area has been deleted
46773 https://bugs.webkit.org/show_bug.cgi?id=62541
46775 Check whether WebPageProxy::drawingArea() returns a valid pointer
46776 before using it, it might be null, for example, when the web
46779 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46780 (callDrawingAreaPaintMethod):
46781 (webkitWebViewBaseSizeAllocate):
46783 2011-06-13 Eunmi Lee <eunmi15.lee@samsung.com>
46785 Reviewed by Kenneth Rohde Christiansen.
46787 [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl
46788 https://bugs.webkit.org/show_bug.cgi?id=62429
46790 * UIProcess/API/efl/PageClientImpl.cpp:
46791 (WebKit::PageClientImpl::scrollView):
46792 (WebKit::PageClientImpl::setCursor):
46793 (WebKit::PageClientImpl::windowToScreen):
46794 (WebKit::PageClientImpl::doneWithKeyEvent):
46795 (WebKit::PageClientImpl::setFindIndicator):
46796 (WebKit::PageClientImpl::didCommitLoadForMainFrame):
46797 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
46798 (WebKit::PageClientImpl::findStringInCustomRepresentation):
46799 (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
46800 * UIProcess/API/efl/PageClientImpl.h:
46802 2011-06-13 Eunmi Lee <eunmi15.lee@samsung.com>
46804 Reviewed by Kenneth Rohde Christiansen.
46806 [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port
46807 https://bugs.webkit.org/show_bug.cgi?id=62525
46809 * UIProcess/efl/WebPreferencesEfl.cpp: Added.
46810 (WebKit::WebPreferences::platformInitializeStore):
46811 (WebKit::WebPreferences::platformUpdateStringValueForKey):
46812 (WebKit::WebPreferences::platformUpdateBoolValueForKey):
46813 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
46814 (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
46816 2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
46818 Reviewed by Martin Robinson.
46820 [GTK] Add context menu support for Webkit2
46821 https://bugs.webkit.org/show_bug.cgi?id=54827
46823 * GNUmakefile.am: Add new files to compilation.
46824 * UIProcess/API/gtk/PageClientImpl.cpp:
46825 (WebKit::PageClientImpl::createContextMenuProxy): Create a context
46827 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46828 (globalPointForClientPoint): Function copied from webkit1 to
46829 convert a point in widget coordinates to global coordinates.
46830 (popupMenuPositionFunction):
46831 (webkitWebViewBaseShowContextMenu): Show the given context menu at
46832 the given position.
46833 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46834 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added.
46835 (WebKit::contextMenuItemActivatedCallback):
46836 (WebKit::WebContextMenuProxyGtk::createGtkMenu):
46837 (WebKit::WebContextMenuProxyGtk::showContextMenu):
46838 (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46839 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46840 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46841 * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h.
46842 (WebKit::WebContextMenuProxyGtk::create):
46844 2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
46846 Reviewed by Martin Robinson.
46848 [GTK] Export an API similar to WebKit1
46849 https://bugs.webkit.org/show_bug.cgi?id=57820
46851 Add first implementation of WebKitWebView, a class with the same
46852 API than webkit1, that wraps the C API to provide a high level
46853 WebKit2 API for GTK port.
46855 * GNUmakefile.am: Add new files to compilation.
46856 * UIProcess/API/gtk/WebKitWebView.cpp: Added.
46857 (webkit_web_view_init):
46858 (webkit_web_view_class_init):
46859 (webkit_web_view_new):
46860 (webkit_web_view_load_uri):
46861 (webkit_web_view_go_back):
46862 (webkit_web_view_go_forward):
46863 * UIProcess/API/gtk/WebKitWebView.h: Added.
46864 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46865 (webkitWebViewBaseCreate):
46866 (webkitWebViewBaseCreateWebPage):
46867 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46868 * UIProcess/API/gtk/webkit/webkit.h: Added.
46870 2011-06-12 Adam Barth <abarth@webkit.org>
46872 Reviewed by Alexey Proskuryakov.
46874 Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
46875 https://bugs.webkit.org/show_bug.cgi?id=62516
46877 * WebProcess/WebCoreSupport/WebErrors.h:
46878 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46879 (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError):
46880 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
46881 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
46882 (WebKit::interruptedForPolicyChangeError):
46883 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
46884 (WebKit::interruptedForPolicyChangeError):
46885 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
46886 (WebKit::interruptedForPolicyChangeError):
46887 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
46888 (WebKit::interruptedForPolicyChangeError):
46889 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
46890 (WebKit::interruptedForPolicyChangeError):
46892 2011-06-12 Adam Barth <abarth@webkit.org>
46894 Reviewed by Eric Seidel.
46896 Remove FrameLoader::isProcessingUserGesture
46897 https://bugs.webkit.org/show_bug.cgi?id=62519
46899 Instead of asking the gesture indicator directly, ask the
46900 ScriptController, like everyone else. The gesture indicator is just
46901 one of the piece of information we use to determine whether we're
46902 processing a user gesture.
46904 * WebProcess/InjectedBundle/InjectedBundle.cpp:
46905 (WebKit::InjectedBundle::isProcessingUserGesture):
46907 2011-06-12 Adam Barth <abarth@webkit.org>
46909 Reviewed by Alexey Proskuryakov.
46911 Remove trival "forward-to-client" member functions from FrameLoader
46912 https://bugs.webkit.org/show_bug.cgi?id=62510
46914 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
46915 (WebKit::WebFrameNetworkingContext::blockedError):
46917 2011-06-11 Stephanie Lewis <slewis@apple.com>
46919 Reviewed by Sam Weinig.
46921 https://bugs.webkit.org/show_bug.cgi?id=62480
46922 part of <rdar://problem/8675177>
46923 Add API to launch the WebProcess. Launching it earlier can save time
46924 when loading the first page.
46926 * UIProcess/API/C/WKContext.cpp:
46927 (WKContextWarmInitialProcess):
46928 * UIProcess/API/C/WKContextPrivate.h:
46929 * UIProcess/WebContext.cpp:
46930 (WebKit::WebContext::warmInitialProcess):
46931 * UIProcess/WebContext.h:
46933 2011-06-09 Jer Noble <jer.noble@apple.com>
46935 Reviewed by Darin Adler.
46937 AVPlayerLayer is adding a "fade" animation during Safari full-screen
46938 https://bugs.webkit.org/show_bug.cgi?id=62433
46940 CoreAnimation will add default animations when certain properties are changed, unless
46941 those changes are wrapped in a CATransaction which has had its disableActions property set
46942 to true. Wrap each of these three property changes in a CATransaction and disable its actions,
46943 so that the default "fade" animation is not created in response.
46945 * UIProcess/mac/WKFullScreenWindowController.mm:
46946 (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction.
46947 (-[WKFullScreenWindowController _swapView:with:]): Ditto:
46948 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46949 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto.
46951 2011-06-10 Anders Carlsson <andersca@apple.com>
46953 Reviewed by Sam Weinig.
46955 REGRESSION (WebKit2): window.showModalDialog() broken
46956 https://bugs.webkit.org/show_bug.cgi?id=62496
46957 <rdar://problem/9581492>
46959 If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being
46960 delivered until we exit from the run loop.
46962 Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then
46963 dispatch it. That prevents us from having any lingering messages lying around in stack allocated space.
46965 * Platform/CoreIPC/Connection.cpp:
46966 (CoreIPC::Connection::waitForMessage):
46967 (CoreIPC::Connection::dispatchMessages):
46968 * Platform/CoreIPC/Connection.h:
46970 2011-06-10 Sam Weinig <sam@webkit.org>
46972 Reviewed by Anders Carlsson.
46974 Unresponsive cursor is shown when displaying a modal dialog
46975 Part of <rdar://problem/9581492>
46976 https://bugs.webkit.org/show_bug.cgi?id=62494
46978 * UIProcess/WebPageProxy.cpp:
46979 (WebKit::WebPageProxy::runModal):
46980 * UIProcess/WebPageProxy.h:
46981 Stop the responsiveness timer when calling out to show a modal dialog.
46983 2011-06-10 Tony Chang <tony@chromium.org>
46985 Reviewed by Ojan Vafai.
46987 add a compile guard ENABLE(FLEXBOX)
46988 https://bugs.webkit.org/show_bug.cgi?id=62049
46990 * Configurations/FeatureDefines.xcconfig:
46992 2011-06-10 Ryuan Choi <ryuan.choi@samsung.com>
46994 Reviewed by Kenneth Rohde Christiansen.
46996 [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl
46997 https://bugs.webkit.org/show_bug.cgi?id=62346
46999 Add WebProcess/WebCoreSupport/efl directory and files.
47001 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added.
47002 (WebKit::WebContextMenuClient::lookUpInDictionary):
47003 (WebKit::WebContextMenuClient::isSpeaking):
47004 (WebKit::WebContextMenuClient::speak):
47005 (WebKit::WebContextMenuClient::stopSpeaking):
47006 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added.
47007 (WebKit::WebEditorClient::handleKeyboardEvent):
47008 (WebKit::WebEditorClient::handleInputMethodKeydown):
47009 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added.
47010 (WebKit::cancelledError):
47011 (WebKit::blockedError):
47012 (WebKit::cannotShowURLError):
47013 (WebKit::interruptForPolicyChangeError):
47014 (WebKit::cannotShowMIMETypeError):
47015 (WebKit::fileDoesNotExistError):
47016 (WebKit::pluginWillHandleLoadError):
47017 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added.
47018 (WebFrameNetworkingContext::create):
47019 (WebFrameNetworkingContext::WebFrameNetworkingContext):
47020 * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added.
47021 (WebKit::WebPopupMenu::setUpPlatformData):
47023 2011-06-09 Andreas Kling <kling@webkit.org>
47025 Reviewed by Darin Adler.
47027 WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor().
47028 https://bugs.webkit.org/show_bug.cgi?id=62386
47030 * Platform/CoreIPC/Connection.h:
47032 2011-06-09 Andreas Kling <kling@webkit.org>
47034 Reviewed by Anders Carlsson.
47036 [Qt][WK2] Remove usage of deprecated CoreIPC functions.
47037 https://bugs.webkit.org/show_bug.cgi?id=62290
47039 Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea.
47040 The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy}
47041 and guarded by ENABLE(TILED_BACKING_STORE).
47043 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed.
47044 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed.
47048 * WebKit2.xcodeproj/project.pbxproj:
47049 * win/WebKit2.vcproj: Prune deleted files from build system.
47051 * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's.
47053 * UIProcess/API/qt/qgraphicswkview.cpp:
47054 (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete,
47055 this will be addressed by the soon-to-be-upstreamed TileSet mechanism.
47057 * UIProcess/DrawingAreaProxy.messages.in:
47058 * UIProcess/DrawingAreaProxy.h:
47059 (WebKit::DrawingAreaProxy::didSetSize):
47060 (WebKit::DrawingAreaProxy::invalidate):
47061 (WebKit::DrawingAreaProxy::snapshotTaken):
47062 (WebKit::DrawingAreaProxy::tileUpdated):
47063 (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by
47064 TiledDrawingAreaProxy to DrawingAreaProxy.
47066 * WebProcess/WebPage/DrawingArea.messages.in:
47067 * WebProcess/WebPage/DrawingArea.h:
47068 (WebKit::DrawingArea::setSize):
47069 (WebKit::DrawingArea::cancelTileUpdate):
47070 (WebKit::DrawingArea::requestTileUpdate):
47071 (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea
47074 * UIProcess/DrawingAreaProxyImpl.h:
47075 * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage()
47076 and didReceiveSyncMessage().
47078 * WebProcess/WebPage/DrawingAreaImpl.cpp:
47079 * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage().
47081 * UIProcess/TiledDrawingAreaProxy.h:
47082 * UIProcess/TiledDrawingAreaProxy.cpp:
47083 (WebKit::TiledDrawingAreaProxy::sizeDidChange):
47084 (WebKit::TiledDrawingAreaProxy::tileUpdated):
47085 (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage()
47088 (WebKit::TiledDrawingAreaProxy::removeTile):
47089 (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
47090 (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
47091 (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC.
47093 * WebProcess/WebPage/TiledDrawingArea.cpp:
47094 (WebKit::TiledDrawingArea::setSize):
47095 (WebKit::TiledDrawingArea::cancelTileUpdate):
47096 (WebKit::TiledDrawingArea::requestTileUpdate):
47097 (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions.
47099 (WebKit::TiledDrawingArea::display):
47100 (WebKit::TiledDrawingArea::updateTile):
47101 (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC.
47103 * UIProcess/WebPageProxy.cpp:
47104 (WebKit::WebPageProxy::didReceiveMessage): Remove handling of
47105 CoreIPC::MessageClassDrawingAreaProxyLegacy.
47107 * WebProcess/WebPage/WebPage.cpp:
47108 (WebKit::WebPage::didReceiveMessage): Remove handling of
47109 CoreIPC::MessageClassDrawingAreaLegacy.
47111 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes.
47113 * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make
47114 CoreIPC message handlers explicitly virtual.
47116 2011-06-09 Andreas Kling <kling@webkit.org>
47118 Reviewed by Anders Carlsson.
47120 WebKit2: Generate correct header conditionals in message receivers.
47121 https://bugs.webkit.org/show_bug.cgi?id=62379
47123 Given a *.messages.in file like this:
47125 Foo(AwesomeObject o)
47126 #if ENABLE(ESOTERIC_FEATURE)
47127 Bar(AwesomeObject o)
47130 messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE).
47131 This breaks the build on platforms without that defined.
47133 Furthermore, if two messages guarded by different conditionals both pull in the same
47134 header, only the last conditional will be applied, for example:
47136 #if ENABLE(ESOTERIC_FEATURE)
47137 Foo(AwesomeObject o)
47139 #if ENABLE(MYSTERIOUS_FEATURE)
47140 Bar(AwesomeObject o)
47143 Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should
47144 check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE).
47146 Change the generator to consider all conditionals for a given header file.
47147 Also consider conditionals for reply parameters.
47149 * Scripts/webkit2/messages.py:
47150 * Scripts/webkit2/messages_unittest.py:
47152 2011-06-09 Eunmi Lee <eunmi15.lee@samsung.com>
47154 Reviewed by Kenneth Rohde Christiansen.
47156 [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port
47157 https://bugs.webkit.org/show_bug.cgi?id=62363
47159 * UIProcess/API/efl/PageClientImpl.cpp: Added.
47160 (WebKit::PageClientImpl::PageClientImpl):
47161 (WebKit::PageClientImpl::~PageClientImpl):
47162 (WebKit::PageClientImpl::createDrawingAreaProxy):
47163 (WebKit::PageClientImpl::setViewNeedsDisplay):
47164 (WebKit::PageClientImpl::displayView):
47165 (WebKit::PageClientImpl::scrollView):
47166 (WebKit::PageClientImpl::viewSize):
47167 (WebKit::PageClientImpl::isViewWindowActive):
47168 (WebKit::PageClientImpl::isViewFocused):
47169 (WebKit::PageClientImpl::isViewVisible):
47170 (WebKit::PageClientImpl::isViewInWindow):
47171 (WebKit::PageClientImpl::processDidCrash):
47172 (WebKit::PageClientImpl::didRelaunchProcess):
47173 (WebKit::PageClientImpl::pageClosed):
47174 (WebKit::PageClientImpl::toolTipChanged):
47175 (WebKit::PageClientImpl::setCursor):
47176 (WebKit::PageClientImpl::setViewportArguments):
47177 (WebKit::PageClientImpl::registerEditCommand):
47178 (WebKit::PageClientImpl::clearAllEditCommands):
47179 (WebKit::PageClientImpl::canUndoRedo):
47180 (WebKit::PageClientImpl::executeUndoRedo):
47181 (WebKit::PageClientImpl::convertToDeviceSpace):
47182 (WebKit::PageClientImpl::convertToUserSpace):
47183 (WebKit::PageClientImpl::windowToScreen):
47184 (WebKit::PageClientImpl::doneWithKeyEvent):
47185 (WebKit::PageClientImpl::createPopupMenuProxy):
47186 (WebKit::PageClientImpl::createContextMenuProxy):
47187 (WebKit::PageClientImpl::setFindIndicator):
47188 (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
47189 (WebKit::PageClientImpl::didCommitLoadForMainFrame):
47190 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
47191 (WebKit::PageClientImpl::customRepresentationZoomFactor):
47192 (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
47193 (WebKit::PageClientImpl::flashBackingStoreUpdates):
47194 (WebKit::PageClientImpl::findStringInCustomRepresentation):
47195 (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
47196 (WebKit::PageClientImpl::userSpaceScaleFactor):
47197 * UIProcess/API/efl/PageClientImpl.h: Added.
47198 (WebKit::PageClientImpl::create):
47199 (WebKit::PageClientImpl::viewObject):
47200 (WebKit::PageClientImpl::page):
47201 * UIProcess/WebPageProxy.h:
47202 * UIProcess/efl/WebPageProxyEfl.cpp: Added.
47203 (WebKit::WebPageProxy::viewObject):
47204 (WebKit::WebPageProxy::standardUserAgent):
47205 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
47206 (WebKit::WebPageProxy::saveRecentSearches):
47207 (WebKit::WebPageProxy::loadRecentSearches):
47209 2011-06-08 John Sullivan <sullivan@apple.com>
47211 Reviewed by Darin Adler.
47213 <https://bugs.webkit.org/show_bug.cgi?id=62332>
47214 <rdar://problem/9355199>
47215 [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag
47217 * UIProcess/API/mac/WKView.mm:
47218 (-[WKView _resendKeyDownEvent:]):
47219 Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun.
47220 (-[WKView _setDragImage:at:linkDrag:]):
47221 Added a self-protecting RetainPtr.
47223 2011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com>
47225 Reviewed by Kenneth Rohde Christiansen.
47227 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47228 https://bugs.webkit.org/show_bug.cgi?id=61694
47230 Add an ArgumentCoder for FloatPoint3D.
47232 Together with Viatcheslav Ostapenko.
47234 * Scripts/webkit2/messages.py:
47235 * Shared/WebCoreArgumentCoders.h:
47237 2011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com>
47239 Reviewed by Kenneth Rohde Christiansen.
47241 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47242 https://bugs.webkit.org/show_bug.cgi?id=61694
47244 Add ArgumentCoders for TransformOperation, including all the subclasses,
47245 and TransformOperations.
47247 * Scripts/webkit2/messages.py:
47248 * Shared/WebCoreArgumentCoders.h:
47250 2011-06-08 Yael Aharon <yael.aharon@nokia.com>
47252 Reviewed by Andreas Kling.
47254 [Qt] Build fix for building QtWebKit inside of Qt.
47255 https://bugs.webkit.org/show_bug.cgi?id=62280
47257 Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2
47262 2011-06-07 Tim Horton <timothy_horton@apple.com>
47264 Reviewed by Alexey Proskuryakov.
47266 Use correct CFURLStorageSessionRef definition on Snow Leopard
47267 https://bugs.webkit.org/show_bug.cgi?id=62223
47269 * PluginProcess/mac/PluginProcessShim.mm:
47271 2011-06-07 John Sullivan <sullivan@apple.com>
47273 Reviewed by Darin Adler.
47275 <https://bugs.webkit.org/show_bug.cgi?id=62248>
47276 <rdar://problem/9568516>
47277 WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation
47279 * UIProcess/API/mac/WKView.mm:
47280 (-[WKResponderChainSink detach]):
47281 This method formerly blindly assumed that since -initWithResponderChain: put self at the
47282 end of the responder chain, after _lastResponderInChain, then self is still at the end
47283 of the responder chain and still immediately after _lastResponderInChain. Made this function
47284 robust against some kinds of responder chain manipulations, though it can't be robust against
47285 some other kinds (e.g., manipulations that removed self from this chain and put it into some
47288 2011-06-07 Sam Weinig <sam@webkit.org>
47290 Reviewed by Anders Carlsson.
47292 Remove repeated IPC traffic from SetRenderTreeSize message
47293 https://bugs.webkit.org/show_bug.cgi?id=62244
47295 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
47296 Add didLayoutForFrame callback.
47298 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
47299 (WKBundlePageGetRenderTreeSize):
47300 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
47301 Add render tree size getter in WebProcess.
47303 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
47304 (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
47305 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
47308 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
47309 * WebProcess/WebCoreSupport/WebChromeClient.h:
47310 Removed setRenderTreeSize.
47312 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
47313 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
47314 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
47315 Call the new didLayoutForFrame client function.
47317 * WebProcess/WebPage/WebPage.cpp:
47318 (WebKit::WebPage::renderTreeSize):
47319 * WebProcess/WebPage/WebPage.h:
47320 Add iterative implementation to compute the total size of the render tree
47323 2011-06-07 Zalan Bujtas <zbujtas@gmail.com>
47325 Reviewed by Andreas Kling.
47327 TiledDrawingArea: Delay serving tile requests when the drawing area is suspended.
47329 Do not paint tiles when painting is disabled (suspended) on the web process side.
47330 Buffer up the tile requests and paint them, when the drawing area gets resumed.
47331 On the UI process side, do not block on tile updates, when the tiled area is
47332 not visible (painting is disabled on the web process side).
47334 * UIProcess/TiledDrawingAreaProxy.cpp:
47335 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
47336 * WebProcess/WebPage/TiledDrawingArea.cpp:
47337 (WebKit::TiledDrawingArea::suspendPainting):
47338 (WebKit::TiledDrawingArea::resumePainting):
47339 (WebKit::TiledDrawingArea::scheduleTileUpdate):
47340 (WebKit::TiledDrawingArea::tileUpdateTimerFired):
47341 (WebKit::TiledDrawingArea::didReceiveMessage):
47342 * WebProcess/WebPage/TiledDrawingArea.h:
47344 2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
47346 Unreviewed, rolling out r88259 and r88263.
47347 http://trac.webkit.org/changeset/88259
47348 http://trac.webkit.org/changeset/88263
47349 https://bugs.webkit.org/show_bug.cgi?id=62228
47351 broke builds (Requested by rniwa on #webkit).
47353 * PluginProcess/mac/PluginProcessShim.mm:
47355 2011-06-07 Tim Horton <timothy_horton@apple.com>
47357 Reviewed by Alexey Proskuryakov.
47359 Use correct CFURLStorageSessionRef definition on Snow Leopard
47360 https://bugs.webkit.org/show_bug.cgi?id=62223
47362 * PluginProcess/mac/PluginProcessShim.mm:
47364 2011-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
47366 Reviewed by Martin Robinson.
47368 [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
47369 https://bugs.webkit.org/show_bug.cgi?id=62200
47371 In WebKit2 PluginPackage is used by the UI process to load plugins
47372 in order to get information about them, but it doesn't use any GTK
47373 symbol. So the UI process should be able to load plugins even when
47374 building with GTK3, but we should not allow the plugin view to use
47375 the plugin if it mixes GTK2 and GTK3 symbols.
47377 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
47378 (WebKit::moduleMixesGtkSymbols):
47379 (WebKit::NetscapePlugin::platformPostInitialize): Check whether
47380 the module is mixing GTK+ 2 and GTK+ 3 symbols.
47382 2011-06-06 Sheriff Bot <webkit.review.bot@gmail.com>
47384 Unreviewed, rolling out r88222.
47385 http://trac.webkit.org/changeset/88222
47386 https://bugs.webkit.org/show_bug.cgi?id=62192
47388 Broke compile on Mac (Requested by abarth on #webkit).
47390 * Scripts/webkit2/messages.py:
47391 * Shared/WebCoreArgumentCoders.h:
47393 2011-06-06 Noam Rosenthal <noam.rosenthal@nokia.com>
47395 Reviewed by Kenneth Rohde Christiansen.
47397 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47398 https://bugs.webkit.org/show_bug.cgi?id=61694
47400 Add ArgumentCoders for TransformOperation, including all the subclasses,
47401 and TransformOperations.
47403 * Scripts/webkit2/messages.py:
47404 * Shared/WebCoreArgumentCoders.h:
47406 2011-06-06 John Sullivan <sullivan@apple.com>
47408 Reviewed by Dan Bernstein.
47410 <https://bugs.webkit.org/show_bug.cgi?id=62165>
47411 <rdar://problem/9555835>
47412 WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages
47414 * UIProcess/API/mac/PDFViewController.mm:
47415 (WebKit::PDFViewController::findString):
47416 Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches().
47417 Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a
47418 number that would be ignored.
47420 2011-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
47422 Reviewed by Anders Carlsson.
47424 Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process
47425 https://bugs.webkit.org/show_bug.cgi?id=62124
47427 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
47428 (WebKit::NetscapePlugin::setException):
47430 2011-06-06 Dominic Cooney <dominicc@chromium.org>
47432 Unreviewed WinCairo build fix after r88159.
47434 * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport.
47436 2011-06-04 Dominic Cooney <dominicc@chromium.org>
47438 Reviewed by Dimitri Glazkov.
47440 Re-export JSC and WebCore symbols required by WebCoreTestSupport.
47441 https://bugs.webkit.org/show_bug.cgi?id=61076
47445 2011-06-06 Alexandru Chiculita <achicu@adobe.com>
47447 Reviewed by Kent Tamura.
47449 Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
47450 https://bugs.webkit.org/show_bug.cgi?id=61628
47452 * Configurations/FeatureDefines.xcconfig:
47454 2011-06-06 Mihnea Ovidenie <mihnea@adobe.com>
47456 Reviewed by Kent Tamura.
47458 Add ENABLE(CSS_REGIONS) guard for CSS Regions support
47459 https://bugs.webkit.org/show_bug.cgi?id=61631
47461 * Configurations/FeatureDefines.xcconfig:
47463 2011-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
47465 Reviewed by Anders Carlsson.
47467 [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection
47468 https://bugs.webkit.org/show_bug.cgi?id=61538
47470 Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message
47471 receiver code to support stream sockets, since it requires to
47472 handle message boundaries. The same code works for DGRAM sockets,
47473 so this change shouldn't break other ports using DGRAM.
47475 * Platform/CoreIPC/Connection.h:
47476 * Platform/CoreIPC/unix/ConnectionUnix.cpp:
47477 (CoreIPC::Connection::platformInitialize):
47478 (CoreIPC::Connection::processMessage): Process messages from data
47480 (CoreIPC::readBytesFromSocket): Read from socket using recvmsg().
47481 (CoreIPC::Connection::readyReadHandler):
47482 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
47483 (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in
47486 == Rolled over to ChangeLog-2011-06-04 ==