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