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