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