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