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