[BlackBerry] Use APIEntryShim when making JS call
[WebKit-https.git] / Source / WebKit / blackberry / ChangeLog
1 2013-02-26  Yong Li  <yoli@rim.com>
2
3         [BlackBerry] Use APIEntryShim when making JS call
4         https://bugs.webkit.org/show_bug.cgi?id=110787
5
6         Reviewed by Rob Buis.
7
8         PR# 301451.
9         Use APIEntryShim to fix an assert and ensure it is thread-safe.
10
11         * Api/WebPage.cpp:
12         (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
13
14 2013-02-26  Alberto Garcia  <agarcia@igalia.com>
15
16         [BlackBerry] Upstream the datalist support UI
17         https://bugs.webkit.org/show_bug.cgi?id=110736
18
19         Reviewed by Rob Buis.
20
21         Original code by Otto Derek Cheung <otcheung@rim.com>
22
23         * WebCoreSupport/SuggestionBoxElement.cpp: Added.
24         (WebCore):
25         (WebCore::SuggestionBoxElement::SuggestionBoxElement):
26         (WebCore::SuggestionBoxElement::~SuggestionBoxElement):
27         (WebCore::SuggestionBoxElement::create):
28         (WebCore::SuggestionBoxElement::defaultEventHandler):
29         * WebCoreSupport/SuggestionBoxElement.h: Added.
30         (WebCore):
31         (SuggestionBoxElement):
32         * WebCoreSupport/SuggestionBoxHandler.cpp: Added.
33         (WebCore):
34         (WebCore::SuggestionBoxHandler::SuggestionBoxHandler):
35         (WebCore::SuggestionBoxHandler::~SuggestionBoxHandler):
36         (WebCore::SuggestionBoxHandler::create):
37         (WebCore::SuggestionBoxHandler::setInputElementAndUpdateDisplay):
38         (WebCore::SuggestionBoxHandler::showDropdownBox):
39         (WebCore::SuggestionBoxHandler::hideDropdownBox):
40         (WebCore::SuggestionBoxHandler::changeInputElementInnerTextValue):
41         (WebCore::SuggestionBoxHandler::parseSuggestions):
42         (WebCore::SuggestionBoxHandler::insertSuggestionsToDropdownBox):
43         (WebCore::adjustDropdownBoxPosition):
44         (WebCore::SuggestionBoxHandler::buildDropdownBoxTree):
45         * WebCoreSupport/SuggestionBoxHandler.h: Added.
46         (WebCore):
47         (SuggestionBoxHandler):
48         (WebCore::SuggestionBoxHandler::focusedElement):
49         * WebKitSupport/InputHandler.cpp:
50         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
51         (BlackBerry::WebKit::InputHandler::updateFormState):
52         * WebKitSupport/InputHandler.h:
53         (WebCore):
54         (InputHandler):
55         * WebKitSupport/TouchEventHandler.cpp:
56         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
57
58 2013-02-25  Yongxin Dai  <yodai@rim.com>
59
60         [BlackBerry] Add isInputMode() method to WebPage class.
61         https://bugs.webkit.org/show_bug.cgi?id=110754
62
63         Reviewed by Rob Buis.
64
65         PR #262569.
66
67         There is a case we need to know if the active node is content editable
68         from TouchHandlerWebKitThread class. WebPage::isInputMode() just delegates
69         InputHandler::isInputMode().
70
71         Reviewed Internally by Mike Fenton.
72
73         * Api/WebPage.cpp:
74         (BlackBerry::WebKit::WebPage::isInputMode):
75         (WebKit):
76         * Api/WebPage.h:
77
78 2013-02-25  Mike Fenton  <mifenton@rim.com>
79
80         [BlackBerry] Force form submission when implicit submission fails.
81         https://bugs.webkit.org/show_bug.cgi?id=110627
82
83         Reviewed by Rob Buis.
84
85         PR 286023.
86
87         When implicit form submission does not submit the form
88         do a direct submission of the form.
89
90         Reviewed Internally by Nima Ghanavatian.
91
92         * WebKitSupport/InputHandler.cpp:
93         (BlackBerry::WebKit::InputHandler::updateFormState):
94
95 2013-02-25  Tiancheng Jiang  <tijiang@rim.com>
96
97         [BlackBerry]Adjust fatfinger detection rect size.
98         https://bugs.webkit.org/show_bug.cgi?id=108678
99
100         Reviewed by Rob Buis.
101
102         Fix a typo in function names.
103
104         * WebKitSupport/FatFingers.cpp:
105         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
106
107 2013-02-25  Alberto Garcia  <albgarcia@rim.com>
108
109         [BlackBerry] ChromeClientBlackBerry: fix variable names
110         https://bugs.webkit.org/show_bug.cgi?id=110562
111
112         Reviewed by Rob Buis.
113
114         manager was incorrectly renamed back to tracker in r138696:
115         http://trac.webkit.org/changeset/138696/trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
116
117         * WebCoreSupport/ChromeClientBlackBerry.cpp:
118         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
119
120 2013-02-24  Alberto Garcia  <albgarcia@rim.com>
121
122         [BlackBerry] GeolocationClientBlackBerry: add missing headers
123         https://bugs.webkit.org/show_bug.cgi?id=110563
124
125         Reviewed by Benjamin Poulain.
126
127         Frame.h and SecurityOrigin.h are necessary since r136969.
128         GeolocationPosition.h since r132360.
129
130         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
131
132 2013-02-24  Alberto Garcia  <albgarcia@rim.com>
133
134         [BlackBerry] FatFingers: move rectForPoint() from HitTestResult to HitTestLocation
135         https://bugs.webkit.org/show_bug.cgi?id=110570
136
137         Reviewed by Allan Sandfeld Jensen.
138
139         HitTestResult is no longer a HitTestLocation:
140         http://trac.webkit.org/changeset/135710/trunk/Source/WebCore/rendering/HitTestResult.h
141
142         * WebKitSupport/FatFingers.cpp:
143         (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
144
145 2013-02-22  Mike Fenton  <mifenton@rim.com>
146
147         [BlackBerry] Eliminate invalid clipping for content editable selections
148         https://bugs.webkit.org/show_bug.cgi?id=110630
149
150         Reviewed by Rob Buis.
151
152         PR 284629.
153
154         Remove selection clipping for content editable
155         fields as the bounds aren't valid and cause
156         clipping based on starting node rather than the
157         union of nodes.
158
159         Reviewed Internally by Nima Ghanavatian.
160
161         * WebKitSupport/InputHandler.cpp:
162         (BlackBerry::WebKit::InputHandler::updateFormState):
163         * WebKitSupport/SelectionHandler.cpp:
164         (BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):
165
166 2013-02-22  Tiancheng Jiang  <tijiang@rim.com>
167
168         [BlackBerry]Adjust fatfinger detection rect size
169         https://bugs.webkit.org/show_bug.cgi?id=108678.
170
171         Reviewed by Antonio Gomes.
172
173         Changing HitTestRequest::IgnoreClipping does not solve the problem that
174         FatFinger rect detect the element out of the viewport. We have to clip
175         the fatfinger rect according to the current viewport size to avoid picking
176         the element out of the viewport.
177
178         * WebKitSupport/FatFingers.cpp:
179         (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
180         (BlackBerry::WebKit::FatFingers::findBestPoint):
181         (BlackBerry::WebKit::FatFingers::getAdjustedPaddings):
182         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
183         * WebKitSupport/FatFingers.h:
184
185 2013-02-22  Mike Fenton  <mifenton@rim.com>
186
187         [BlackBerry] Accept key events even when composing region is active.
188         https://bugs.webkit.org/show_bug.cgi?id=110617
189
190         Reviewed by Rob Buis.
191
192         PR 293598.
193
194         Don't reject key events that arrive when composing region is active,
195         this can prevent navigation events from firing, instead end
196         the composition and process the key.
197
198         Reviewed Internally by Nima Ghanavatian.
199
200         * WebKitSupport/InputHandler.cpp:
201         (BlackBerry::WebKit::InputHandler::updateFormState):
202
203 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
204
205         [BlackBerry] Rename first/second to key/value in HashMap iterators
206         https://bugs.webkit.org/show_bug.cgi?id=110577
207
208         Reviewed by Rob Buis.
209
210         Iterators were renamed to key/value in r130612.
211
212         * WebKitSupport/NotificationManager.cpp:
213         (BlackBerry::WebKit::NotificationManager::show):
214         (BlackBerry::WebKit::NotificationManager::clearNotifications):
215         (BlackBerry::WebKit::NotificationManager::removeNotificationFromContextMap):
216
217 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
218
219         [BlackBerry] Remove ProtocolHandler methods from ChromeClientBlackBerry
220         https://bugs.webkit.org/show_bug.cgi?id=110567
221
222         Reviewed by Rob Buis.
223
224         They were removed from ChromeClient in r122810 and are now
225         implemented in NavigatorContentUtilsClientBlackBerry since r131056.
226
227         * WebCoreSupport/ChromeClientBlackBerry.cpp:
228         * WebCoreSupport/ChromeClientBlackBerry.h:
229         (ChromeClientBlackBerry):
230
231 2013-02-22  Xan Lopez  <xlopez@rim.com>
232
233         [BlackBerry] DomSupport: use NodeTraversal APIs
234         https://bugs.webkit.org/show_bug.cgi?id=110467
235
236         Reviewed by Antonio Gomes.
237
238         * WebKitSupport/DOMSupport.cpp:
239         (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
240
241 2013-02-21  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
242
243         Allow to retrieve the request data from abstract TextCheckingRequest to be accessible for WK2
244         https://bugs.webkit.org/show_bug.cgi?id=110208
245
246         Reviewed by Hajime Morrita.
247
248         * WebKitSupport/InputHandler.cpp:
249         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
250         Extract the request data as it is the member of 'TextCheckingRequest'.
251
252 2013-02-21  Andrew Lo  <anlo@rim.com>
253
254         [BlackBerry] WebPagePrivate::load should not check new window policy
255         https://bugs.webkit.org/show_bug.cgi?id=110403
256
257         Reviewed by Rob Buis.
258
259         Based on my understanding of changeset 135952, we should
260         not check the new window policy in WebPagePrivate::load.
261
262         None of the other ports seem to do this, except for plugins.
263
264         * Api/WebPage.cpp:
265         (BlackBerry::WebKit::WebPagePrivate::load):
266
267 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
268
269         [BlackBerry] BackingStore: replace instrument{Begin,Cancel}Frame with did{Begin,Cancel}Frame
270         https://bugs.webkit.org/show_bug.cgi?id=110460
271
272         Reviewed by Rob Buis.
273
274         This was renamed incorrectly in r142879.
275
276         * Api/BackingStore.cpp:
277         (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
278         (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
279
280 2013-02-21  Carlos Garcia Campos  <cargarcia@rim.com>
281
282         [BlackBerry] Extra ResourceRequest parameter in FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload
283         https://bugs.webkit.org/show_bug.cgi?id=110451
284
285         Reviewed by Rob Buis.
286
287         Remove the extra ResourceRequest parameter from
288         FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload.
289
290         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
291         (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
292         * WebCoreSupport/FrameLoaderClientBlackBerry.h:
293         (FrameLoaderClientBlackBerry):
294
295 2013-02-21  Xan Lopez  <xlopez@rim.com>
296
297         [BlackBerry] Adapt to name changes in WebCore::ViewPortArguments
298         https://bugs.webkit.org/show_bug.cgi?id=110469
299
300         Reviewed by Rob Buis.
301
302         This changed in r134765.
303
304         * Api/WebViewportArguments.cpp:
305         (BlackBerry::WebKit::WebViewportArguments::zoom):
306         (BlackBerry::WebKit::WebViewportArguments::setZoom):
307         (BlackBerry::WebKit::WebViewportArguments::minZoom):
308         (BlackBerry::WebKit::WebViewportArguments::setMinZoom):
309         (BlackBerry::WebKit::WebViewportArguments::maxZoom):
310         (BlackBerry::WebKit::WebViewportArguments::setMaxZoom):
311         (BlackBerry::WebKit::WebViewportArguments::userZoom):
312         (BlackBerry::WebKit::WebViewportArguments::setUserZoom):
313         * Api/WebViewportArguments.h:
314         * WebCoreSupport/ChromeClientBlackBerry.cpp:
315         (WebCore::ChromeClientBlackBerry::didSetSVGZoomAndPan):
316
317 2013-02-21  Jakob Petsovits  <jpetsovits@rim.com>
318
319         [BlackBerry] Move posting and scrollbar updates to the page client.
320         https://bugs.webkit.org/show_bug.cgi?id=110256
321         Internal PR 297099
322
323         Reviewed by Rob Buis.
324
325         In blitVisibleContents(), we were calling the WebKit thread
326         functions BackingStorePrivate::isScrollingOrZooming() and
327         WebPage::isVisible(). This is not the right spot to do it.
328         Furthermore, we want to move away from direct window access
329         in WebKit and leave that kind of dirtywork to the client.
330
331         This patch removes invalidateWindow() as well as the two
332         virtual scrollbar drawing functions and replaces it with
333         one new virtual, WebPageClient::postToSurface().
334         This clears up threading issues and gets us another step
335         further towards pure WebPageCompositor rendering.
336
337         * Api/BackingStore.cpp:
338         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
339         * Api/BackingStore_p.h:
340         (BackingStorePrivate):
341         * Api/WebPageClient.h:
342
343 2013-02-21  Carlos Garcia Campos  <cargarcia@rim.com>
344
345         [BlackBerry] Rename Localizer to Locale
346         https://bugs.webkit.org/show_bug.cgi?id=110449
347
348         Reviewed by Rob Buis.
349
350         * WebCoreSupport/ColorPickerClient.cpp:
351         (WebCore::ColorPickerClient::locale):
352         * WebCoreSupport/ColorPickerClient.h:
353         (ColorPickerClient):
354         * WebCoreSupport/DatePickerClient.cpp:
355         (WebCore::DatePickerClient::locale):
356         * WebCoreSupport/DatePickerClient.h:
357         (DatePickerClient):
358         * WebCoreSupport/SelectPopupClient.cpp:
359         (WebCore::SelectPopupClient::locale):
360         * WebCoreSupport/SelectPopupClient.h:
361         (SelectPopupClient):
362
363 2013-02-21  Carlos Garcia Campos  <cargarcia@rim.com>
364
365         [BlackBerry] Invalid use of COMPILE_ASSERT macro in WebKitTextCodec.cpp
366         https://bugs.webkit.org/show_bug.cgi?id=110437
367
368         Reviewed by Yong Li.
369
370         * Api/WebKitTextCodec.cpp:
371         (WebKit): Define COMPILE_ASSERT_MATCHING_ENUM() macro and use it to
372         check enum values match between WebKit and WTF.
373         (BlackBerry::WebKit::base64Decode): Use a static cast directly to
374         convert from WebKit Base64DecodePolicy to WTF.
375         (BlackBerry::WebKit::base64Encode): Use a static cast directly to
376         convert from WebKit Base64EncodePolicy to WTF.
377
378 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
379
380         [BlackBerry] Element::getAttributeItem() no longer returns a mutable attribute
381         https://bugs.webkit.org/show_bug.cgi?id=110439
382
383         Reviewed by Antonio Gomes.
384
385         This was changed in r142827.
386
387         * Api/WebPage.cpp:
388         (BlackBerry::WebKit::WebPagePrivate::webContext):
389
390 2013-02-21  Alberto Garcia  <albgarcia@rim.com>
391
392         [BlackBerry] willComposite() and didComposite() are now in InspectorController
393         https://bugs.webkit.org/show_bug.cgi?id=110343
394
395         Reviewed by Carlos Garcia Campos.
396
397         This was changed in r142879.
398
399         * Api/WebPage.cpp:
400         (BlackBerry::WebKit::WebPagePrivate::willComposite):
401         (BlackBerry::WebKit::WebPagePrivate::didComposite):
402
403 2013-02-20  Nima Ghanavatian  <nghanavatian@rim.com>
404
405         [BlackBerry] Check offset for initialized value
406         https://bugs.webkit.org/show_bug.cgi?id=110390
407
408         Reviewed by Rob Buis.
409
410         Instead of checking isEmpty, which checks for either point being <= 0, we want to explicitly check
411         for the initialized value of (-1, -1). This would be set in redrawSpellCheckDialogIfRequired, and
412         triggers the restore from cache in requestSpellingCheckingOptions.
413
414         Internally reviewed by Gen Mak.
415
416         * WebKitSupport/InputHandler.cpp:
417         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
418
419 2013-02-20  Jakob Petsovits  <jpetsovits@rim.com>
420
421         [BlackBerry] Make sure to always sync before reusing backingstore tiles.
422         https://bugs.webkit.org/show_bug.cgi?id=109863
423         PR 296118
424
425         Reviewed by Rob Buis.
426         Internally reviewed by Mike Lattanzio and Konrad Piascik.
427
428         In SVN r142137, I replaced a syncToCurrentMessage() call
429         with updateSuspendScreenUpdateState() in some cases,
430         which internally calls the same function.
431
432         Unfortunately, when I optimized updateSuspendScreenUpdateState()
433         to only sync when the state is actually being changed,
434         I omitted an adaptation of adoptAsFrontState() which would
435         rely on this sync but now didn't always perform it.
436
437         This caused a bad race condition as tile buffers could now
438         be accessed from the WebKit thread and the UI thread at
439         the same time. Fix it by (optionally) letting the caller
440         of updateSuspendScreenUpdateState() know whether a sync
441         was performed, and adapt adoptAsFrontState() accordingly.
442
443         Also fixes some excessive flicker caused by the same
444         race condition.
445
446         * Api/BackingStore.cpp:
447         (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
448         (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
449         * Api/BackingStore_p.h:
450
451 2013-02-20  Yongxin Dai  <yodai@rim.com>
452
453         [BlackBerry] Read "data-blackberry-text-selection-handle-position" attribute from element
454         https://bugs.webkit.org/show_bug.cgi?id=110235
455
456         Reviewed by Yong Li.
457
458         PR #257207.
459
460         Read "data-blackberry-text-selection-handle-position" attribute from element and pass it along
461         with notifySelectionDetailsChanged(). If "data-blackberry-text-selection-handle-position" attribute
462         is specified in the element, the selection handle is always flipped to the required position.
463         along with selected text within element.
464
465         Reviewed Internally by Mike Fenton.
466
467         * Api/WebPageClient.h:
468         * WebKitSupport/DOMSupport.cpp:
469         (BlackBerry::WebKit::DOMSupport::selectionContainerElement):
470         (DOMSupport):
471         (BlackBerry::WebKit::DOMSupport::elementHandlePositionAttribute):
472         * WebKitSupport/DOMSupport.h:
473         * WebKitSupport/SelectionHandler.cpp:
474         (BlackBerry::WebKit::SelectionHandler::requestedSelectionHandlePosition):
475         (WebKit):
476         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
477         * WebKitSupport/SelectionHandler.h:
478         (SelectionHandler):
479
480 2013-02-20  Alberto Garcia  <albgarcia@rim.com>
481
482         [BlackBerry] Fix usage of HitTestRequest::RequestType
483         https://bugs.webkit.org/show_bug.cgi?id=110342
484
485         Reviewed by Carlos Garcia Campos.
486
487         Rename HitTestResult::* -> HitTestRequest::*
488         This was introduced by mistake in r142977.
489
490         * Api/WebPage.cpp:
491         (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
492
493 2013-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
494
495         Unreviewed BlackBerry build fix.
496
497         WebPage::download was renamed in the header by mistake to
498         convertMainResourceLoadToDownload in r137845.
499
500         * Api/WebPage.h:
501
502 2013-02-19  Nima Ghanavatian  <nghanavatian@rim.com>
503
504         [BlackBerry] Appropriately handle word wrapping in SpellingHandler
505         https://bugs.webkit.org/show_bug.cgi?id=110253
506
507         Reviewed by Rob Buis.
508
509         PR286001
510         Since we traverse through text by visual lines instead of blocks, word wrapping causes some
511         bad behavior. Changing the way we traverse text to jump by words instead of lines. This will
512         mean it takes longer to finish spellchecking, but the removal of any loops allows webkit
513         processing to continue. This gives priority to user actions while still completing a large
514         paragraph in a reasonable amount of time.
515
516         Internally reviewed by Mike Fenton
517
518         * WebKitSupport/InputHandler.cpp:
519         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
520         * WebKitSupport/SpellingHandler.cpp:
521         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
522         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
523         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
524         (BlackBerry::WebKit::SpellingHandler::startOfNextWord):
525         (WebKit):
526         (BlackBerry::WebKit::SpellingHandler::incrementByWord):
527         (BlackBerry::WebKit::SpellingHandler::doesWordWrap):
528         * WebKitSupport/SpellingHandler.h:
529         (SpellingHandler):
530
531 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
532
533         Clean up the boolean argument to visibleContentRect
534         https://bugs.webkit.org/show_bug.cgi?id=110167
535
536         Reviewed by Simon Fraser.
537
538         Replace the boolean argument to visibleContentRect() with
539         an enum.
540
541         * Api/WebPage.cpp:
542         (BlackBerry::WebKit::WebPagePrivate::getRecursiveVisibleWindowRect):
543         * WebKitSupport/InRegionScrollableArea.cpp:
544         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
545
546 2013-02-15  Keishi Hattori  <keishi@webkit.org>
547
548         Add setValue and closePopup methods to PagePopupController
549         https://bugs.webkit.org/show_bug.cgi?id=109897
550
551         Reviewed by Kent Tamura.
552
553         * WebCoreSupport/ColorPickerClient.cpp:
554         (WebCore::ColorPickerClient::setValue): Added empty implementation.
555         (WebCore):
556         * WebCoreSupport/ColorPickerClient.h:
557         (ColorPickerClient):
558         * WebCoreSupport/DatePickerClient.cpp:
559         (WebCore::DatePickerClient::setValue): Ditto.
560         (WebCore):
561         * WebCoreSupport/DatePickerClient.h:
562         (DatePickerClient):
563         * WebCoreSupport/SelectPopupClient.cpp:
564         (WebCore::SelectPopupClient::setValue): Ditto.
565         (WebCore):
566         * WebCoreSupport/SelectPopupClient.h:
567         (SelectPopupClient):
568
569 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
570
571         Simplify hitTestResultAtPoint and nodesFromRect APIs
572         https://bugs.webkit.org/show_bug.cgi?id=95720
573
574         Reviewed by Julien Chaffraix.
575
576         Update calls to new API.
577
578         * Api/WebPage.cpp:
579         (BlackBerry::WebKit::WebPagePrivate::contextNode):
580         (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
581         (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
582         (BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
583         (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
584         * WebKitSupport/SelectionHandler.cpp:
585         (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
586
587 2013-02-14  Mike Fenton  <mifenton@rim.com>
588
589         [BlackBerry] Update keyboard event details to match platform details.
590         https://bugs.webkit.org/show_bug.cgi?id=109693
591
592         Reviewed by Yong Li.
593
594         PR 220170.
595
596         When re-creating the Platform::Keyboard event ensure
597         all values are updated.
598
599         Reviewed Internally by Nima Ghanavatian.
600
601         * WebKitSupport/InputHandler.cpp:
602         (BlackBerry::WebKit::InputHandler::updateFormState):
603
604 2013-02-14  Mike Fenton  <mifenton@rim.com>
605
606         [BlackBerry] Update keyboard event details to match platform details.
607         https://bugs.webkit.org/show_bug.cgi?id=109693
608
609         Reviewed by Yong Li.
610
611         PR 220170.
612
613         Update keyboard event details.
614
615         Reviewed Internally by Nima Ghanavatian and Gen Mak.
616
617         * Api/WebPage.cpp:
618         (BlackBerry::WebKit::WebPage::keyEvent):
619
620 2013-02-08  Andrey Kosyakov  <caseq@chromium.org>
621
622         Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
623         https://bugs.webkit.org/show_bug.cgi?id=109192
624
625         Reviewed by Pavel Feldman.
626
627         - invoke frame instrumentation methods on InspectorController, not on InspectorInstrumentation.
628
629         * Api/BackingStore.cpp:
630         (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
631         (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
632
633 2013-02-12  Jakob Petsovits  <jpetsovits@rim.com>
634
635         [BlackBerry] Assume setScrollingOrZooming() to be called on the WebKit thread.
636         https://bugs.webkit.org/show_bug.cgi?id=109614
637         Internal PR 294513
638
639         Reviewed by Rob Buis.
640         Internally reviewed by Arvid Nilsson.
641
642         With this further simplification of threading assumptions,
643         we can get rid of atomic integer access as well as the
644         backing store mutex which was otherwise unused.
645
646         * Api/BackingStore.cpp:
647         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
648         (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
649         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
650         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
651         (BlackBerry::WebKit::BackingStorePrivate::isScrollingOrZooming):
652         (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
653         * Api/BackingStore_p.h:
654         (BackingStorePrivate):
655
656 2013-02-12  Jakob Petsovits  <jpetsovits@rim.com>
657
658         [BlackBerry] Eliminate the direct rendering option.
659         https://bugs.webkit.org/show_bug.cgi?id=109608
660         RIM PR 293298
661
662         Reviewed by Rob Buis.
663         Internally reviewed by Arvid Nilsson.
664
665         It added a lot of complexity and we're not going to use it anymore.
666         This patch removes direct rendering functionality from
667         WebKit/blackberry together with the assumption that blitting on the
668         WebKit thread is possible or acceptable. It now isn't anymore.
669
670         * Api/BackingStore.cpp:
671         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
672         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
673         (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
674         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
675         (BlackBerry::WebKit::BackingStorePrivate::scroll):
676         (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
677         (BlackBerry::WebKit::BackingStorePrivate::render):
678         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
679         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
680         (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
681         (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
682         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
683         (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
684         (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
685         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
686         * Api/BackingStore.h:
687         * Api/BackingStore_p.h:
688         (BackingStorePrivate):
689         * Api/WebPage.cpp:
690         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
691         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
692         (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
693         (WebKit):
694         (BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
695         * Api/WebPageCompositor.cpp:
696         (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
697         * Api/WebPage_p.h:
698         (WebPagePrivate):
699         * Api/WebSettings.cpp:
700         (WebKit):
701         * Api/WebSettings.h:
702         * WebKitSupport/RenderQueue.cpp:
703         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
704         (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
705         * WebKitSupport/SurfacePool.cpp:
706         (BlackBerry::WebKit::SurfacePool::initialize):
707
708 2013-02-12  Andrew Lo  <anlo@rim.com>
709
710         [BlackBerry] CSS animations stop running during zoom
711         https://bugs.webkit.org/show_bug.cgi?id=109606
712
713         Reviewed by Rob Buis.
714         Internally reviewed by Jakob Petsovits.
715
716         Internal PR 286160.
717         New BackingStore API for suspending/resuming geometry updates.
718
719         This is needed because we want to allow render jobs to continue during
720         zoom, but we don't want to allow geometry updates during zoom.
721
722         Prevent scroll/zoom render jobs from being added to the queue if
723         the tile is outside the expanded content rect.
724
725         * Api/BackingStore.cpp:
726         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
727         (BlackBerry::WebKit::BackingStorePrivate::suspendGeometryUpdates):
728         (WebKit):
729         (BlackBerry::WebKit::BackingStorePrivate::resumeGeometryUpdates):
730         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
731         (BlackBerry::WebKit::BackingStore::suspendGeometryUpdates):
732         (BlackBerry::WebKit::BackingStore::resumeGeometryUpdates):
733         * Api/BackingStore.h:
734         * Api/BackingStore_p.h:
735         (BackingStorePrivate):
736         * WebKitSupport/RenderQueue.cpp:
737         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
738
739 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
740
741         Remove remaining traces of Web Intents
742         https://bugs.webkit.org/show_bug.cgi?id=109586
743
744         Reviewed by Eric Seidel.
745
746         Remove remaining traces of Web Intents from Blackberry port
747         configuration as the functionality was removed in r142549.
748
749         * WebCoreSupport/AboutDataEnableFeatures.in:
750
751 2013-02-12  Zan Dobersek  <zdobersek@igalia.com>
752
753         Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
754         https://bugs.webkit.org/show_bug.cgi?id=109481
755
756         Reviewed by Daniel Bates.
757
758         The ENABLE_XHR_RESPONSE_BLOB feature define was removed from the code
759         back in r120574. There are still occurrences of it in various build systems
760         which should all be removed as they are useless.
761
762         * WebCoreSupport/AboutDataEnableFeatures.in:
763
764 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
765
766         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
767         https://bugs.webkit.org/show_bug.cgi?id=109534
768
769         Reviewed by Anders Carlsson.
770
771         * WebCoreSupport/EditorClientBlackBerry.cpp:
772         (WebCore):
773         * WebCoreSupport/EditorClientBlackBerry.h:
774         (EditorClientBlackBerry):
775
776 2013-02-11  Mike Fenton  <mifenton@rim.com>
777
778         [BlackBerry] Add form navigation control state tracking.
779         https://bugs.webkit.org/show_bug.cgi?id=109300
780
781         Reviewed by Rob Buis.
782
783         Add form navigation control state tracking.
784
785         * Api/WebPage.cpp:
786         (BlackBerry::WebKit::WebPage::focusNextField):
787         (WebKit):
788         (BlackBerry::WebKit::WebPage::focusPreviousField):
789         (BlackBerry::WebKit::WebPage::submitForm):
790         * Api/WebPage.h:
791         * Api/WebPageClient.h:
792         * WebKitSupport/InputHandler.cpp:
793         (BlackBerry::WebKit::InputHandler::InputHandler):
794         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
795         (BlackBerry::WebKit::InputHandler::updateFormState):
796         * WebKitSupport/InputHandler.h:
797         (InputHandler):
798
799 2013-02-09  Tiancheng Jiang  <tijiang@rim.com>
800
801         [BlackBerry] Set mouse document position for mouse event in updateCursor.
802         https://bugs.webkit.org/show_bug.cgi?id=109094.
803
804         Reviewed by Rob Buis.
805
806         RIM PR 246976
807         Internally Reviewed by Genevieve Mak.
808
809         BlackBerry::Platform::MouseEvent have document viewport and document
810         content position as members. When we create the event, we should initial
811         them as well.
812
813         * Api/WebPage.cpp:
814         (BlackBerry::WebKit::WebPagePrivate::updateCursor):
815
816 2013-02-07  Charles Wei  <charles.wei@torchmobile.com.cn>
817
818         webpage needs null check in BackingStore::setCurrentBackingStoreOwner
819         https://bugs.webkit.org/show_bug.cgi?id=109253
820
821         Reviewed by George Staikos.
822
823         * Api/BackingStore.cpp:
824         (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
825
826 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
827
828         [BlackBerry] Enable non-video element enter/exit fullscreen.
829         https://bugs.webkit.org/show_bug.cgi?id=108314
830
831         Reviewed by Antonio Gomes.
832
833         Webkit support non-video element (like div) to enter/exit
834         fullscreen. We should pass this capability in blackberry porting.
835
836         RIM PR 256370, internally reviewed by Max Feil.
837
838         * Api/WebPage.cpp:
839         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
840         (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
841         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
842         (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
843         (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
844         (BlackBerry::WebKit::WebPagePrivate::exitFullscreenForNode):
845         (WebKit):
846         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
847         (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
848         (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
849         * Api/WebPage_p.h:
850         (WebPagePrivate):
851
852 2013-02-07  Jakob Petsovits  <jpetsovits@rim.com>
853
854         [BlackBerry] Fix all flicker caused by empty/incomplete geometries.
855         https://bugs.webkit.org/show_bug.cgi?id=108951
856         RIM PR 286925
857
858         Reviewed by Rob Buis.
859         Internally reviewed by Arvid Nilsson.
860
861         The main idea for this patch is that whenever we adopt
862         a new backingstore geometry that doesn't contain any
863         rendered tiles, or VisibleZoom render jobs that need more
864         tiles to be rendered to be considered complete, we'll then
865         suspend blitting until there is valid content to show.
866
867         This main idea is codified as checks for empty buffers
868         in adoptAsFrontState(), and checks for the current state
869         of the render queue after rendering content in render().
870         However, as BackingStore objects with disabled surface pools
871         or pure use of accelerated compositing also swap geometries
872         in some circumstances, the use of suspend counters grows
873         increasingly fragile.
874
875         To make this patch more resilient against regressions,
876         the current suspend counter is complemented with several
877         explicit conditions for suspending screen updates,
878         and both subsequently combined into a single cached
879         boolean value telling the UI thread whether or not to
880         suspend. In the future, other suspend calls can be
881         migrated to this "state machine" design as well,
882         potentially phasing out the suspend counter altogether.
883
884         The immediate result is that there will be no flashing
885         of background color between page loads or after discarding
886         tiles on scale changes until the content has been rendered.
887
888         * Api/BackingStore.cpp:
889         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
890         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
891         (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
892         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
893         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
894         (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
895         (WebKit):
896         (BlackBerry::WebKit::BackingStorePrivate::render):
897         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
898         (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
899         (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
900         (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
901         * Api/BackingStore_p.h:
902         (BackingStorePrivate):
903         * Api/WebPage.cpp:
904         (BlackBerry::WebKit::WebPagePrivate::setVisible):
905         (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
906
907 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
908
909         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
910         https://bugs.webkit.org/show_bug.cgi?id=109126
911         PR 292540
912
913         Reviewed by Yong Li.
914         Internally reviewed by Mike Fenton.
915
916         Key char is UTF32 encoded, should be 4 bytes.
917
918         * Api/WebPage.cpp:
919         (BlackBerry::WebKit::handleScrolling):
920         * WebKitSupport/InputHandler.cpp:
921         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
922         * WebKitSupport/InputHandler.h:
923         (InputHandler):
924         * WebKitSupport/SelectionHandler.cpp:
925         (BlackBerry::WebKit::directionOfPointRelativeToRect):
926         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
927         (BlackBerry::WebKit::shouldExtendSelectionInDirection):
928         (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
929         (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
930         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
931         * WebKitSupport/SelectionHandler.h:
932         (SelectionHandler):
933
934 2013-02-07  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
935
936         [BlackBerry] Reader Mode: Opening two links quickly from reader mode causes browser bad state
937         https://bugs.webkit.org/show_bug.cgi?id=109124
938
939         Reviewed by Yong Li.
940
941         RIM BUG 291246 Internally reviewed by YongLi.
942         Move the WebPageGroupLoadDeferrer object from ChromeClientBlackBerry::createWindow()
943         into WebPageClientImpl::createWindow() to make it more close to its protecting place.
944
945         * WebCoreSupport/ChromeClientBlackBerry.cpp:
946         (WebCore::ChromeClientBlackBerry::createWindow):
947
948 2013-02-07  Mike Fenton  <mifenton@rim.com>
949
950         [BlackBerry] Send type details with IMF mask as part of focus gained.
951         https://bugs.webkit.org/show_bug.cgi?id=109086
952
953         Reviewed by Yong Li.
954
955         PR 292609.
956
957         Add masking options based on VKB type to the IMF mask.
958
959         Reviewed Internally by Nima Ghanavatian.
960
961         * WebKitSupport/InputHandler.cpp:
962         (BlackBerry::WebKit::addInputStyleMaskForKeyboardType):
963         (WebKit):
964         (BlackBerry::WebKit::InputHandler::setElementFocused):
965
966 2013-02-06  Jakob Petsovits  <jpetsovits@rim.com>
967
968         [BlackBerry] Refactor renderContents() for cleaner code.
969         https://bugs.webkit.org/show_bug.cgi?id=109059
970         RIM PR 280374
971
972         Reviewed by Rob Buis.
973         Internally reviewed by Arvid Nilsson.
974
975         The fact that we've got two renderContents() implementations
976         in BackingStore.cpp, one of which was tailored to just
977         being called from drawContents(), is a major annoyance.
978
979         With this patch, the regular renderContents() is modified
980         in a way so that drawContents() can make use of it as well.
981         This includes an API change for both functions which makes
982         it more flexible and enables further cleanups and improvements
983         to accuracy. The second, unloved renderContents() is removed.
984
985         The user-visible changes are improved (float) accuracy for
986         render offsets, clipping to exactly the dstRect that has
987         been specified, and the changed public drawContents() API.
988
989         * Api/BackingStore.cpp:
990         (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
991         (BlackBerry::WebKit::BackingStorePrivate::render):
992         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
993         (BlackBerry::WebKit::BackingStore::drawContents):
994         * Api/BackingStore.h:
995         (Platform):
996         (Graphics):
997         * Api/BackingStore_p.h:
998         (WebCore):
999         (BackingStorePrivate):
1000         * WebKitSupport/SurfacePool.cpp:
1001         (BlackBerry::WebKit::SurfacePool::SurfacePool):
1002         (BlackBerry::WebKit::SurfacePool::initialize):
1003         (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
1004         * WebKitSupport/SurfacePool.h:
1005         (SurfacePool):
1006
1007 2013-02-06  Nima Ghanavatian  <nghanavatian@rim.com>
1008
1009         [BlackBerry] Check range before use in parseBlockForSpellChecking
1010         https://bugs.webkit.org/show_bug.cgi?id=109080
1011
1012         Reviewed by Yong Li.
1013
1014         PR291394
1015         This was missed during patch webkit/5aea04f6ea625827. Since getRangeForSpellCheckWithFineGranularity
1016         now returns null values, we need a check here before using the range object here as well.
1017
1018         Internally reviewed by Mike Fenton.
1019
1020         * WebKitSupport/SpellingHandler.cpp:
1021         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1022
1023 2013-02-06  Nima Ghanavatian  <nghanavatian@rim.com>
1024
1025         [BlackBerry] Check for a valid range object before using it
1026         https://bugs.webkit.org/show_bug.cgi?id=109058
1027
1028         Reviewed by Rob Buis.
1029
1030         PR291394
1031         Crash occurs if makeRange returns null, since we are using this value without checking
1032         its validity. We had an assert before which I'm replacing with just a check for null.
1033
1034         Internally reviewed by Mike Fenton.
1035
1036         * WebKitSupport/SpellingHandler.cpp:
1037         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
1038
1039 2013-02-05  Andrew Lo  <anlo@rim.com>
1040
1041         [BlackBerry] Scrolling performance drops doing page load
1042         https://bugs.webkit.org/show_bug.cgi?id=108949
1043
1044         Reviewed by Yong Li.
1045         Internally reviewed by Jakob Petsovits.
1046
1047         Internal PR 291390.
1048         The intention of this code was to not update non-visible tiles during page load.
1049
1050         Before this patch, the code would update tiles that have already been rendered
1051         during page load.
1052
1053         * Api/BackingStore.cpp:
1054         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
1055
1056 2013-02-04  Tiancheng Jiang  <tijiang@rim.com>
1057
1058         [BlackBerry]Adjust fatfinger detection rect size
1059         https://bugs.webkit.org/show_bug.cgi?id=108678
1060
1061         Reviewed by Antonio Gomes.
1062         RIM Bug 246976
1063
1064         We still need to clip the fatfinger detection rect to the viewport to
1065         avoid wrong hitTest result.
1066
1067         * Api/WebPage.cpp:
1068         (BlackBerry::WebKit::WebPage::mouseEvent):
1069         * WebKitSupport/FatFingers.cpp:
1070         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
1071
1072 2013-02-04  Abhishek Arya  <inferno@chromium.org>
1073
1074         Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad cast in DOM, CSS, etc.
1075         https://bugs.webkit.org/show_bug.cgi?id=108688
1076
1077         Reviewed by Eric Seidel.
1078
1079         * Api/WebPage.cpp:
1080         (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
1081         * WebKitSupport/FatFingers.cpp:
1082         (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
1083
1084 2013-02-04  Andrew Lo  <anlo@rim.com>
1085
1086         [BlackBerry] Needs one-shot drawing synchronization flag should be set before rendering when resuming the backing store
1087         https://bugs.webkit.org/show_bug.cgi?id=108760
1088
1089         Reviewed by Yong Li.
1090         Internally reviewed by Arvid Nilsson.
1091
1092         Internal PR 286218.
1093         When acquiring the backing store ownership in WebPagePrivate::resumeBackingStore
1094         we need to set the needs one-shot drawing synchronization flag
1095         before rendering, so that when the render is completed we
1096         commit the root layer.
1097
1098         * Api/WebPage.cpp:
1099         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
1100
1101 2013-02-03  KwangYong Choi  <ky0.choi@samsung.com>
1102
1103         Fix build warning after r141473
1104         https://bugs.webkit.org/show_bug.cgi?id=108782
1105
1106         Reviewed by Kentaro Hara.
1107
1108         Fix -Wunused-parameter build warning.
1109
1110         * WebCoreSupport/EditorClientBlackBerry.cpp:
1111         (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
1112
1113 2013-02-01  Jacky Jiang  <zhajiang@rim.com>
1114
1115         [BlackBerry] Zooming in during page load of non-scalable webpage results in fixed magnification
1116         https://bugs.webkit.org/show_bug.cgi?id=108252
1117
1118         Reviewed by Yong Li.
1119         Internally reviewed by Konrad Piascik.
1120
1121         PR: 284828
1122         We got float layoutSize(342.284122, 521.448467) and
1123         m_maximumScale(2.243750) after computing viewport meta based on the
1124         device pixel ratio and laid out the contents at IntSize(342, 521).
1125         Therefore, zoomToFitScale(2.245681) would be a bit larger than
1126         m_maximumScale based on that contents size and resulted in
1127         maximumScale()!=minimumScale(), which made the non-scalable page
1128         scalable.
1129         Return zoomToFitScale for maximumScale() in such kind of case.
1130
1131         * Api/WebPage.cpp:
1132         (BlackBerry::WebKit::WebPagePrivate::maximumScale):
1133
1134 2013-02-01  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1135
1136         [BlackBerry] InputHandler status is not restored when page history goes back
1137         https://bugs.webkit.org/show_bug.cgi?id=108448
1138
1139         Reviewed by Yong Li.
1140
1141         PR288406 Internally reviewed by Mike Fenton
1142
1143         When webpage goes back, it restores the old frame's selection and focused node,
1144         but we don't save the InputHandler's status, it becomes non-input mode when page
1145         goes back. When it restores the focus, since the new focus node is same as the old
1146         document focused node, webcore will not notify client to update the input handler.
1147
1148         This patch updates the input handler's status by notifying it focus node changed.
1149
1150
1151         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1152         (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
1153         * WebKitSupport/InputHandler.cpp:
1154         (BlackBerry::WebKit::InputHandler::restoreViewState):
1155         (WebKit):
1156         * WebKitSupport/InputHandler.h:
1157         (InputHandler):
1158
1159 2013-01-31  Jacky Jiang  <zhajiang@rim.com>
1160
1161         [BlackBerry] Bing Images viewport causes layout "fun"
1162         https://bugs.webkit.org/show_bug.cgi?id=108393
1163
1164         Reviewed by Yong Li.
1165         Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
1166
1167         PR: 277855
1168         Set applyPageScaleFactorInCompositor settting to false by default.
1169         Scale down chrome window rect to density-independent pixels.
1170
1171         * Api/WebPage.cpp:
1172         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
1173         * Api/WebSettings.cpp:
1174         (WebKit):
1175         (BlackBerry::WebKit::WebSettings::standardSettings):
1176         (BlackBerry::WebKit::WebSettings::applyDeviceScaleFactorInCompositor):
1177         (BlackBerry::WebKit::WebSettings::setApplyPageScaleFactorInCompositor):
1178         * Api/WebSettings.h:
1179         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1180         (WebCore::ChromeClientBlackBerry::windowRect):
1181
1182 2013-01-31  Enrica Casucci  <enrica@apple.com>
1183
1184         WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
1185         https://bugs.webkit.org/show_bug.cgi?id=108396.
1186         <rdar://problem/12920461>
1187
1188         Reviewed by Alexey Proskuryakov.
1189
1190         Adds stub implementation for WebKit of the new EditorClient methods.
1191
1192         * WebCoreSupport/EditorClientBlackBerry.cpp:
1193         (WebCore::EditorClientBlackBerry::willWriteSelectionToPasteboard):
1194         (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
1195         * WebCoreSupport/EditorClientBlackBerry.h:
1196
1197 2013-01-30  Ed Baker  <edbaker@rim.com>
1198
1199         [BlackBerry] Screenshot is clipped when content is smaller than the desintation size
1200         https://bugs.webkit.org/show_bug.cgi?id=107735
1201
1202         Reviewed by Rob Buis.
1203
1204         Internal PR #284662
1205         Don't scale the transformed content rect when the content is smaller than the destination
1206         size. Scale the graphics context when it has a scale factor that isn't 1.0.
1207
1208         Internally reviewed by Andrew Lo
1209
1210         * Api/BackingStore.cpp:
1211         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
1212
1213 2013-01-30  Xiaobo Wang  <xbwang@torchmobile.com.cn>
1214
1215         [BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
1216         https://bugs.webkit.org/show_bug.cgi?id=108281
1217         PR 284985
1218
1219         Reviewed by Rob Buis.
1220         Internally reviewed by Jacky Jiang.
1221
1222         Return correct fixedLayoutSize when overflow exceeds contents size.
1223
1224         * Api/WebPage.cpp:
1225         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
1226
1227 2013-01-30  Simon Hausmann  <simon.hausmann@digia.com>
1228
1229         [Qt] Remove QT4_UNICODE related code paths
1230         https://bugs.webkit.org/show_bug.cgi?id=108316
1231
1232         Reviewed by Kenneth Rohde Christiansen.
1233
1234         * WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.
1235
1236 2013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1237
1238         Unreviewed, rolling out r140983.
1239         http://trac.webkit.org/changeset/140983
1240         https://bugs.webkit.org/show_bug.cgi?id=108277
1241
1242         Unfortunately, this API has one last client (Requested by
1243         abarth on #webkit).
1244
1245         * WebCoreSupport/AboutDataEnableFeatures.in:
1246
1247 2013-01-28  Andrew Lo  <anlo@rim.com>
1248
1249         [BlackBerry] Small animated zoom level adjustments are unnecessary
1250         https://bugs.webkit.org/show_bug.cgi?id=108104
1251
1252         Reviewed by Rob Buis.
1253         Internally reviewed by Mike Fenton.
1254
1255         Internal PR 285861.
1256         If the difference between the target scale and current scale is
1257         less than a given threshold, don't perform a zoom animation.
1258
1259         * WebKitSupport/InputHandler.cpp:
1260         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
1261
1262 2013-01-28  Nima Ghanavatian  <nghanavatian@rim.com>
1263
1264         [BlackBerry] Reduce the region that is spellchecked on keystroke
1265         https://bugs.webkit.org/show_bug.cgi?id=108115
1266
1267         Reviewed by Rob Buis.
1268
1269         PR288217
1270         Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
1271         the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
1272         on focus, this dramatically reduces the region that is rechecked when a key is hit.
1273
1274         Internally reviewed by Mike Fenton.
1275
1276         * WebKitSupport/InputHandler.cpp:
1277         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
1278         * WebKitSupport/SpellingHandler.cpp:
1279         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
1280         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1281         * WebKitSupport/SpellingHandler.h:
1282         (SpellingHandler):
1283
1284 2013-01-28  Adam Barth  <abarth@webkit.org>
1285
1286         Remove webkitNotifications.createHTMLNotification
1287         https://bugs.webkit.org/show_bug.cgi?id=107598
1288
1289         Reviewed by Benjamin Poulain.
1290
1291         * WebCoreSupport/AboutDataEnableFeatures.in:
1292
1293 2013-01-28  Otto Derek Cheung  <otcheung@rim.com>
1294
1295         [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
1296         https://bugs.webkit.org/show_bug.cgi?id=108085
1297
1298         Reviewed by Rob Buis.
1299
1300         Fix a merge error that duplicated a function declaration in InputHandler.h.
1301
1302         * WebKitSupport/InputHandler.h:
1303
1304 2013-01-28  Otto Derek Cheung  <otcheung@rim.com>
1305
1306         [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
1307         https://bugs.webkit.org/show_bug.cgi?id=108085
1308         PR 286165
1309
1310         Reviewed by Rob Buis.
1311         Internally reviewed by Nima Ghanavatian.
1312
1313         Adding a check for the system spell check status in InputHandler::shouldSpellCheckElement so
1314         we won't bother sending a spellcheck request if system spell check is turned off.
1315
1316         However, on a fresh browser start up and on the first setElementFocus, the spellcheck value isn't defined yet.
1317         The first spell check request is therefore necessary to connect to imf to determine whether spell check is turned on.
1318         If spell check is turned off, we will turn spellinghandler off.
1319
1320         Tested the patch using a test site that contains editable text in text-areas and content-editable divs. Also tested on
1321         an extreme test case where we try to edit a content-editable div with 30000 characters. Confirmed spell-check requests are
1322         being canceled if system spell check is off.
1323
1324         In theory, this patch should also fix PR 284229 . However, because of issues with getting the system spell check values from IMF,
1325         additional work needs to be done for that PR. 
1326
1327         * Api/WebPage.cpp:
1328         (BlackBerry::WebKit::WebPage::setSpellCheckingEnabled):
1329         * WebKitSupport/InputHandler.cpp:
1330         (BlackBerry::WebKit::InputHandler::InputHandler):
1331         (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
1332         (WebKit):
1333         (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
1334         * WebKitSupport/InputHandler.h:
1335         (InputHandler):
1336         (BlackBerry::WebKit::InputHandler::setSystemSpellCheckStatus):
1337
1338 2013-01-25  Andrew Lo  <anlo@rim.com>
1339
1340         [BlackBerry] Pop-up WebViews should not take ownership of the backing store.
1341         https://bugs.webkit.org/show_bug.cgi?id=107957
1342
1343         Reviewed by Rob Buis.
1344         Internally reviewed by Jakob Petsovits.
1345
1346         Internal PR 274581.
1347         Add web setting for whether a WebPage should take the backing store.
1348         Prevent pop-up WebView from taking ownership of the backing
1349         store when it becomes visible.
1350
1351         * Api/WebPage.cpp:
1352         (BlackBerry::WebKit::WebPage::setVisible):
1353         * Api/WebSettings.cpp:
1354         (WebKit):
1355         (BlackBerry::WebKit::WebSettings::standardSettings):
1356         (BlackBerry::WebKit::WebSettings::isBackingStoreEnabled):
1357         (BlackBerry::WebKit::WebSettings::setBackingStoreEnabled):
1358         * Api/WebSettings.h:
1359         * WebCoreSupport/PagePopupBlackBerry.cpp:
1360         (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
1361         (WebCore::PagePopupBlackBerry::init):
1362
1363 2013-01-25  Arvid Nilsson  <anilsson@rim.com>
1364
1365         [BlackBerry] AC layers appear in the wrong place on RTL page
1366         https://bugs.webkit.org/show_bug.cgi?id=107930
1367
1368         Reviewed by George Staikos.
1369
1370         The public API of the BlackBerry port always reports a minimum scroll
1371         position of (0, 0), even on RTL pages with left overflow. We
1372         accomplish this by translating the WebCore scroll position by an
1373         amount equal in size to the minimum scroll position, to obtain the API
1374         scroll position reported to the API client.
1375
1376         This means the API client will ask us to render a rect that needs to
1377         be corrected for the minimum scroll position, or we'll render the wrong
1378         part. This is done for BackingStore, but not for WebPageCompositor.
1379
1380         WebPageCompositor was rendering the wrong part of the web page when
1381         the minimum scroll position was non-zero. Fixed by communicating the
1382         minimum scroll position to the WebPageCompositor, and accounting for it
1383         when interpreting the requested content rectangle to render.
1384
1385         PR 280229.
1386
1387         * Api/WebPage.cpp:
1388         (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
1389         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
1390         * Api/WebPageCompositor.cpp:
1391         (BlackBerry::WebKit::WebPageCompositorPrivate::render):
1392         (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
1393         * Api/WebPageCompositor_p.h:
1394         (BlackBerry::WebKit::WebPageCompositorPrivate::layoutRect):
1395         (BlackBerry::WebKit::WebPageCompositorPrivate::setLayoutRect):
1396         (BlackBerry::WebKit::WebPageCompositorPrivate::documentRect):
1397         (BlackBerry::WebKit::WebPageCompositorPrivate::setDocumentRect):
1398         (WebPageCompositorPrivate):
1399         * Api/WebPage_p.h:
1400         (WebPagePrivate):
1401
1402 2013-01-24  Nima Ghanavatian  <nghanavatian@rim.com>
1403
1404         [BlackBerry] Fix crash in SpellingHandler
1405         https://bugs.webkit.org/show_bug.cgi?id=107842
1406
1407         Reviewed by Rob Buis.
1408
1409         If we have an empty range or one with all spaces, we can simply return 0 instead of
1410         still creating a range. Putting in a null check after trimming to catch this case
1411         which was causing the crash in some DRT tests.
1412
1413         Internally reviewed by Mike Fenton.
1414
1415         * WebKitSupport/DOMSupport.cpp:
1416         (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
1417         * WebKitSupport/SpellingHandler.cpp:
1418         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1419
1420 2013-01-24  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1421
1422         [BlackBerry] It can't Select texts in main frame when the current focus is in a IFrame
1423         https://bugs.webkit.org/show_bug.cgi?id=107773
1424
1425         Reviewed by Antonio Gomes.
1426
1427         PR285211 Internally reviewed by Genevieve Mak
1428
1429         When touch hold in the unfocused frame, it doesn't switch frame focus. Many
1430         places in code depends on the webpage->forcusOrMainFrame(), including the
1431         SelectionHandler, so it can't select in an unfocused frame. This patch switchs
1432         frame focus when touch starts.
1433
1434         * WebKitSupport/TouchEventHandler.cpp:
1435         (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
1436
1437 2013-01-23  Nima Ghanavatian  <nghanavatian@rim.com>
1438
1439         [BlackBerry] Take a better guess as to what text the user wants learned
1440         https://bugs.webkit.org/show_bug.cgi?id=107706
1441
1442         Reviewed by Rob Buis.
1443
1444         If we still have a valid caret position, use it to give priority to a region
1445         of text.  We now take the text before the caret, instead of the text at the end
1446         of the field.  If the caret is not present, we start from the beginning of the field.
1447         This helps learning in email where the region of interest is generally at the start,
1448         not end of the field.
1449
1450         Internally reviewed by Mike Fenton
1451
1452         * WebKitSupport/InputHandler.cpp:
1453         (BlackBerry::WebKit::InputHandler::learnText):
1454
1455 2013-01-23  Nima Ghanavatian  <nghanavatian@rim.com>
1456
1457         [BlackBerry] Optimize spellchecking by coalescing messages
1458         https://bugs.webkit.org/show_bug.cgi?id=107707
1459
1460         Reviewed by Rob Buis.
1461
1462         PR233604
1463         Instead of taking chunks one line at a time, coalesce them together
1464         to fire off messages as close to our character limit as possible.
1465         This should dramatically reduce the total number of messages in email
1466         giving us a little performance bump.
1467
1468         Internally reviewed by Mike Fenton and Gen Mak.
1469
1470         * WebKitSupport/DOMSupport.cpp:
1471         (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
1472         (DOMSupport):
1473         * WebKitSupport/DOMSupport.h:
1474         * WebKitSupport/InputHandler.cpp:
1475         * WebKitSupport/InputHandler.h:
1476         (InputHandler):
1477         * WebKitSupport/SpellingHandler.cpp:
1478         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
1479         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1480         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1481         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
1482         * WebKitSupport/SpellingHandler.h:
1483
1484 2013-01-23  Shinya Kawanaka  <shinyak@chromium.org>
1485
1486         shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
1487         https://bugs.webkit.org/show_bug.cgi?id=107624
1488
1489         Reviewed by Dimitri Glazkov.
1490
1491         Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.
1492
1493         * Api/WebPage.cpp:
1494         (BlackBerry::WebKit::WebPagePrivate::webContext):
1495         * WebKitSupport/FatFingers.h:
1496         (BlackBerry::WebKit::FatFingersResult::node):
1497         * WebKitSupport/InPageSearchManager.cpp:
1498         (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
1499
1500 2013-01-22  Andrew Lo  <anlo@rim.com>
1501
1502         [BlackBerry] GIF & RAF animations sometimes don't resume after zoom
1503         https://bugs.webkit.org/show_bug.cgi?id=107590
1504
1505         Reviewed by Rob Buis.
1506         Internally reviewed by Jakob Petsovits.
1507
1508         Internal PR 276907.
1509         Dispatch render jobs when resuming backing store updates to perform jobs
1510         queued when updates were suspended.
1511
1512         * Api/BackingStore.cpp:
1513         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
1514
1515 2013-01-21  Nima Ghanavatian  <nghanavatian@rim.com>
1516
1517         [BlackBerry] Skip spell checking on single character strings
1518         https://bugs.webkit.org/show_bug.cgi?id=107463
1519
1520         Reviewed by Yong Li.
1521
1522         Check for a minimum string length when firing off spellcheck since we don't
1523         want to mark single letter words.
1524
1525         Internally reviewed by Mike Fenton.
1526
1527         * WebKitSupport/InputHandler.cpp:
1528         * WebKitSupport/SpellingHandler.cpp:
1529         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1530         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1531
1532 2013-01-20  Charles Wei  <charles.wei@torchmobile.com.cn>
1533
1534         [BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
1535         https://bugs.webkit.org/show_bug.cgi?id=107103
1536
1537         Reviewed by George Staikos.
1538         Internally reviewed by Jacky Jiang.
1539
1540         When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
1541         automatically zoom it to fit the viewport.
1542
1543         * Api/WebPage.cpp:
1544         (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
1545
1546 2013-01-20  Tiancheng Jiang  <tijiang@rim.com>
1547
1548         [BlackBerry] Improve Fatfinger phase.
1549         https://bugs.webkit.org/show_bug.cgi?id=107403
1550
1551         Reviewed by Rob Buis.
1552
1553         RIM PR 219489
1554         Internally reviewd by Mike Fenton & Gen Mak.
1555
1556         Treat ClickableByDefault and MadeClickableByTheWebpage elements as
1557         same category. Avoid unnecessary nodes check step.
1558
1559         * WebKitSupport/FatFingers.cpp:
1560         (BlackBerry::WebKit::FatFingers::isElementClickable):
1561         (BlackBerry::WebKit::FatFingers::FatFingers):
1562         (BlackBerry::WebKit::FatFingers::findBestPoint):
1563         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
1564         * WebKitSupport/FatFingers.h:
1565
1566 2013-01-18  Andrew Lo  <anlo@rim.com>
1567         [BlackBerry] When acquiring/releasing backing store memory, allow web page client control suspend/resuming of backing store
1568         https://bugs.webkit.org/show_bug.cgi?id=107307
1569
1570         Reviewed by Rob Buis.
1571         Internally reviewed by Jakob Petsovits.
1572
1573         Internal PR276660
1574         Have BackingStore::createBackingStoreMemory & releaseBackingStoreMemory only
1575         acquire & release the surface pool. It doesn't matter if either is called
1576         redundantly since SurfacePool has internal state to protect against that.
1577
1578         Resuming & suspending backing store and screen updates will be handled by
1579         the WebPageClient.
1580
1581         * Api/BackingStore.cpp:
1582         (BlackBerry::WebKit::BackingStore::acquireBackingStoreMemory):
1583         (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
1584         * Api/BackingStore.h:
1585
1586 2013-01-18  Nima Ghanavatian  <nghanavatian@rim.com>
1587
1588         [BlackBerry] Set spellchecking calculations on a timer to free up the WebKit thread
1589         https://bugs.webkit.org/show_bug.cgi?id=107284
1590
1591         Reviewed by Rob Buis.
1592
1593         PR282351
1594         Firing off spellcheck requests is tieing up the WebKit thread for an
1595         extended period of time. In testing with large blocks of text, this
1596         can be in the matter of 5-10 seconds. Though we are using asynchronous
1597         spellchecking, the process in which we break down blocks of text based
1598         on input_service limitations is the issue.
1599         Using a timer here which fires with an arbitrary timeout to allow for
1600         focus and interaction to maintain at a reasonable level.
1601         Further, pulling this code out of InputHandler and into its own class.
1602
1603         Internally reviewed by Mike Fenton and Gen Mak.
1604
1605         * WebKitSupport/InputHandler.cpp:
1606         (BlackBerry::WebKit::InputHandler::InputHandler):
1607         (BlackBerry::WebKit::InputHandler::~InputHandler):
1608         (BlackBerry::WebKit::InputHandler::callRequestCheckingFor):
1609         (WebKit):
1610         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
1611         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
1612         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
1613         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
1614         (BlackBerry::WebKit::InputHandler::setElementFocused):
1615         * WebKitSupport/InputHandler.h:
1616         (WebCore):
1617         (WebKit):
1618         (InputHandler):
1619         * WebKitSupport/SpellingHandler.cpp: Added.
1620         (WebKit):
1621         (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
1622         (BlackBerry::WebKit::SpellingHandler::~SpellingHandler):
1623         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
1624         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1625         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1626         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
1627         * WebKitSupport/SpellingHandler.h: Added.
1628         (WebCore):
1629         (WebKit):
1630         (SpellingHandler):
1631         (BlackBerry::WebKit::SpellingHandler::isSpellCheckActive):
1632         (BlackBerry::WebKit::SpellingHandler::setSpellCheckActive):
1633
1634 2013-01-18  Nima Ghanavatian  <nghanavatian@rim.com>
1635
1636         [BlackBerry] Check if continuous spellchecking is enabled before processing a request
1637         https://bugs.webkit.org/show_bug.cgi?id=107169
1638
1639         Reviewed by Rob Buis.
1640
1641         PR265815
1642         We set this value based on the global settings page. The
1643         spellcheck-on-focus codepath did not hit this, so focusing a
1644         field would not uphold the setting.
1645
1646         Internally reviewed by Mike Fenton and Gen Mak.
1647
1648         * WebKitSupport/DOMSupport.cpp:
1649         (BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):
1650         (DOMSupport):
1651         * WebKitSupport/DOMSupport.h:
1652         * WebKitSupport/InputHandler.cpp:
1653         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
1654
1655 2013-01-18  Seokju Kwon  <seokju.kwon@gmail.com>
1656
1657         Add explicit keyword to constructors in platform-specific InspectorClient
1658         https://bugs.webkit.org/show_bug.cgi?id=107255
1659
1660         Reviewed by Kentaro Hara.
1661
1662         Add explicit keyword to constructors that take one argument
1663         in platform-specific implementation of InspectorClient.
1664
1665         * WebCoreSupport/InspectorClientBlackBerry.h:
1666         (InspectorClientBlackBerry):
1667
1668 2013-01-18  Andrew Lo  <anlo@rim.com>
1669
1670         [BlackBerry] Assert failing in RenderQueue::renderScrollZoomJobs
1671         https://bugs.webkit.org/show_bug.cgi?id=107215
1672
1673         Reviewed by Rob Buis.
1674         Internally reviewed by Jakob Petsovits.
1675
1676         Internal PR276660
1677         Render jobs should not be performed if the backing store is inactive.
1678
1679         This occured when the browser was invoked, causing a web page to be made
1680         visible before the surface pool was resumed.
1681
1682         * Api/BackingStore.cpp:
1683         (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
1684
1685 2013-01-17  Yong Li  <yoli@rim.com>
1686
1687         [BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
1688         https://bugs.webkit.org/show_bug.cgi?id=107162
1689
1690         Reviewed by Rob Buis.
1691         Internally reviewed by Gen Mak and Mike Fenton.
1692
1693         Move the notification code from notifyInRegionScrollStopped() to reset() as there are
1694         other places where reset() gets called.
1695
1696         * Api/InRegionScroller.cpp:
1697         (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
1698         * Api/WebPage.cpp:
1699         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
1700
1701 2013-01-17  Mike Fenton  <mifenton@rim.com>
1702
1703         [BlackBerry] Fix selection handle appearance for RTL text.
1704         https://bugs.webkit.org/show_bug.cgi?id=107043
1705
1706         Reviewed by Rob Buis.
1707
1708         PR 263585.
1709
1710         Invert the reported selection handle position if to match
1711         the visual order instead of the logical order to create the
1712         desired appearance for RTL text and directional selections.
1713
1714         Reviewed Internally by Gen Mak and Nima Ghanavatian.
1715
1716         * WebKitSupport/SelectionHandler.cpp:
1717         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
1718
1719 2013-01-16  Charles Wei  <charles.wei@torchmobile.com.cn>
1720
1721         [BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen mode if there's
1722         device rotation in fullscreen mode
1723         https://bugs.webkit.org/show_bug.cgi?id=107085
1724
1725         Reviewed by George STaikos.
1726         Also internally reviewed by Jacky Jiang.
1727
1728         We saved the scale and scroll position before entering full screen mode, so that we can restore
1729         them after leaving fullscreen mode, because entering fullscreen mode automatically changes the 
1730        scale to make the video to fit to the viewport. But if there's device rotation during the fullscreen,
1731        the scale and scroll position saved before may or may not apply anymore, we need to adjust the
1732        scale and/or scroll position if needed to make sure no over-scale or over-scroll in the new orientation.
1733
1734         * Api/WebPage.cpp:
1735         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1736         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
1737         * Api/WebPage_p.h:
1738         (WebPagePrivate):
1739
1740 2013-01-16  Joe Mason  <jmason@rim.com>
1741
1742         [BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
1743         https://bugs.webkit.org/show_bug.cgi?id=105651
1744
1745         Reviewed by Darin Adler.
1746
1747         GeolocationClientBlackBerry::cancelPermissionRequest contains an ASSERT that the origin is
1748         in m_geolocationRequestMap. But it's perfectly valid for the origin to not be in the map -
1749         for instance, if GeolocationClientBlackBerry::requestPermission returned immediately,
1750         without putting it in the map, because geolocation was disabled. In this case the correct
1751         thing to do is just return - there is nothing to be done to cancel the permission.
1752
1753         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
1754         (GeolocationClientBlackBerry::cancelPermissionRequest):
1755
1756 2013-01-15  Mike Fenton  <mifenton@rim.com>
1757
1758         [BlackBerry] Don't overwrite field dir with current locale.
1759         https://bugs.webkit.org/show_bug.cgi?id=106932
1760
1761         Reviewed by Yong Li.
1762
1763         PR 212267.
1764
1765         Remove uncalled onInputLocaleChanged and stop re-writing the dir
1766         on input focus which prevented RTL fields from rendering properly.
1767
1768         Reviewed Internally by Eli Fidler.
1769
1770         * Api/WebPage.cpp:
1771         * Api/WebPage.h:
1772         * Api/WebPage_p.h:
1773         (WebPagePrivate):
1774         * WebKitSupport/InputHandler.cpp:
1775         * WebKitSupport/InputHandler.h:
1776         (InputHandler):
1777
1778 2013-01-15  Jacky Jiang  <zhajiang@rim.com>
1779
1780         [BlackBerry] Manual zoom propagates to next page load
1781         https://bugs.webkit.org/show_bug.cgi?id=106914
1782
1783         Reviewed by Yong Li.
1784         Internally reviewed by Eli Fidler and Jakob Petsovits.
1785
1786         PR: 280481
1787         During load committed, the web page scale was reset. However, UI thread
1788         still kept the old scale in UserInterfaceViewportAccessor so that it
1789         blitted the contents at the old scale although WebKit thread could
1790         update the UI thread scale later when finished the load.
1791         We should update the scale of the UI thread right after we reset it in
1792         WebKit thread to keep them in sync.
1793
1794         * Api/WebPage.cpp:
1795         (BlackBerry::WebKit::WebPagePrivate::resetScales):
1796
1797 2013-01-14  Otto Derek Cheung  <otcheung@rim.com>
1798
1799         [BlackBerry] FCC appears when switching search engine providers
1800         https://bugs.webkit.org/show_bug.cgi?id=106824
1801
1802         Magnifying glass appears when switching search engine providers
1803
1804         PR 279178
1805
1806         Reviewed by Rob Buis.
1807         Internal Reviewed by Mike Fenton.
1808
1809         We need to make sure fatfinger is touching a textfield when we tell notifyCaretChanged
1810         to show the FCC.
1811
1812         This behaviour is accidentally regressed in the fix in PR 267177, causing the FCC to show
1813         when the user touches an element that is not a textfield and changes the caret in the inputbar..
1814
1815         Tested that the behaviour in 267177 isn't reproducible and the FCC isn't invoked when we switch
1816         search engine providers.
1817
1818         * WebKitSupport/SelectionHandler.cpp:
1819         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
1820
1821 2013-01-14  Jacky Jiang  <zhajiang@rim.com>
1822
1823         [BlackBerry] Zoom is still possible when user-scalable=no
1824         https://bugs.webkit.org/show_bug.cgi?id=106809
1825
1826         Reviewed by George Staikos.
1827
1828         PR: 274566
1829         On wordpress.com, the contents were rendered at the width 343 which was
1830         1 css pixel larger than the expected device-width 342 so that we didn't
1831         respect the viewport.
1832         There was a RenderBlock on the page which contained "\n" and an
1833         inline-block. "\n" took 0.78 width and the inline-block took 342 width
1834         and they were unfortunately placed in the same InlineBox which caused
1835         the contents width 1 css pixels larger than the device-width.
1836         Allow the contents width to be 1 css pixel larger and still respect the
1837         viewport in such a special case.
1838
1839         * Api/WebPage.cpp:
1840         (BlackBerry::WebKit::WebPagePrivate::respectViewport):
1841
1842 2013-01-13  Xiaobo Wang  <xbwang@torchmobile.com.cn>
1843
1844         [BlackBerry] Add a public function WebPage::isLoading()
1845         https://bugs.webkit.org/show_bug.cgi?id=106751
1846
1847         PR 274392
1848
1849         Reviewed by George Staikos.
1850
1851         Need to get the load state in WebPageClient when resolving PR 274392.
1852
1853         * Api/WebPage.cpp:
1854         (BlackBerry::WebKit::WebPage::isLoading):
1855         (WebKit):
1856         * Api/WebPage.h:
1857
1858 2013-01-11  Andrew Lo  <anlo@rim.com>
1859
1860         [BlackBerry] Focus zoom animation doesn't occur on devices with physical keyboard
1861         https://bugs.webkit.org/show_bug.cgi?id=106719
1862
1863         Reviewed by Yong Li.
1864         Internally reviewed by Mike Fenton.
1865
1866         Internal PR 278687
1867
1868         Always ensureFocusTextElementVisible if an element is focused when
1869         the device has a physical keyboard.
1870
1871         * WebKitSupport/InputHandler.cpp:
1872         (BlackBerry::WebKit::InputHandler::setElementFocused):
1873
1874 2013-01-11  Otto Derek Cheung  <otcheung@rim.com>
1875
1876         [BlackBerry] Modifying the databaseQuota call to WebPageClient
1877         https://bugs.webkit.org/show_bug.cgi?id=106703
1878
1879         Reviewed by Yong Li.
1880
1881         The databaseQuota call in WebPageClientImpl is modified to take in
1882         BP:Strings directly. Also, we want to use the origin URL from the security origin.
1883         Not the database identifier.
1884
1885         * Api/WebPageClient.h:
1886         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1887         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1888
1889 2013-01-10  Yongxin Dai  <yodai@rim.com>
1890
1891         [BlackBerry] Handle the case that start/end position is out of unclipped selection region
1892         https://bugs.webkit.org/show_bug.cgi?id=106486
1893
1894         Reviewed by Rob Buis.
1895
1896         PR #270624
1897         Unclipped selection region should cover start/end position of the selection.
1898         Since we exclude hidden text when calculating unclipped selection region, the
1899         start/end position can be out of unclipped selection region if it is for hidden
1900         text. If that is the case, start/end handle will be invisible. To avoid invisible
1901         handle, we take unclipped selection region as reference rectangle in the case.
1902
1903         Internally reviewed by Genevieve Mak, Mike Fenton
1904
1905         * WebKitSupport/SelectionHandler.cpp:
1906         (BlackBerry::WebKit::referencePoint):
1907
1908 2013-01-09  Genevieve Mak  <gmak@rim.com>
1909
1910         [BlackBerry] Useless if statement check
1911         https://bugs.webkit.org/show_bug.cgi?id=106113
1912
1913         Reviewed by Yong Li.
1914
1915         Remove stray ! in if statement which was mistakenly left in during
1916         refactoring. Since Injected events are checked before they are sent to
1917         webkit, it didn't have an effect on behaviour.
1918
1919         * Api/WebPage.cpp:
1920         (BlackBerry::WebKit::WebPage::touchEvent):
1921
1922 2013-01-08  Otto Derek Cheung  <otcheung@rim.com>
1923
1924         [BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
1925         https://bugs.webkit.org/show_bug.cgi?id=106370
1926
1927         Reviewed by Yong Li.
1928
1929         Removing totalUsage in ChromeClientBlackBerry as we no longer use that variable.
1930
1931         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1932         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1933
1934 2013-01-08  Jacky Jiang  <zhajiang@rim.com>
1935
1936         [Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer dimensions
1937         https://bugs.webkit.org/show_bug.cgi?id=91748
1938
1939         Reviewed by Antonio Gomes.
1940
1941         PR: 195524
1942         The was originally from Antonio Gomes on PR195524. Bug 105488 has
1943         partially upstreamed that patch. This patch upstreams the rest of it.
1944
1945         * Api/WebPage.cpp:
1946         (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
1947         (BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
1948         * Api/WebPage_p.h:
1949         (WebPagePrivate):
1950         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1951         (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
1952
1953 2013-01-08  Mark Lam  <mark.lam@apple.com>
1954
1955         Removed the need for the ProposedDatabase mechanism.
1956         https://bugs.webkit.org/show_bug.cgi?id=106292.
1957
1958         Reviewed by Sam Weinig.
1959
1960         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1961         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1962         * WebCoreSupport/ChromeClientBlackBerry.h:
1963         (ChromeClientBlackBerry):
1964
1965 2013-01-08  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1966
1967         [BlackBerry] Can't select text out of current focused input
1968         https://bugs.webkit.org/show_bug.cgi?id=106322
1969
1970         Reviewed by Rob Buis.
1971
1972         PR270755
1973         Internally reviewed by Mike Fenton
1974
1975         When selection changed, the selection handler clips new selection with
1976         current focused node's boundary. So we clear focus before selectObject.
1977         This patch clear focus when selectObject is at a point but not at a node.
1978
1979         * WebKitSupport/SelectionHandler.cpp:
1980         (BlackBerry::WebKit::SelectionHandler::selectObject):
1981
1982 2013-01-08  Steve Block  <steveblock@chromium.org>
1983
1984         Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
1985         https://bugs.webkit.org/show_bug.cgi?id=106307
1986
1987         This matches other method names which distinguish between sizes and
1988         points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.
1989
1990         Reviewed by Kentaro Hara.
1991
1992         * Api/InRegionScroller.cpp:
1993         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1994
1995 2013-01-07  Genevieve Mak  <gmak@rim.com>
1996
1997         [BlackBerry] Touch Events are falling through fullscreen video
1998         https://bugs.webkit.org/show_bug.cgi?id=106112
1999
2000         Reviewed by Rob Buis.
2001
2002         Reviewed Internally by Jakob Petsovits.
2003         PR #274326
2004         Do not do viewport centering calculations if in fullscreen video.
2005         The offset should be zero.
2006
2007         * Api/WebPage.cpp:
2008         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2009
2010 2013-01-07  Jacky Jiang  <zhajiang@rim.com>
2011
2012         [BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
2013         https://bugs.webkit.org/show_bug.cgi?id=106236
2014
2015         Unreviewed, rolling out r136173.
2016         This becomes unnecessary now as there are alternative approaches to
2017         solve the issue from the client sides.
2018
2019         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2020         (WebCore::ChromeClientBlackBerry::createWindow):
2021
2022 2013-01-07  Jakob Petsovits  <jpetsovits@rim.com>
2023
2024         [BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
2025         https://bugs.webkit.org/show_bug.cgi?id=106225
2026         RIM PR 274948
2027
2028         Reviewed by George Staikos.
2029         Based on a patch by Chris Guan.
2030
2031         didRenderContent() has a mechanism to avoid double blits;
2032         when scrolling or zooming is enabled then we don't issue
2033         blitContents() as the client would (continually) do that
2034         already.
2035
2036         However, since r138024, didRenderContents() also deals
2037         with one-shot drawing synchronization and commits.
2038         When these are required, we can't just skip out or the
2039         backingstore and overlaying composited layers are likely
2040         to get out of sync. The condition also doesn't make much
2041         sense for direct rendering as no blit calls are issued
2042         at all when it is enabled.
2043
2044         Fix the issue by limiting the impact of the scroll/zoom
2045         early return to only regular blit operations.
2046
2047         * Api/BackingStore.cpp:
2048         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
2049
2050 2013-01-05  Andy Chen  <andchen@rim.com>
2051
2052         [BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
2053         https://bugs.webkit.org/show_bug.cgi?id=106141
2054
2055         Reviewed by Rob Buis.
2056
2057         If last fat finger result is a link, select it directly when
2058         SelectionHandler::selectAtPoint is called.
2059         PR 263449
2060         Internally reviewed by Mike Fenton and Yongxin Dai.
2061
2062         * WebKitSupport/SelectionHandler.cpp:
2063         (BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
2064         (WebKit):
2065         (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
2066         * WebKitSupport/SelectionHandler.h:
2067         (WebKit):
2068         (SelectionHandler):
2069
2070 2013-01-04  Mike Lattanzio  <mlattanzio@rim.com>
2071
2072         [BlackBerry] Last text input caret left visible when WebView entirely loses focus.
2073         https://bugs.webkit.org/show_bug.cgi?id=106124
2074
2075         Reviewed by George Staikos.
2076
2077         Internal PR 248834
2078
2079         There are numerous code paths that lead to repainting of the focus node
2080         when the focus moves to another node, but none seem to cover the case
2081         of focus leaving the document when there are no DocumentMarkers present.
2082
2083         * WebKitSupport/InputHandler.cpp:
2084         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
2085
2086 2013-01-04  Otto Derek Cheung  <otcheung@rim.com>
2087
2088         [BlackBerry]  FCC will show up as you type if you tap on the same input bar twice before typing
2089         https://bugs.webkit.org/show_bug.cgi?id=106116
2090
2091         Reviewed by Yong Li.
2092         Internal reviewed by Gen Mak.
2093         PR 267177
2094
2095         FCC is being invoked because the fatfinger result is no longer a reliable source
2096         to tell whether the caret change is caused by user touch input. Instead, we recognize all
2097         notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
2098         by SelectionHandler:inputHandlerDidFinishProcessingChange.
2099
2100         * WebKitSupport/SelectionHandler.cpp:
2101         (BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
2102         (BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
2103         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2104         * WebKitSupport/SelectionHandler.h:
2105         (SelectionHandler):
2106
2107 2013-01-04  Yong Li  <yoli@rim.com>
2108
2109         [BlackBerry] Cached frame shouldn't access the page when being destroyed
2110         https://bugs.webkit.org/show_bug.cgi?id=105942
2111
2112         Reviewed by George Staikos.
2113
2114         Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
2115         after Frame has been detached.
2116
2117         RIM PR# 271237.
2118
2119         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2120         (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
2121
2122 2013-01-04  Nima Ghanavatian  <nghanavatian@rim.com>
2123
2124         [BlackBerry] Allow defaultTabEventHandler to trigger on tab
2125         https://bugs.webkit.org/show_bug.cgi?id=106118
2126
2127         Reviewed by Yong Li.
2128
2129         In order to support tabbing through input elements, amongst
2130         other things, we need to bipass the processing of the tab key as
2131         '\t'. This will simply insert 4 spaces in the field. Remove tab
2132         support from the key down map so that we don't translate it to
2133         an editor command.
2134
2135         Internally reviewed by Mike Fenton.
2136
2137         * WebCoreSupport/EditorClientBlackBerry.cpp:
2138         (WebCore):
2139
2140 2013-01-04  Mike Fenton  <mifenton@rim.com>
2141
2142         [BlackBerry] Enable Input Focus when handling touch events for JS
2143         https://bugs.webkit.org/show_bug.cgi?id=106109
2144
2145         Reviewed by Yong Li.
2146
2147         PR 273325.
2148
2149         Toggle input mode active when a touch event is
2150         received for JS processing to ensure state
2151         is updated even when event is consumed.
2152
2153         Reviewed Internally by Gen Mak.
2154
2155         * Api/WebPage.cpp:
2156         (BlackBerry::WebKit::WebPage::touchEvent):
2157
2158 2013-01-04  Adam Klein  <adamk@chromium.org>
2159
2160         Remove ENABLE_MUTATION_OBSERVERS #define
2161         https://bugs.webkit.org/show_bug.cgi?id=105459
2162
2163         Reviewed by Ryosuke Niwa.
2164
2165         * WebCoreSupport/AboutDataEnableFeatures.in:
2166
2167 2013-01-04  Anthony Scian  <ascian@rim.com>
2168
2169         [Blackberry] Static code analysis warning fixes
2170         https://bugs.webkit.org/show_bug.cgi?id=105679
2171
2172         Reviewed by Rob Buis.
2173
2174         Klocwork issue 959: check layer against NULL since it is used in both cases
2175         of the subsequent if-stmt
2176
2177         * Api/InRegionScroller.cpp:
2178         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
2179
2180 2013-01-02  Jacky Jiang  <zhajiang@rim.com>
2181
2182         [BlackBerry] file:/// pages don't get correct scales after several rotations and history navigations
2183         https://bugs.webkit.org/show_bug.cgi?id=105996
2184
2185         Reviewed by George Staikos.
2186
2187         PR: 273541
2188         When navigating back to the previous page on portrait mode, we were
2189         trying to set virtual viewport after recalculation. However, we didn't
2190         change the fixed layout size so that we still layouted the contents at
2191         the old virtual viewport size. In this case, the old virtual viewport
2192         was 570 * 293 which was set in landscape mode unfortunately. There
2193         would be no chance for such kind of contents size to fit the portrait
2194         mode screen size nicely.
2195         This was a regression of webkit/cc31d9bad where setViewMode() was
2196         removed as a noop. So just get setViewMode() back to apply the fixed
2197         layout size with a little bit change as SVG document path was proved
2198         invalid in that patch. Thanks to George for the float comparison change.
2199         Put a FIXME as we don't have a way to save the scale precisely before
2200         the rotation and history navigation currently.
2201
2202         * Api/WebPage.cpp:
2203         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2204         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2205         (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
2206
2207 2013-01-02  Otto Derek Cheung  <otcheung@rim.com>
2208
2209         [BlackBerry] Do not determine db quota limit using db file size
2210         https://bugs.webkit.org/show_bug.cgi?id=105991
2211
2212         PR 267191
2213
2214         Reviewed by George Staikos.
2215
2216         Passing the current quota to WebPageClientImpl::databaseQuota so we can determine a better
2217         quota limit without using the db file size.
2218
2219         * Api/WebPageClient.h:
2220         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2221         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
2222
2223 2013-01-02  Yong Li  <yoli@rim.com>
2224
2225         [BlackBerry] Cached frame shouldn't access the page when being destroyed
2226         https://bugs.webkit.org/show_bug.cgi?id=105942
2227
2228         Reviewed by George Staikos.
2229
2230         In order to prevent our FrameLoaderClient from dangling WebPagePrivate object in any case,
2231         this patches clear the m_webPagePrivate pointer when the frame is detached or cached.
2232
2233         RIM PR# 272137.
2234
2235         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2236         (WebCore::FrameLoaderClientBlackBerry::isMainFrame):
2237         (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
2238         (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
2239         (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
2240
2241 2013-01-02  Nima Ghanavatian  <nghanavatian@rim.com>
2242
2243         [BlackBerry] Use fatfingers result when checking for misspelled words
2244         https://bugs.webkit.org/show_bug.cgi?id=105923
2245
2246         Reviewed by Yong Li.
2247
2248         PR270866
2249         Currently we are using the raw touch point when checking to see if spell check
2250         is required on a word. When tapping close to a boundary, the raw point can be
2251         placed off but fatfingers moves the point onto the word. This causes the caret
2252         to be placed on a word but no spell check request triggered.
2253
2254         Internally reviewed by Mike Fenton and Tiancheng Jiang
2255
2256         * WebKitSupport/TouchEventHandler.cpp:
2257         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2258
2259 2012-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
2260
2261         [BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
2262         https://bugs.webkit.org/show_bug.cgi?id=105811
2263         RIM PR 272067
2264
2265         Reviewed by George Staikos.
2266         Internally Reviewed by Jakob Petsovits.
2267
2268         BackingStorePrivate::m_defersBlit is not used anywhere, it should
2269         be removed to simplify the code and to avoid confusion.
2270         * Api/BackingStore.cpp:
2271         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
2272         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2273         * Api/BackingStore.h:
2274         * Api/BackingStore_p.h:
2275         (BackingStorePrivate):
2276
2277 2012-12-26  Jakob Petsovits  <jpetsovits@rim.com>
2278
2279         [BlackBerry] Set load state for popups manually, in absence of a loader.
2280         https://bugs.webkit.org/show_bug.cgi?id=105708
2281         RIM PR 257216
2282
2283         Reviewed by George Staikos.
2284         Internally reviewed by Chris Guan.
2285
2286         The WebPage class relies on the load state for various things,
2287         among others it will only emit contents size changes after
2288         layouts if a load state other than None is set.
2289
2290         Given that popups write the web page content itself with no
2291         loader that would issue such notifications, the load state
2292         should probably just be set manually in this case.
2293
2294         * WebCoreSupport/PagePopupBlackBerry.cpp:
2295         (WebCore::PagePopupBlackBerry::init):
2296
2297 2012-12-26  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
2298
2299         [BlackBerry] Caret doesn't update position when scrolling text in Input element
2300         https://bugs.webkit.org/show_bug.cgi?id=105757
2301
2302         Reviewed by George Staikos.
2303
2304         PR 271627
2305         Internally reviewed by George Staikos.
2306
2307         Call FrameSelection's updateAppearence instead of SelectionHandler's
2308         selectionPositionChanged to update the caret position.
2309
2310         * Api/InRegionScroller.cpp:
2311         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
2312
2313 2012-12-25  Charles Wei  <charles.wei@torchmobile.com.cn>
2314
2315         [BlackBerry] Need to initialize the onLine in the global
2316         https://bugs.webkit.org/show_bug.cgi?id=105749
2317
2318         Reviewed by George Staikos.
2319
2320         The NetworkStatus is initialized to online in the constructor by default,
2321         we need to update it correctly with the network status at startup.
2322
2323         * Api/BlackBerryGlobal.cpp:
2324         (BlackBerry::WebKit::globalInitialize):
2325
2326 2012-12-24  Jakob Petsovits  <jpetsovits@rim.com>
2327
2328         [BlackBerry] Fix various RenderQueue bugs introduced by r138024.
2329         https://bugs.webkit.org/show_bug.cgi?id=105717
2330         RIM PR 269029
2331
2332         Reviewed by George Staikos.
2333
2334         Scroll/zoom jobs were pretty solid, but I managed to
2335         leave some bugs in the region handling of RenderQueue's
2336         renderRegularRenderJobs() function, causing us to skip
2337         a desired blit or render operation in cases where the
2338         region and tile tracking did not match up.
2339
2340         This commit fixes these errors.
2341
2342         * WebKitSupport/RenderQueue.cpp:
2343         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
2344
2345 2012-12-24  Charles Wei  <charles.wei@torchmobile.com.cn>
2346
2347         [BlackBerry] Close page popup when a page becomes invisible.
2348         https://bugs.webkit.org/show_bug.cgi?id=105704
2349
2350         Reviewed by George Staikos.
2351
2352         Reviewed internally by Jakob Petsovits.
2353
2354         * Api/WebPage.cpp:
2355         (BlackBerry::WebKit::WebPagePrivate::setVisible):
2356
2357 2012-12-23  Mary Wu  <mary.wu@torchmobile.com.cn>
2358
2359         [BlackBerry] give url when createWindow
2360         https://bugs.webkit.org/show_bug.cgi?id=105702
2361         RIM bug# 257329
2362
2363         Reviewed by George Staikos.
2364
2365         This is to revert previous commit 575407238c35f1a0fa7ff7dd5dbbf6cc3ece1107
2366         for integration issue of cascade and air, as old app side still use the url
2367         to invoke. It would unrevert after resolving the integration issue.
2368
2369         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2370         (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
2371
2372 2012-12-23  Jakob Petsovits  <jpetsovits@rim.com>
2373
2374         [BlackBerry] Specify tile usage enum for backingstore tiles.
2375         https://bugs.webkit.org/show_bug.cgi?id=105688
2376         RIM PR 262120
2377
2378         Reviewed by George Staikos.
2379
2380         This enables us to have separate tile sizes for
2381         backingstore / root layer purposes and generic layers.
2382
2383         * Api/BackingStore.cpp:
2384         (BlackBerry::WebKit::BackingStorePrivate::tileSize):
2385
2386 2012-12-21  Max Feil  <mfeil@rim.com>
2387
2388         [BlackBerry] Fullscreen video fixed position container horizontal position is wrong
2389         https://bugs.webkit.org/show_bug.cgi?id=105488
2390
2391         Reviewed by George Staikos.
2392
2393         The fix for https://bugs.webkit.org/show_bug.cgi?id=105333 has
2394         broken fullscreen video, which was compensating by doing its
2395         own positioning in x. My patch fixes things by making vertical
2396         and horizontal handling symmetrical.
2397         NOTE: This function was not upstreamed before, so you can't
2398         actually see my diff. See the bug.
2399
2400         * Api/WebPage.cpp:
2401         (WebKit):
2402         (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
2403
2404 2012-12-18  Nima Ghanavatian  <nghanavatian@rim.com>
2405
2406         [BlackBerry] Calculate correct word offsets for form elements.
2407         https://bugs.webkit.org/show_bug.cgi?id=105354
2408
2409         Reviewed by Rob Buis.
2410
2411         PR266117
2412         We need to calculate correct offsets for form elements, such as
2413         textareas, relative to the start of the field. This allows for correct
2414         spell checking of words in a textarea element after line breaks.
2415
2416         Internally reviewed by Mike Fenton.
2417
2418         * WebKitSupport/InputHandler.cpp:
2419         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2420
2421 2012-12-18  Genevieve Mak  <gmak@rim.com>
2422
2423         [BlackBerry] Remove extra call to doFatFingers.
2424         https://bugs.webkit.org/show_bug.cgi?id=105347
2425
2426         Reviewed by Rob Buis.
2427
2428         Reviewed Internally by Mike Fenton.
2429         Now that we do fat fingers on touch start, we don't need this anymore.
2430
2431         * Api/WebPage.cpp:
2432         (BlackBerry::WebKit::WebPage::touchEvent):
2433
2434 2012-12-18  Genevieve Mak  <gmak@rim.com>
2435
2436         Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
2437         https://bugs.webkit.org/show_bug.cgi?id=105344
2438
2439         Reviewed by Antonio Gomes.
2440
2441         Reviewed Internally by Mike Fenton.
2442         We don't need to check the overflow for editable layers because there's
2443         no need for overflow to be set by the content.
2444         PR #231776
2445
2446         * WebKitSupport/InRegionScrollableArea.cpp:
2447         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
2448
2449 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2450
2451         [BlackBerry] Build fix for r138024.
2452         https://bugs.webkit.org/show_bug.cgi?id=105199
2453         RIM PR 260232
2454
2455         Reviewed by Yong Li.
2456
2457         The clearVisibleTiles() function doesn't exist anymore
2458         and apparently I fail at merge conflict resolution.
2459
2460         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2461         (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
2462
2463 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2464
2465         [BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
2466         https://bugs.webkit.org/show_bug.cgi?id=105331
2467         RIM PR 260232
2468
2469         Reviewed by Adam Treat.
2470
2471         The concept of the "front state" is going away or will be
2472         marginalized/renamed, but I don't want to clutter upcoming
2473         patches with renames. So do the variable renames in here,
2474         once, and have future patches focus on actual behavior changes.
2475
2476         * Api/BackingStore.cpp:
2477         (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
2478         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2479         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2480         (BlackBerry::WebKit::BackingStorePrivate::render):
2481         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2482         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
2483         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
2484         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
2485         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2486         (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
2487
2488 2012-12-18  Nima Ghanavatian  <nghanavatian@rim.com>
2489
2490         [BlackBerry] Reduce calls to IMF on return
2491         https://bugs.webkit.org/show_bug.cgi?id=105308
2492
2493         Reviewed by Yong Li.
2494
2495         PR207743
2496         The extra calls of selection change and most importantly, end composition
2497         are sent incorrectly on return. This is causing our state to be reset
2498         every time we hit enter.
2499
2500         Internally reviewed by Mike Fenton and Gen Mak.
2501
2502         * WebKitSupport/InputHandler.cpp:
2503         (BlackBerry::WebKit::InputHandler::InputHandler):
2504         (BlackBerry::WebKit::InputHandler::nodeTextChanged):
2505         (BlackBerry::WebKit::InputHandler::selectionChanged):
2506         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2507         (BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
2508         (WebKit):
2509         * WebKitSupport/InputHandler.h:
2510         (InputHandler):
2511
2512 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2513
2514         [BlackBerry] Remove the visible tile buffer from the BackingStore.
2515         https://bugs.webkit.org/show_bug.cgi?id=105302
2516         RIM PR 260232
2517
2518         Reviewed by George Staikos.
2519
2520         The visible tile buffer was introduced as an additional
2521         buffering solution that was necessary because other
2522         buffers would only cover part of the screen and could
2523         only be swapped one by one, with long blocking calls
2524         between each newly rendered tile. By carrying an old copy
2525         of all tiles at once, we were avoiding checkerboard and
2526         visual artifacts during load time when much zoom-to-fit
2527         action is going on.
2528
2529         These days, the visual tile buffer hurts more than it helps,
2530         not only taking up lots of memory but also requiring
2531         complexity that we'd rather get rid of. Now that multiple
2532         buffers are being swapped into the user interface thread
2533         at once, the need for the visible tile buffer is no longer
2534         there and can be exchanged for standard geometry behavior.
2535
2536         This patch simply deletes the visible tile buffer to use
2537         existing other code instead. Differences in behavior are
2538         non-existent or negligible.
2539
2540         * Api/BackingStore.cpp:
2541         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2542         (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
2543         (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
2544         (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
2545         * Api/BackingStore_p.h:
2546         (BackingStorePrivate):
2547         * Api/WebPage.cpp:
2548         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2549         * WebKitSupport/SurfacePool.cpp:
2550         (BlackBerry::WebKit::SurfacePool::SurfacePool):
2551         (BlackBerry::WebKit::SurfacePool::initialize):
2552         (BlackBerry::WebKit::SurfacePool::createBuffers):
2553         (BlackBerry::WebKit::SurfacePool::releaseBuffers):
2554         * WebKitSupport/SurfacePool.h:
2555         (SurfacePool):
2556
2557 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2558
2559         [BlackBerry] Restructure the render queue to process multiple tiles at once.
2560         https://bugs.webkit.org/show_bug.cgi?id=105199
2561         RIM PR 260232
2562
2563         Reviewed by George Staikos.
2564         Internally reviewed by Arvid Nilsson.
2565
2566         Since my last big commit, r136442, the BackingStore's render()
2567         function is able to fetch multiple back buffers and swap them
2568         into the user interface thread in one go. However, it turns out
2569         that this is not enough to actually render to all of the
2570         available back buffers at once. The RenderQueue class was still
2571         working with a model based on processing one rectangle after
2572         another.
2573
2574         This commit rewrites large parts of RenderQueue to issue
2575         render() calls for multiple tiles at once. As WebCore painting
2576         gets cheaper and blocking becomes more of an issue, this commit
2577         does away with paints smaller than tile size and always renders
2578         whole tiles at once. This means the demise of RenderRect.
2579         As an additional benefit, this means we can remove the
2580         copyPreviousContentsToTileBuffer() function which caused
2581         potential threading issues as it was accessing a buffer
2582         now owned by the UI thread from the WebKit thread.
2583
2584         RenderQueue is also smarter than before in assigning batches,
2585         it now takes into account the number of available back buffers
2586         for rendering as well as excludes tiles outside contents
2587         boundaries. Regular render jobs continue being tracked as
2588         regions (and are being issued to didRenderContent()) with only
2589         the changed content regions. Everything else switches over to
2590         tile index lists from previously lists of rectangles.
2591         By default, we render as many tiles at once as we can grab
2592         back buffers, or until a given set of jobs is done.
2593         For high-priority jobs, render() will be called in a loop.
2594
2595         To allow for the necessary changes in render() and improve
2596         reliability in the same go, we now call render() almost
2597         exclusively through RenderQueue. Other places would often
2598         call renderVisibleContents() in situations where rendering
2599         is not possible, geometries don't get updated, or content
2600         rendered notifications would not get issued to the client.
2601         By replacing renderVisibleContents() with a scheduled
2602         high-priority queue that's immediately being processed
2603         (but only if possible), these problems go away.
2604
2605         * Api/BackingStore.cpp:
2606         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
2607         (BlackBerry::WebKit::BackingStorePrivate::repaint):
2608         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
2609         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
2610         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2611         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2612         (BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
2613         (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
2614         (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
2615         (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
2616         (BlackBerry::WebKit::BackingStorePrivate::render):
2617         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
2618         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
2619         (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
2620         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2621         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
2622         (BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
2623         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
2624         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2625         (BlackBerry::WebKit::BackingStorePrivate::updateTile):
2626         (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
2627         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
2628         * Api/BackingStore_p.h:
2629         (BackingStorePrivate):
2630         * Api/WebPage.cpp:
2631         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2632         (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
2633         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
2634         * Api/WebPageCompositor.cpp:
2635         (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
2636         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2637         (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
2638         * WebKitSupport/RenderQueue.cpp:
2639         (BlackBerry::WebKit::compareRectOneDirection):
2640         (BlackBerry::WebKit::tileIndexIsLessThan):
2641         (WebKit):
2642         (BlackBerry::WebKit::tileIndexLessThanFunction):
2643         (BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
2644         (BlackBerry::WebKit::TileIndexLessThan::operator()):
2645         (TileIndexLessThan):
2646         (BlackBerry::WebKit::RenderQueue::reset):
2647         (BlackBerry::WebKit::RenderQueue::isEmpty):
2648         (BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
2649         (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
2650         (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
2651         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
2652         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
2653         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
2654         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
2655         (BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
2656         (BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
2657         (BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
2658         (BlackBerry::WebKit::RenderQueue::tileRegion):
2659         (BlackBerry::WebKit::RenderQueue::addToQueue):
2660         (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
2661         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
2662         (BlackBerry::WebKit::RenderQueue::quickSort):
2663         (BlackBerry::WebKit::RenderQueue::visibleContentChanged):
2664         (BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
2665         (BlackBerry::WebKit::RenderQueue::clear):
2666         (BlackBerry::WebKit::RenderQueue::clearRegions):
2667         (BlackBerry::WebKit::RenderQueue::clearTileIndexes):
2668         (BlackBerry::WebKit::RenderQueue::render):
2669         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
2670         (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
2671         (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
2672         * WebKitSupport/RenderQueue.h:
2673         (WebKit):
2674         (RenderQueue):
2675         * WebKitSupport/SurfacePool.cpp:
2676         (BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
2677         (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
2678         * WebKitSupport/SurfacePool.h:
2679         (SurfacePool):
2680         * WebKitSupport/TileIndex.h:
2681         (WebKit):
2682
2683 2012-12-17  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
2684
2685         [BlackBerry] Editable text element can't be selected
2686         https://bugs.webkit.org/show_bug.cgi?id=105240
2687
2688         Reviewed by Rob Buis.
2689         Internally reviewed by Genevieve Mak and Mike Fenton.
2690
2691         Internal PR266755
2692         When the target is Text, we should allow it to collect text nodes in
2693         the shadow tree of text editable elements.
2694
2695         * WebKitSupport/FatFingers.cpp:
2696         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
2697
2698 2012-12-17  Yongxin Dai  <yodai@rim.com>
2699
2700         [BlackBerry] Prevent selection handles from being rendered after selection was canceled
2701         https://bugs.webkit.org/show_bug.cgi?id=105203
2702
2703         Reviewed by Rob Buis.
2704
2705         PR255438
2706
2707         Here is the explanation why handles occur without selection overlay.
2708         1. Still touch at current selection (Selection A) initiated by touch-hold
2709         2. Selection expanding (Selection B) is ongoing
2710         3. Finger moves. In UI thread:
2711             1) SelectionHander::cancelSelection() gets called.
2712                 a. Selection A is canceled immediately (clear selecting state and hide handles)
2713                 b. Post a request to webkit thread to cancel Selection A.
2714         4. In webkit thread:
2715             1) Selection B becomes active selection
2716                 a. Show selection overlay for Selection B
2717                 b. Dispatch Selection B to UI thread to show handles
2718             2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled.
2719             The visual change is Selection overlay for Selection B becomes invisible..
2720         5. In UI thread:
2721             Selection B is rendered. The start handle and the end handle occur without selection overlay.
2722
2723         The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.
2724
2725         Reviewed Internally by Mike Fenton.
2726
2727         * WebKitSupport/SelectionHandler.cpp:
2728         (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2729
2730 2012-12-17  Yong Li  <yoli@rim.com>
2731
2732         [BlackBerry] Null pointer access in compositorDrawsRootLayer
2733         https://bugs.webkit.org/show_bug.cgi?id=105204
2734
2735         Reviewed by Rob Buis.
2736
2737         PR# 267188.
2738         Add a null check for m_mainFrame in the function.
2739
2740         * Api/WebPage.cpp:
2741         (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
2742
2743 2012-12-17  Andrew Lo  <anlo@rim.com>
2744
2745         [BlackBerry] Use application size rather than screen size where appropriate.
2746         https://bugs.webkit.org/show_bug.cgi?id=105201
2747
2748         Reviewed by Rob Buis.
2749         Internally reviewed by Jeff Rogers.
2750
2751         Switch from screenSize to applicationSize where appropriate.
2752         Internal PR266400
2753
2754         * Api/WebPage.cpp:
2755         (BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
2756         (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
2757         * WebKitSupport/SurfacePool.cpp:
2758         (BlackBerry::WebKit::SurfacePool::initialize):
2759
2760 2012-12-17  Mike Fenton  <mifenton@rim.com>
2761
2762         [BlackBerry] Improve DOMSupport visibleSelectionForClosestActualWordStart for content editable.
2763         https://bugs.webkit.org/show_bug.cgi?id=105198
2764
2765         Reviewed by Rob Buis.
2766
2767         PR 258038.
2768
2769         Improve closest word matching by giving preference to the left when
2770         distances are equal.
2771
2772         Also enforce container matching to avoid selecting the paragraph
2773         marker if a CE div is followed immediately by a CE paragraph.
2774
2775         Minor refactor - don't calculate the distance if the selection
2776         isn't on a word.
2777
2778         Reviewed Internally by Gen Mak and Nima Ghanavatian.
2779
2780         * WebKitSupport/DOMSupport.cpp:
2781         (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
2782
2783 2012-12-17  Jakob Petsovits  <jpetsovits@rim.com>
2784
2785         [BlackBerry] Clean up log output in WebKit/blackberry.
2786         https://bugs.webkit.org/show_bug.cgi?id=104823
2787
2788         Reviewed by George Staikos.
2789
2790         Behavior-preserving change, fixing many issues with logging:
2791         - Call logAlways() instead of BBLOG() in already defined-out debug blocks.
2792         - Call logAlways() instead of BBLOG() for serious errors, too.
2793         - Fix build for the DEBUG_OVERFLOW_DETECTION block in ChromeClientBlackBerry.
2794         - Fix build for double declarations of "elapsed" variables in RenderQueue.
2795         - Fix compiler warnings due to format string / parameter mismatches.
2796         - Remove unnecessary trailing newlines in logged strings.
2797         - Consistently use Platform:: as prefix except inside WebCore-namespaced code.
2798         - Use indentation that actually passes WebKit style checks.
2799         - Change point/size/rect output to use Platform toString() formats for consistency.
2800
2801         * Api/BackingStore.cpp:
2802         (BlackBerry::WebKit::bestDivisor):
2803         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
2804         (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
2805         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
2806         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
2807         (BlackBerry::WebKit::BackingStorePrivate::repaint):
2808         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
2809         (BlackBerry::WebKit::BackingStorePrivate::scroll):
2810         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
2811         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2812         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2813         (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
2814         (BlackBerry::WebKit::BackingStorePrivate::render):
2815         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2816         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2817         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
2818         (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
2819         (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
2820         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
2821         (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
2822         * Api/WebPage.cpp:
2823         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2824         (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
2825         (BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
2826         (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
2827         (BlackBerry::WebKit::WebPage::touchEvent):
2828         (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
2829         (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
2830         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
2831         (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
2832         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2833         (WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
2834         * WebKitSupport/FatFingers.cpp:
2835         (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
2836         (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
2837         (BlackBerry::WebKit::FatFingers::checkForText):
2838         * WebKitSupport/InputHandler.cpp:
2839         (BlackBerry::WebKit::convertStringToWchar):
2840         (BlackBerry::WebKit::convertStringToWcharVector):
2841         (BlackBerry::WebKit::convertSpannableStringToString):
2842         (BlackBerry::WebKit::InputHandler::learnText):
2843         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2844         (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
2845         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2846         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2847         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2848         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
2849         (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
2850         (BlackBerry::WebKit::InputHandler::setElementFocused):
2851         (BlackBerry::WebKit::InputHandler::spellCheckBlock):
2852         (BlackBerry::WebKit::InputHandler::nodeTextChanged):
2853         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
2854         (BlackBerry::WebKit::InputHandler::frameUnloaded):
2855         (BlackBerry::WebKit::InputHandler::selectionChanged):
2856         (BlackBerry::WebKit::InputHandler::setSelection):
2857         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2858         (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
2859         (BlackBerry::WebKit::InputHandler::deleteText):
2860         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2861         (BlackBerry::WebKit::InputHandler::setComposingRegion):
2862         (BlackBerry::WebKit::InputHandler::finishComposition):
2863         (BlackBerry::WebKit::InputHandler::setText):
2864         (BlackBerry::WebKit::InputHandler::setTextAttributes):
2865         (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
2866         (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
2867         (BlackBerry::WebKit::InputHandler::setComposingText):
2868         (BlackBerry::WebKit::InputHandler::commitText):
2869         * WebKitSupport/RenderQueue.cpp:
2870         (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
2871         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
2872         (BlackBerry::WebKit::RenderQueue::render):
2873         (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
2874         (BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
2875         (BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
2876         (BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
2877         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
2878         (BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):
2879         * WebKitSupport/SelectionHandler.cpp:
2880         (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2881         (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
2882         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
2883         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
2884         (BlackBerry::WebKit::SelectionHandler::setSelection):
2885         (BlackBerry::WebKit::SelectionHandler::selectObject):
2886         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2887         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2888         * WebKitSupport/SurfacePool.cpp:
2889         (BlackBerry::WebKit::SurfacePool::initialize):
2890
2891 2012-12-17  Anthony Scian  <ascian@rim.com>
2892
2893         [Blackberry] Static code analysis warning fixes
2894         https://bugs.webkit.org/show_bug.cgi?id=105129
2895
2896         Reviewed by Rob Buis.
2897
2898         - disable copy/op= in BackingStore
2899         - cache and check intermediate values in parentLayer
2900         - disable copy/op= in InRegionScroller
2901         - disable copy/op= in WebPageGroupLoadDeferrer
2902         - disable copy/op= in WebSettings
2903         - disable copy/op= in WebViewportArguments
2904         - disable copy/op= in BackingStoreClient
2905         - disable copy/op= in TileBuffer
2906         - if stopNode is not NULL, loop could iterate past NULL; added NULL check to loop
2907           to make the code more robust
2908
2909         * Api/BackingStore.h:
2910         * Api/InRegionScroller.cpp:
2911         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
2912         (BlackBerry::WebKit::parentLayer):
2913         * Api/InRegionScroller.h:
2914         * Api/WebPageGroupLoadDeferrer.h:
2915         * Api/WebSettings.h:
2916         * Api/WebViewportArguments.h:
2917         * WebKitSupport/BackingStoreClient.h:
2918         (BackingStoreClient):
2919         * WebKitSupport/BackingStoreTile.h:
2920         (TileBuffer):
2921         * WebKitSupport/DOMSupport.cpp:
2922         (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
2923
2924 2012-12-16  Arvid Nilsson  <anilsson@rim.com>
2925
2926         [BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API
2927         https://bugs.webkit.org/show_bug.cgi?id=105143
2928         RIM PR 171941
2929
2930         Reviewed by Rob Buis.
2931         Internally reviewed by George Staikos.
2932
2933         TouchPoint instances now provide document coordinates for the viewport
2934         and content position of the touch event. The pixel coordinates stored
2935         in the TouchPoint should no longer be needed in WebKit. One exception
2936         is when passing events to a full screen plugin.
2937
2938         Also adapt to new method names and encapsulation of TouchPoint data
2939         members.
2940
2941         * Api/WebPage.cpp:
2942         (BlackBerry::WebKit::WebPage::touchEvent):
2943         (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2944         (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
2945         (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
2946         * WebKitSupport/InputHandler.cpp:
2947         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2948         * WebKitSupport/InputHandler.h:
2949         (InputHandler):
2950         * WebKitSupport/TouchEventHandler.cpp:
2951         (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
2952         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2953         * WebKitSupport/TouchEventHandler.h:
2954         (TouchEventHandler):
2955
2956 2012-12-15  Anders Carlsson  <andersca@apple.com>
2957
2958         Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
2959         https://bugs.webkit.org/show_bug.cgi?id=105122
2960
2961         Reviewed by Andreas Kling.
2962
2963         Update for WebCore changes.
2964
2965         * Api/WebPage.h:
2966         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2967         (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
2968         * WebCoreSupport/FrameLoaderClientBlackBerry.h:
2969         (FrameLoaderClientBlackBerry):
2970
2971 2012-12-16  Jacky Jiang  <zhajiang@rim.com>
2972
2973         [BlackBerry] GUIMark3 page is rendered at a large scale during history navigation back
2974         https://bugs.webkit.org/show_bug.cgi?id=105130
2975
2976         Reviewed by George Staikos.
2977
2978         PR: 265999
2979         During history navigation, UI thread can blit the contents at a bad
2980         view state before WebKit thread restores the view state.
2981         Suspend screen updates before goBackOrForward() and resume thereafter
2982         so that screen can be updated after the correct view state is updated.
2983         No need to render or blit here, as goBackOrForward() can dispatch a
2984         message to WebKit thread to do that in WebPagePrivate::restoreHistoryViewState().
2985
2986         * Api/WebPage.cpp:
2987         (BlackBerry::WebKit::WebPage::goBackOrForward):
2988
2989 2012-12-15  Nima Ghanavatian  <nghanavatian@rim.com>
2990
2991         [BlackBerry] Pass key modifiers with touch and mouse events
2992         https://bugs.webkit.org/show_bug.cgi?id=105108
2993
2994         Reviewed by Rob Buis.
2995
2996         Pass key modifiers to allow for added functionality, such as
2997         shift+click to highlight.
2998
2999         Internally reviewed by Gen Mak.
3000
3001         * Api/WebPage.cpp:
3002         (BlackBerry::WebKit::WebPagePrivate::webContext):
3003         (BlackBerry::WebKit::WebPagePrivate::updateCursor):
3004         (BlackBerry::WebKit::WebPage::mouseEvent):
3005         (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
3006         * Api/WebPage.h:
3007         * WebKitSupport/TouchEventHandler.cpp:
3008         (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
3009         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
3010         (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
3011         * WebKitSupport/TouchEventHandler.h:
3012         (TouchEventHandler):
3013
3014 2012-12-15  Nima Ghanavatian  <nghanavatian@rim.com>
3015
3016         [BlackBerry] Clean up allocated memory from InputMethodSupport
3017         https://bugs.webkit.org/show_bug.cgi?id=105110
3018
3019         Reviewed by Rob Buis.
3020
3021         PR265919
3022         We are deep copying the spannable_string from IMF and freeing
3023         here once we're done with it.
3024
3025         Internally reviewed by Jeff Rogers.
3026
3027         * WebKitSupport/InputHandler.cpp:
3028         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
3029
3030 2012-12-14  Parth Patel  <parpatel@rim.com>
3031
3032         [BlackBerry] Allow plugins to be disabled by shared library filename
3033         https://bugs.webkit.org/show_bug.cgi?id=101274
3034
3035         Reviewed by Yong Li.
3036
3037         Fixing build error.
3038
3039         * Api/WebPage.cpp:
3040         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
3041
3042 2012-12-13  Jacky Jiang  <zhajiang@rim.com>
3043
3044         [BlackBerry][Fullscreen] Exiting fullscreen does not set the correct scroll position
3045         https://bugs.webkit.org/show_bug.cgi?id=104958
3046
3047         Reviewed by Antonio Gomes.
3048         Internally reviewed by Arvid Nilsson and Max Feil.
3049
3050         PR: 231174
3051         When leaving fullscreen, WebPage scale and scroll position can't return
3052         to the original scale and scroll position.
3053         We can't restore them in WebPagePrivate::exitFullScreenForElement()
3054         as they can still be changed thereafter during the async
3055         setViewportSize(). And also the async setViewportSize() from the app
3056         side isn't guaranteed as some apps don't need to resize the viewport if
3057         their windows are already fullscreen.
3058         The restoration is basically only needed if viewport size is changed.
3059         At the point of entering fullscreen, we can safely assume that there
3060         would be a viewport size change thereafter if the current visible size
3061         and screen size are not equal. Based on this assumption, we can save
3062         the scale and position before entering fullscreen and restore them in
3063         setViewportSize() thereafter.
3064
3065         * Api/WebPage.cpp:
3066         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3067         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3068         * Api/WebPage_p.h:
3069         (WebPagePrivate):
3070
3071 2012-12-13  Yong Li  <yoli@rim.com>
3072
3073         [BlackBerry] Possible JS re-entrancy caused by UI event handler
3074         https://bugs.webkit.org/show_bug.cgi?id=84862
3075
3076         Reviewed by Rob Buis.
3077
3078         Fix an obvious bug in previous patch.
3079
3080         * Api/WebPage.cpp:
3081         (BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):
3082
3083 2012-12-13  Parth Patel  <parpatel@rim.com>, Max Feil <mfeil@rim.com>
3084
3085         Allow plugins to be disabled by shared library filename
3086         https://bugs.webkit.org/show_bug.cgi?id=101274
3087
3088         Reviewed by Antonio Gomes.
3089
3090         Mechanism allows plugins to be disabled by specifying their shared library filenames.
3091         Once disabled, a plugin's shared library should never be loaded.
3092
3093         * Api/WebPage.cpp:
3094         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
3095         (WebKit):
3096         (BlackBerry::WebKit::WebPage::updateDisabledPluginFiles):
3097         * Api/WebPage.h:
3098
3099 2012-12-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3100
3101         NetworkInfoController needs to support destructor
3102         https://bugs.webkit.org/show_bug.cgi?id=104642
3103
3104         Reviewed by Kentaro Hara.
3105
3106         Though NetworkInfoController can be referenced by each port in order to update network status change,
3107         there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
3108         controller is destroyed.
3109
3110         * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
3111         (WebCore::NetworkInfoClientBlackBerry::networkInfoControllerDestroyed):
3112         (WebCore):
3113         * WebCoreSupport/NetworkInfoClientBlackBerry.h:
3114         (NetworkInfoClientBlackBerry):
3115
3116 2012-12-12  Mike Lattanzio  <mlattanzio@rim.com>
3117
3118         [BlackBerry] Ensure InRegionScrollableArea is valid before using.
3119         https://bugs.webkit.org/show_bug.cgi?id=104832
3120
3121         Reviewed by Antonio Gomes.
3122
3123         Make sure the InRegionScrollableArea we are about to scroll is
3124         still valid by ensuring its present in our cache of scrollable areas.
3125         Internal PR: 258475
3126         Internal Review: Gen Mak
3127
3128         We cache a RefPtr for each scrollable area at the time we discover them,
3129         but this cache can get cleared anytime and then the references will be
3130         released. If a request comes in to scroll a region which no longer
3131         exists we have to ignore it.
3132
3133         * Api/InRegionScroller.cpp:
3134         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
3135         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
3136         (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableLayerWebKitThread):
3137         (WebKit):
3138         (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableNode):
3139         * Api/InRegionScroller_p.h:
3140         (WebCore):
3141         (InRegionScrollerPrivate):
3142         * WebKitSupport/InRegionScrollableArea.cpp:
3143         (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableLayer):
3144         (WebKit):
3145         (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableNode):
3146         * WebKitSupport/InRegionScrollableArea.h:
3147         (InRegionScrollableArea):
3148
3149 2012-12-12  Mark Lam  <mark.lam@apple.com>
3150
3151         Encapsulate externally used webdatabase APIs in DatabaseManager.
3152         https://bugs.webkit.org/show_bug.cgi?id=104741.
3153
3154         Reviewed by Sam Weinig.
3155
3156         Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
3157         and DatabaseContext directly. This is to prepare for upcoming webkit2
3158         refactoring.
3159
3160         * Api/WebPage.cpp:
3161         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
3162         * WebCoreSupport/ChromeClientBlackBerry.cpp:
3163         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
3164
3165 2012-12-12  Mike Fenton  <mifenton@rim.com>
3166
3167         [BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitespace between them.
3168         https://bugs.webkit.org/show_bug.cgi?id=104837
3169
3170         Reviewed by Rob Buis.
3171
3172         PR 258038.
3173
3174         Fix selection at the end of content editable text block.
3175
3176         The next character may be in the next block bypassing the distance
3177         comparison logic we have, remove the check for next character being
3178         whitespace
3179
3180         Reviewed Internally by Nima Ghanavatian.
3181
3182         * WebKitSupport/DOMSupport.cpp:
3183         (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
3184
3185 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
3186
3187         Make LOG() work in WebProcess and NetworkProcess
3188         https://bugs.webkit.org/show_bug.cgi?id=104718
3189
3190         Reviewed by Tim Horton.
3191
3192         * Api/BlackBerryGlobal.cpp: Include InitializeLogging.h
3193
3194 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
3195
3196         Vibration API: IDL type doesn't match implementation type
3197         https://bugs.webkit.org/show_bug.cgi?id=103899
3198
3199         Reviewed by Kentaro Hara.
3200
3201         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
3202         Therefore unsigned long need to be changed to unsigned for the Vibration API.
3203         - Change a parameter type of vibrate function from unsigned long to unsigned.
3204
3205         * WebCoreSupport/VibrationClientBlackBerry.cpp:
3206         (WebCore::VibrationClientBlackBerry::vibrate):
3207         * WebCoreSupport/VibrationClientBlackBerry.h:
3208         (VibrationClientBlackBerry):
3209
3210 2012-12-11  Nima Ghanavatian  <nghanavatian@rim.com>
3211
3212         [BlackBerry] Redraw spell check dialog after rotation.
3213         https://bugs.webkit.org/show_bug.cgi?id=104737
3214
3215         Reviewed by Rob Buis.
3216
3217         After rotating the device, all dialogs are dismissed. We should
3218         restore the spell check dialog as it is still valid after
3219         rotation and the user will expect it there.
3220
3221         Internally reviewed by Mike Fenton and Gen Mak.
3222
3223         * Api/WebPage.cpp:
3224         (BlackBerry::WebKit::WebPage::applyPendingOrientationIfNeeded):
3225
3226 2012-12-11  Nima Ghanavatian  <nghanavatian@rim.com>
3227
3228         [BlackBerry] Shift the spell check dialog to align with text after transformation
3229         https://bugs.webkit.org/show_bug.cgi?id=104716
3230
3231         Reviewed by Rob Buis.
3232
3233         PR245033
3234         As the page is transformed, we should redraw the dialog box to align
3235         with the new text position. We send a message to move the dialog
3236         box from different spots to account for scrolling. This includes
3237         keyboard transitions from hidden to displayed and centering of
3238         focus around a new touch point. We do not reposition on manual user
3239         scrolling of the page, as this simply dismisses the dialog.
3240
3241         Internally reviewed by Mike Fenton and Gen Mak.
3242
3243         * Api/WebPage.cpp:
3244         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3245         * Api/WebPageClient.h:
3246         * WebCoreSupport/ChromeClientBlackBerry.cpp:
3247         (WebCore::ChromeClientBlackBerry::scroll):
3248         * WebKitSupport/InputHandler.cpp:
3249         (BlackBerry::WebKit::InputHandler::InputHandler):
3250         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
3251         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
3252         (BlackBerry::WebKit::InputHandler::redrawSpellCheckDialogIfRequired):
3253         (WebKit):
3254         * WebKitSupport/InputHandler.h:
3255         (InputHandler):
3256         (BlackBerry::WebKit::InputHandler::clearDidSpellCheckState):
3257         (BlackBerry::WebKit::InputHandler::didSpellCheckWord):
3258         * WebKitSupport/TouchEventHandler.cpp:
3259         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
3260
3261 2012-12-11  Genevieve Mak  <gmak@rim.com>
3262
3263         [BlackBerry] Avoid multiple calls to fat fingers
3264         https://bugs.webkit.org/show_bug.cgi?id=104703
3265
3266         Reviewed by Rob Buis.
3267
3268         We already run fat fingers on touch start. No need to do it again
3269         in the general use case.
3270
3271         * WebKitSupport/TouchEventHandler.cpp:
3272         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
3273
3274 2012-12-11  Mike West  <mkwst@chromium.org>
3275
3276         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
3277         https://bugs.webkit.org/show_bug.cgi?id=66371
3278
3279         Reviewed by Pavel Feldman.
3280
3281         Drops WebCore::MessageType from the addMessageToConsole method.
3282
3283         * WebCoreSupport/ChromeClientBlackBerry.cpp:
3284         (WebCore::ChromeClientBlackBerry::addMessageToConsole):
3285         * WebCoreSupport/ChromeClientBlackBerry.h:
3286         (ChromeClientBlackBerry):
3287
3288 2012-12-10  Max Feil  <mfeil@rim.com>
3289
3290         [BlackBerry] Flash content is being rendered as garbled characters when Flashplayer is disabled
3291         https://bugs.webkit.org/show_bug.cgi?id=104505
3292
3293         Reviewed by Antonio Gomes.
3294
3295         The check to allow video and audio as the source of embed and
3296         object elements is causing a problem when the Flashplayer plugin
3297         is disabled. We have to take Flash content into account in this
3298         check otherwise the swf contents will be rendered as garbled
3299         text characters where there should just be blank space.
3300
3301         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3302         (WebCore::FrameLoaderClientBlackBerry::createPlugin):
3303
3304 2012-12-10  Parth Patel  <parpatel@rim.com>
3305
3306         [BlackBerry] Make hiddenPageDomTimerInterval a setting 
3307         https://bugs.webkit.org/show_bug.cgi?id=104555
3308
3309         Reviewed by Yong Li.
3310
3311         HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
3312         when needed.
3313
3314         * Api/BlackBerryGlobal.cpp:
3315         (BlackBerry::WebKit::globalInitialize):
3316
3317 2012-12-10  Nima Ghanavatian  <nghanavatian@rim.com>
3318
3319         [BlackBerry] Fix warning for comparison between signed and unsigned
3320         https://bugs.webkit.org/show_bug.cgi?id=104563
3321
3322         Reviewed by Rob Buis.
3323
3324         * WebKitSupport/InputHandler.cpp:
3325         (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
3326
3327 2012-12-10  Charles Wei  <charles.wei@torchmobile.com.cn>
3328
3329         [BlackBerry] Webkit crashes sometimes (even though very rarely) when deleting a webview
3330         https://bugs.webkit.org/show_bug.cgi?id=104504
3331
3332         Reviewed by George Staikos.
3333
3334         When deleting a webview, the webkit thread will send a sync message to userInterfaceThread
3335         to delete handlers, including the viewport accessor. But the UserInterfaceThread could be
3336         doing a blit after it has deleted the viewport accessor and before the webkit thread gets
3337         the time slot to resume it's operation to clean up the webview, which leaves a very short
3338         time that viewport accessor of a webpage has been deleted while the webpage is still in
3339         the process of deleting, and the viewport accessor is referenced in the UserInterfaceThread.
3340
3341         So we need to check if the viewport accessor is NULL before using it in the backingstore code.
3342
3343         * Api/BackingStore.cpp:
3344         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
3345         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
3346
3347 2012-12-10  Kent Tamura  <tkent@chromium.org>
3348
3349         Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
3350         https://bugs.webkit.org/show_bug.cgi?id=104508
3351
3352         Reviewed by Kentaro Hara.
3353
3354         * WebKitSupport/InputHandler.cpp:
3355         (BlackBerry::WebKit::InputHandler::openDatePopup): Use isDisabledOrReadOnly.
3356         (BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
3357
3358 2012-12-08  Jacky Jiang  <zhajiang@rim.com>
3359
3360         [BlackBerry] Google results page rendering issue with RTL languages like arabic/hebrew
3361         https://bugs.webkit.org/show_bug.cgi?id=104451
3362
3363         Reviewed by Rob Buis.
3364
3365         PR: 206372
3366         On Google results page, we layout the contents at the width of 833.
3367         However, "appbar" and "top_nav" elements which have width 980 cause
3368         overflow during the last layout and make the contents width larger.
3369         The other renderers still stay at the old width unfortunately which
3370         results in blank areas on the left side of the Google results RTL page.
3371         Give it a chance to request another layout if overflow exceeds the
3372         contents size and the page doesn't have virtual viewport, as this
3373         layout will pick up the absolute visible overflow width within
3374         DEFAULT_MAX_LAYOUT_WIDTH and update the other renderers.
3375
3376         * Api/WebPage.cpp:
3377         (BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
3378         (WebKit):
3379         * Api/WebPage_p.h:
3380         (WebPagePrivate):
3381
3382 2012-12-08  Mike Fenton  <mifenton@rim.com>
3383
3384         [BlackBerry] Enforce selection of last work when triggering caret based selection
3385         https://bugs.webkit.org/show_bug.cgi?id=104447
3386
3387         Reviewed by Rob Buis.
3388
3389         PR 249225.
3390
3391         When the selection has reached the end of an input field,
3392         ensure the last word is selected by adjusting the caret.
3393
3394         Reviewed Internally by Gen Mak.
3395
3396         * WebKitSupport/InputHandler.cpp:
3397         (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
3398         (WebKit):
3399         * WebKitSupport/InputHandler.h:
3400         (InputHandler):
3401         * WebKitSupport/SelectionHandler.cpp:
3402         (BlackBerry::WebKit::SelectionHandler::selectObject):
3403
3404 2012-12-08  Chris Hutten-Czapski  <chutten@rim.com>
3405
3406         [BlackBerry] Remove about:credits
3407         https://bugs.webkit.org/show_bug.cgi?id=104399