Clean up load interface in WebPage
[WebKit-https.git] / Source / WebKit / blackberry / ChangeLog
1 2013-05-07  Xuefei Ren  <xren@blackberry.com>
2
3         Clean up load interface in WebPage
4         https://bugs.webkit.org/show_bug.cgi?id=115622
5         Reviewed by Rob Buis.
6
7         Internal PR:315535
8         Internal reviewed by  Mary Wu
9
10         * Api/WebPage.cpp:
11         (BlackBerry::WebKit::WebPagePrivate::load):
12         (BlackBerry::WebKit::WebPage::loadFile):
13         (BlackBerry::WebKit::WebPage::load):
14         * Api/WebPage.h:
15         * Api/WebPage_p.h:
16         (WebPagePrivate):
17         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
18         (WebCore::FrameLoaderClientBlackBerry::startDownload):
19
20 2013-05-07  Mike Fenton  <mifenton@rim.com>
21
22         [BlackBerry] Increase the padding size for caret based scrolling.
23         https://bugs.webkit.org/show_bug.cgi?id=115749
24
25         Reviewed by Rob Buis.
26
27         PR 322670.
28
29         Increasing the padding size for scrolling in order to optimize the
30         number of scrolls required during typing.
31
32         * WebKitSupport/InputHandler.cpp:
33         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
34
35 2013-05-07  Nima Ghanavatian  <nghanavatian@blackberry.com>
36
37         [BlackBerry] Maintain touch event state throughout processing
38         https://bugs.webkit.org/show_bug.cgi?id=115663
39
40         Reviewed by Rob Buis.
41
42         Internally reviewed by Otto Cheung and Genevieve Mak.
43
44         PR 297691
45         By maintaining our touch event state, we can get a better idea
46         of what triggered an update to selection and respond appropriately.
47         On touch press we set userTouchTriggered to give the UI thread
48         some context.
49
50         * Api/WebPage.cpp:
51         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
52         (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
53         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
54         * Api/WebPage_p.h:
55         (WebPagePrivate):
56         * WebKitSupport/SelectionHandler.cpp:
57         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
58
59 2013-05-07  Nima Ghanavatian  <nghanavatian@blackberry.com>
60
61         [BlackBerry] Read-only fields should not get keyboard focus
62         https://bugs.webkit.org/show_bug.cgi?id=115725
63
64         Reviewed by Rob Buis.
65
66         Internally reviewed by Mike Fenton.
67
68         PR332887
69         Prevent keyboard focus and FCC from displaying when the user taps on a
70         read-only field. Further, ensure form controls skip over these fields
71         with the next/previous buttons.
72
73         * WebKitSupport/DOMSupport.cpp:
74         (BlackBerry::WebKit::DOMSupport::elementIsReadOnly):
75         (DOMSupport):
76         * WebKitSupport/DOMSupport.h:
77         * WebKitSupport/InputHandler.cpp:
78         (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
79         (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
80         (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
81         (BlackBerry::WebKit::InputHandler::isActiveTextEdit):
82         (WebKit):
83         * WebKitSupport/InputHandler.h:
84
85 2013-05-07  Nima Ghanavatian  <nghanavatian@blackberry.com>
86
87         [BlackBerry] Expand spellcheck logging
88         https://bugs.webkit.org/show_bug.cgi?id=115482
89
90         Reviewed by Rob Buis.
91
92         Internally reviewed by Mike Fenton.
93
94         Fix some build errors when SpellingLog was turned on and expand on the debug
95         statements to be more verbose. Set up timers and print the duration of each
96         iteration as we traverse the text to create a range to send out for checking.
97
98         * WebKitSupport/InputHandler.cpp:
99         (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
100         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
101         (BlackBerry::WebKit::InputHandler::setElementFocused):
102         (WebKit):
103         (BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
104         * WebKitSupport/SpellingHandler.cpp:
105         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
106         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
107
108 2013-05-06  Mike Lattanzio  <mlattanzio@blackberry.com>
109
110         [BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
111         https://bugs.webkit.org/show_bug.cgi?id=113808
112
113         Reviewed by Rob Buis.
114
115         Create a WebSetting for text autosizing. The default is off.
116
117         * Api/WebPage.cpp:
118         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
119         * Api/WebSettings.cpp:
120         (WebKit):
121         (BlackBerry::WebKit::WebSettings::standardSettings):
122         (BlackBerry::WebKit::WebSettings::isTextAutosizingEnabled):
123         (BlackBerry::WebKit::WebSettings::setTextAutosizingEnabled):
124         * Api/WebSettings.h:
125
126 2013-05-06  Nima Ghanavatian  <nghanavatian@blackberry.com>
127
128         [BlackBerry] Ensure document is attached before accessing its FrameSelection
129         https://bugs.webkit.org/show_bug.cgi?id=115565
130
131         Reviewed by Rob Buis.
132
133         Internally reviewed by Mike Fenton.
134
135         PR 312101
136         We need to make sure that the node and document
137         are attached before accessing the FrameSelection. This was
138         handled earlier but not all call paths were covered.
139
140         * WebKitSupport/InputHandler.cpp:
141         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
142         (BlackBerry::WebKit::InputHandler::isActiveTextEdit):
143         (WebKit):
144         * WebKitSupport/InputHandler.h:
145
146 2013-05-06  Nima Ghanavatian  <nghanavatian@blackberry.com>
147
148         [BlackBerry] Do not spellcheck when composition is active.
149         https://bugs.webkit.org/show_bug.cgi?id=115562
150
151         Reviewed by Rob Buis.
152
153         Internally reviewed by Mike Fenton.
154
155         PR331344
156         Typing can trigger rechecking since layout changes. Ensure
157         extra work is only done when we need it, and that it won't
158         be triggered when composition is active. If the user hasn't
159         finished a word yet, it is likely future key events will be
160         arriving, so checking the string at this point is extraneous.
161
162         * WebKitSupport/InputHandler.cpp:
163         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
164
165 2013-05-06  Nima Ghanavatian  <nghanavatian@blackberry.com>
166
167         [BlackBerry] Reduce the spellcheck checking range
168         https://bugs.webkit.org/show_bug.cgi?id=115479
169
170         Reviewed by Rob Buis.
171
172         Internally reviewed by Mike Fenton.
173
174         PR332773
175         Previously we were spellchecking the entire field on focus. If relayouting
176         occurred we rechecked this region, which is very costly. Switch to check
177         only a small region around the caret in both cases, which should alleviate
178         much of the delays experienced in very large contenteditable fields. This
179         allows for faster key input response and less time processing these requests
180         on the WebKit thread.
181
182         * WebKitSupport/InputHandler.cpp:
183         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
184         (BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
185         * WebKitSupport/SpellingHandler.cpp:
186         (WebKit):
187         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
188         * WebKitSupport/SpellingHandler.h:
189         (SpellingHandler):
190
191 2013-05-06  Nima Ghanavatian  <nghanavatian@blackberry.com>
192
193         [BlackBerry] Use a more descriptive timer name
194         https://bugs.webkit.org/show_bug.cgi?id=115481
195
196         Reviewed by Rob Buis.
197
198         Internally reviewed by Mike Fenton.
199
200         Changing m_timer to m_iterationDelayTimer.
201
202         * WebKitSupport/SpellingHandler.cpp:
203         (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
204         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
205         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
206         * WebKitSupport/SpellingHandler.h:
207         (SpellingHandler):
208
209 2013-05-04  Nima Ghanavatian  <nghanavatian@blackberry.com>
210
211         [BlackBerry] Clean up unused spellcheck code
212         https://bugs.webkit.org/show_bug.cgi?id=115560
213
214         Reviewed by Benjamin Poulain.
215         Internally reviewed by Mike Lattanzio
216
217         * Api/WebPage.cpp:
218         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
219         * Api/WebPage.h:
220         * WebKitSupport/InputHandler.cpp:
221         * WebKitSupport/InputHandler.h:
222         (InputHandler):
223
224 2013-05-03  Jacky Jiang  <zhajiang@blackberry.com>
225
226         [BlackBerry] Page rendering scale is changed after go back and forward
227         https://bugs.webkit.org/show_bug.cgi?id=115573
228
229         Reviewed by Rob Buis.
230         Internally reviewed by Jeff Rogers.
231
232         PR: 326886
233         When navigating back from page A with viewport to page B without
234         viewport, we didn't call setViewMode(); therefore, we didn't change
235         the fixed layout size which was set by page A. In that case, WebCore
236         would just pick up page A's fixed layout size to layout page B which
237         caused this issue.
238         Expecting zoomToInitialScaleOnLoad() or other functions to setViewMode()
239         later is not a good way, because zoomToInitialScaleOnLoad() has never
240         been called in this case. So we should always call setViewMode() to set
241         fixed layout size when a new page is committed.
242
243         * Api/WebPage.cpp:
244         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
245
246 2013-05-02  Genevieve Mak  <gmak@rim.com>
247
248         [BlackBerry] Cannot touch scroll readonly text input.
249         https://bugs.webkit.org/show_bug.cgi?id=115378
250
251         Reviewed by Rob Buis.
252
253         PR #332902
254         Reviewed Internally by Mike Fenton.
255         Forgot half the patch.
256         Node::rendererIsEditable() returns false if the input element has the readonly tag set.
257         Check the node type instead.
258
259         * Api/InRegionScroller.cpp:
260         (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
261
262 2013-05-02  Iris Wu  <shuwu@blackberry.com>
263
264         [BlackBerry] Make scroll position adjustment work with pages with fixed position elements.
265         https://bugs.webkit.org/show_bug.cgi?id=115178
266
267         Reviewed by Rob Buis.
268
269         PR 308796
270         Debug build fix.
271
272         * Api/WebPage.cpp:
273         (BlackBerry::WebKit::WebPage::fixedElementSizeDelta):
274
275 2013-05-01  Iris Wu  <shuwu@blackberry.com>
276
277          [BlackBerry] Upstream smart selection
278          https://bugs.webkit.org/show_bug.cgi?id=111226
279
280         Reviewed by Rob Buis.
281
282         Calling userInterfaceViewportAccessor()->documentViewportRect() on WK thread
283         caused crash.
284         But viewport from webkitThreadViewportAccessor uses unadjusted size which is
285         wrong for email.
286         The solution here is to get actual viewport size on UI thread and then pass it
287         to WebKit::SelectionHandler.
288
289         PR 333763
290         Reviewed Internally By Jakob Petsovits.
291
292         * Api/InRegionScroller.cpp:
293         (BlackBerry::WebKit::InRegionScrollerPrivate::updateSelectionScrollView):
294         * Api/WebPage.cpp:
295         (BlackBerry::WebKit::WebPage::setSelectionDocumentViewportSize):
296         (WebKit):
297         * Api/WebPage.h:
298         * WebKitSupport/SelectionHandler.cpp:
299         (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
300         (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
301         (BlackBerry::WebKit::SelectionHandler::selectionViewportRect):
302         * WebKitSupport/SelectionHandler.h:
303         (BlackBerry::WebKit::SelectionHandler::setSelectionViewportSize):
304         (BlackBerry::WebKit::SelectionHandler::setSelectionSubframeViewportRect):
305         (SelectionHandler):
306
307 2013-04-30  Genevieve Mak  <gmak@rim.com>
308
309         [BlackBerry] Cannot touch scroll readonly text input.
310         https://bugs.webkit.org/show_bug.cgi?id=115378
311
312         Reviewed by Rob Buis.
313
314         PR #332902
315         Reviewed Internally by Mike Fenton.
316         Node::rendererIsEditable() returns false if the input element has the readonly tag set.
317         Check the node type instead.
318
319         * WebKitSupport/DOMSupport.cpp:
320         (BlackBerry::WebKit::DOMSupport::isShadowHostTextInputElement):
321         (DOMSupport):
322         * WebKitSupport/DOMSupport.h:
323         * WebKitSupport/InRegionScrollableArea.cpp:
324         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
325
326 2013-04-29  Jakob Petsovits  <jpetsovits@blackberry.com>
327
328         [BlackBerry] Replace disappearing fillBuffer() API with graphics context drawing
329         https://bugs.webkit.org/show_bug.cgi?id=115360
330         Internal PR 303048.
331
332         Reviewed by Rob Buis.
333
334         Instead of using fillBuffer() to draw directly to the
335         target buffer, we now lock a Drawable on it and fill it
336         with PlatformGraphicsContext::addPredefinedPattern().
337
338         As a bonus, this also includes related clean-ups -
339         simpler checkerboard painting code, removal of
340         fillWindow(), clearWindow() and paintDefaultBackground(),
341         as well as getting rid of the DEBUG_CHECKERBOARD define
342         which has been useless for performance tracing purposes
343         for a while now.
344
345         * Api/BackingStore.cpp:
346         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
347         * Api/BackingStore_p.h:
348
349 2013-04-26  Nima Ghanavatian  <nghanavatian@blackberry.com>
350
351         [BlackBerry] Check for valid element in elementTouched
352         https://bugs.webkit.org/show_bug.cgi?id=115205
353
354         Reviewed by Rob Buis.
355
356         Internally reviewed by Genevieve Mak.
357
358         PR 331546
359         We might receive a null ptr from nodeAsElementIfApplicable which
360         is passed in here. Check to make sure it's valid before using.
361
362         * WebKitSupport/InputHandler.cpp:
363         (BlackBerry::WebKit::InputHandler::elementTouched):
364
365 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
366
367         Remove the remaining Skia #ifdefs
368         https://bugs.webkit.org/show_bug.cgi?id=114886
369
370         Reviewed by Benjamin Poulain.
371
372         * Api/WebPage.cpp: Remove Skia #ifdef references.
373         * WebCoreSupport/AboutDataUseFeatures.in: Ditto.
374
375 2013-04-26  Mary Wu  <mary.wu@torchmobile.com.cn>
376
377         [BlackBerry] Should check if it's cached resource before download
378         https://bugs.webkit.org/show_bug.cgi?id=115101
379
380         Reviewed by Rob Buis.
381
382         Since main resource maybe cached, if user want to save the resource, we first check
383         if it's cached. If yes, don't need to initiate a fresh load again, but get the
384         cached resource data out to save.
385
386         RIM bug# 324003, internally reviewed by Charles Wei.
387
388         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
389         (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
390
391 2013-04-26  Mary Wu  <mary.wu@torchmobile.com.cn>
392
393         [BlackBerry] Clean up load interface in WebPage
394         https://bugs.webkit.org/show_bug.cgi?id=113267
395
396         Reviewed by Rob Buis.
397
398         Remove unused loadExtended(), combine load() and download() api in WebPage.
399         RIM Bug# 315535, internally reviewed by Joe Mason.
400
401         * Api/WebPage.cpp:
402         (BlackBerry::WebKit::WebPage::load):
403         * Api/WebPage.h:
404
405 2013-04-25  Andrew Lo  <anlo@rim.com>
406
407         [BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
408         https://bugs.webkit.org/show_bug.cgi?id=115197
409
410         Reviewed by Rob Buis.
411
412         When drawing the selection overlay, the rects to
413         paint when selecting text on non-composited sub-frames
414         need to be adjusted by the frame position.
415
416         * WebKitSupport/SelectionOverlay.cpp:
417         (BlackBerry::WebKit::SelectionOverlay::paintContents):
418
419 2013-04-25  Andreas Kling  <akling@apple.com>
420
421         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
422
423         Rubber-stamped by Anders Koivisto.
424
425         * WebCoreSupport/AboutDataEnableFeatures.in:
426
427 2013-04-25  Iris Wu  <shuwu@blackberry.com>
428
429         [BlackBerry] Make scroll position adjustment work with pages with fixed position elements.
430         https://bugs.webkit.org/show_bug.cgi?id=115178
431
432         Reviewed by Rob Buis.
433
434         PR 308796
435
436         Currently the position WebPage::adjustDocumentScrollPosition adjusts is the top
437         left point of the viewport.
438         On the page with fixed position elements, we want it to adjust the position beneath
439         the fixed elements so it can be always visible.
440
441         The basic idea is:
442         1.  Detect if there are fixed position elements before going through ProximityDetector.
443         2.  If the fixed element exists, calculate its the size and the actual visible position
444             beneath it.
445         3.  Pass the position to ProximityDetector. Then according to the new position we get,
446             calculate the top left position of the viewport (final scroll position).
447
448         * Api/WebPage.cpp:
449         (BlackBerry::WebKit::WebPage::fixedElementSizeDelta):
450         (WebKit):
451         * Api/WebPage.h:
452         * Api/WebPageCompositor.cpp:
453         (BlackBerry::WebKit::WebPageCompositorPrivate::findFixedElementRect):
454         (WebKit):
455         * Api/WebPageCompositor_p.h:
456         (WebPageCompositorPrivate):
457
458 2013-04-25  Mike Lattanzio  <mlattanzio@blackberry.com>
459
460         [BlackBerry] Enable balanced page group load deferrer behaviour.
461         https://bugs.webkit.org/show_bug.cgi?id=115189
462
463         Reviewed by Rob Buis.
464
465         Prevent a possible deadlock by enabling balanced deferrers.
466         Internally reviewed by: Joe Mason
467         PR 329986
468
469         * Api/WebPage.cpp:
470         (BlackBerry::WebKit::WebPagePrivate::init):
471
472 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
473
474         Web Inspector: ConsoleMessage should include line and column number where possible
475         https://bugs.webkit.org/show_bug.cgi?id=114929
476
477         Reviewed by Timothy Hatcher.
478
479         * Api/DumpRenderTreeClient.h:
480         * Api/WebPageClient.h:
481         * WebCoreSupport/ChromeClientBlackBerry.cpp:
482         (WebCore::ChromeClientBlackBerry::addMessageToConsole):
483         * WebCoreSupport/ChromeClientBlackBerry.h:
484         (ChromeClientBlackBerry):
485
486 2013-04-25  Konrad Piascik  <kpiascik@blackberry.com>
487
488         [BlackBerry] Get rid of return in void method
489         https://bugs.webkit.org/show_bug.cgi?id=115186
490
491         Reviewed by Rob Buis.
492
493         * Api/WebPage.cpp:
494         (BlackBerry::WebKit::WebPage::setForcedTextEncoding):
495
496 2013-04-24  Nima Ghanavatian  <nghanavatian@blackberry.com>
497
498         [BlackBerry] Do not clear focus on a node when tapping on form controls
499         https://bugs.webkit.org/show_bug.cgi?id=115055
500
501         Reviewed by Rob Buis.
502
503         Internally reviewed by Genevieve Mak.
504
505         PR316069
506         To allow for rich text editors to apply styles on an input field
507         or highlighted text, we must maintain focus on the current element
508         when tapping on form elements. Moving the code that clears this
509         context to trigger off TouchHold instead of TouchPress.
510
511         * WebKitSupport/TouchEventHandler.cpp:
512         (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
513
514 == Rolled over to ChangeLog-2013-04-24 ==