Moving word boundaries backwards fails when there is a text node starting with an...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-23  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Moving word boundaries backwards fails when there is a text node starting with an apostrophe
4         https://bugs.webkit.org/show_bug.cgi?id=115070
5
6         Reviewed by Alexey Proskuryakov.
7
8         The bug was caused by previousBoundary erroneously assuming that we don't need any more context if a word
9         boundary is found at the beginning of a string. For example, when "I'll" is split into two text nodes,
10         "I" and "'ll", there is a word boundary between "'" and "ll" in "'ll" so we need to examine the whole "I'll".
11
12         Fixed the bug by obtaining more context when the character starts exactly at offset 1 in a text node to
13         work around this bug. In the long term, we probably need to provide Foundation of the entire context since in
14         languages like Hebrew and some of European languages, there could be many accents and combining characters
15         between split into multiple text nodes as one variant is seen in the newly added test case.
16
17         Test: editing/selection/previous-word-boundary-across-text-nodes.html
18
19         * editing/VisibleUnits.cpp:
20         (WebCore::previousBoundary):
21
22 2013-04-24  Benjamin Poulain  <bpoulain@apple.com>
23
24         Do not use static string in DiagnosticLoggingKeys
25         https://bugs.webkit.org/show_bug.cgi?id=115093
26
27         Reviewed by Andreas Kling.
28
29         The code is not hot enough to justify keeping the memory around.
30         This removes 3kb from the binary on x86_64.
31
32         * page/DiagnosticLoggingKeys.cpp:
33         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
34         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
35         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
36         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
37         (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
38         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
39         (WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
40         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
41         (WebCore::DiagnosticLoggingKeys::passKey):
42         (WebCore::DiagnosticLoggingKeys::failKey):
43         (WebCore::DiagnosticLoggingKeys::noopKey):
44         * page/DiagnosticLoggingKeys.h:
45         (DiagnosticLoggingKeys):
46
47 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
48
49         Remove wxWebKit #ifdefs from WebCore/platform/graphics
50         https://bugs.webkit.org/show_bug.cgi?id=115081
51
52         Reviewed by Geoffrey Garen.
53
54         * platform/graphics/BitmapImage.h:
55         (BitmapImage):
56         * platform/graphics/Color.h:
57         (Color):
58         * platform/graphics/FloatRect.h:
59         (FloatRect):
60         * platform/graphics/FloatSize.h:
61         (FloatSize):
62         * platform/graphics/FontPlatformData.h:
63         * platform/graphics/GlyphBuffer.h:
64         (WebCore):
65         (WebCore::GlyphBuffer::glyphAt):
66         (WebCore::GlyphBuffer::add):
67         * platform/graphics/Gradient.h:
68         * platform/graphics/GraphicsContext.h:
69         (GraphicsContext):
70         * platform/graphics/Image.cpp:
71         (WebCore::Image::drawTiled):
72         * platform/graphics/ImageBufferData.h:
73         * platform/graphics/IntPoint.h:
74         (IntPoint):
75         * platform/graphics/IntRect.h:
76         * platform/graphics/IntSize.h:
77         (IntSize):
78         * platform/graphics/NativeImagePtr.h:
79         (WebCore):
80         * platform/graphics/Path.h:
81         * platform/graphics/Pattern.h:
82         * platform/graphics/SimpleFontData.h:
83         (SimpleFontData):
84         (WebCore::SimpleFontData::widthForGlyph):
85         * platform/graphics/mac/ComplexTextController.cpp:
86         (WebCore::ComplexTextController::collectComplexTextRuns):
87         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
88         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
89         * platform/graphics/transforms/AffineTransform.h:
90         (AffineTransform):
91         * platform/graphics/transforms/TransformationMatrix.h:
92         (TransformationMatrix):
93
94 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
95
96         Remove wxWebKit #ifdefs from WebCore/plugins
97         https://bugs.webkit.org/show_bug.cgi?id=115080
98
99         Reviewed by Geoffrey Garen.
100
101         * plugins/PluginView.h:
102         (PluginView):
103         * plugins/mac/PluginViewMac.mm:
104         (WebCore::nativeWindowFor):
105         (WebCore::cgHandleFor):
106         (WebCore::topLevelOffsetFor):
107         (WebCore::PluginView::platformStart):
108         * plugins/win/PluginViewWin.cpp:
109         (windowHandleForPageClient):
110         (WebCore::PluginView::handleMouseEvent):
111         (WebCore::PluginView::platformStart):
112         (WebCore::PluginView::snapshot):
113
114 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
115
116         Remove wxWebKit #ifdefs from WebCore/page
117         https://bugs.webkit.org/show_bug.cgi?id=115079
118
119         Reviewed by Geoffrey Garen.
120
121         * page/FrameView.cpp:
122         (WebCore::FrameView::wheelEvent):
123         * page/Settings.cpp:
124         (WebCore):
125         * page/Settings.h:
126         (Settings):
127
128 2013-04-24  Chris Fleizach  <cfleizach@apple.com>
129
130         AX: WAI-ARIA landmarks no longer speak type of landmark on iOS
131         https://bugs.webkit.org/show_bug.cgi?id=114547
132
133         Reviewed by David Kilzer.
134
135         We want iOS to speak the landmark type.
136         I've moved the landmark role description to the base Mac class and exposed
137         these localized strings to iOS (the ones used to return landmark descriptions).
138
139         I've also updated the accessibilityLabel to account for landmark type, but also
140         handle multiple label sources more gracefully by appending commas, which changed a few
141         tests in minor ways.
142
143         Test: platform/iphone-simulator/accessibility/landmark-type.html
144
145         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
146         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
147         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
148         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
149         (-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
150         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
151         (-[WebAccessibilityObjectWrapper roleDescription]):
152         * platform/LocalizedStrings.cpp:
153         (WebCore):
154         (WebCore::AXButtonActionVerb):
155         (WebCore::AXRadioButtonActionVerb):
156         (WebCore::AXTextFieldActionVerb):
157         (WebCore::AXCheckedCheckBoxActionVerb):
158         (WebCore::AXUncheckedCheckBoxActionVerb):
159         (WebCore::AXLinkActionVerb):
160         (WebCore::AXMenuListPopupActionVerb):
161         (WebCore::AXMenuListActionVerb):
162         * platform/LocalizedStrings.h:
163         (WebCore):
164
165 2013-04-24  Andreas Kling  <akling@apple.com>
166
167         CSS attribute selectors cause unnecessary style recalc when setting attribute to same value.
168         <http://webkit.org/b/115116>
169         <rdar://problem/13727709>
170
171         Reviewed by Simon Fraser.
172
173         The logic that dirties the style if there's a relevant attribute selector in the document
174         shouldn't run if the attribute is being overwritten with an identical value.
175         Move this into willModifyAttribute() instead, since we need access to both the old and the new value.
176
177         This reduces unnecessary style recalculation in Mac App Store content.
178
179         * dom/Element.cpp:
180         (WebCore::Element::attributeChanged):
181         (WebCore::Element::willModifyAttribute):
182
183 2013-04-24  Jonathan Feldstein <jfeldstein@blackberry.com>
184
185         [BlackBerry] Fixes the San Angeles demo on khronos.org
186         https://bugs.webkit.org/show_bug.cgi?id=115106
187
188         Reviewed by Rob Buis
189         Internally Reviewed by Jeremy Nicholl and Arvid Nilsson
190
191         Fixes a bug in which the currently bound vertex array object's vertex array
192         state was being modified as opposed to the default vertex array state.
193
194         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
195         (EGLImageLayerWebKitThread::blitToFrontBuffer):
196
197 2013-04-24  Nico Weber  <thakis@chromium.org>
198
199         Fold RenderThemeMacShared into RenderThemeMac
200         https://bugs.webkit.org/show_bug.cgi?id=115086
201
202         Reviewed by Anders Carlsson.
203
204         No intended functionality change.
205
206         * WebCore.xcodeproj/project.pbxproj:
207         * rendering/RenderThemeMac.h:
208         (RenderThemeMac):
209         (WebCore::RenderThemeMac::supportsControlTints):
210         (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
211         (WebCore::RenderThemeMac::supportsSelectionForegroundColors):
212         (WebCore::RenderThemeMac::supportsClosedCaptioning):
213         (WebCore::RenderThemeMac::updateActiveState):
214         * rendering/RenderThemeMac.mm:
215         (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
216         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
217         (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
218         (WebCore::RenderThemeMac::RenderThemeMac):
219         (WebCore::RenderThemeMac::~RenderThemeMac):
220         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
221         (WebCore):
222         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
223         (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
224         (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
225         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
226         (WebCore::RenderThemeMac::platformFocusRingColor):
227         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
228         (WebCore::toFontWeight):
229         (WebCore::RenderThemeMac::systemFont):
230         (WebCore::convertNSColorToColor):
231         (WebCore::menuBackgroundColor):
232         (WebCore::RenderThemeMac::platformColorsDidChange):
233         (WebCore::RenderThemeMac::systemColor):
234         (WebCore::RenderThemeMac::usesTestModeFocusRingColor):
235         (WebCore::RenderThemeMac::isControlStyled):
236         (WebCore::RenderThemeMac::adjustRepaintRect):
237         (WebCore::RenderThemeMac::inflateRect):
238         (WebCore::RenderThemeMac::convertToPaintingRect):
239         (WebCore::RenderThemeMac::updateCheckedState):
240         (WebCore::RenderThemeMac::updateEnabledState):
241         (WebCore::RenderThemeMac::updateFocusedState):
242         (WebCore::RenderThemeMac::updatePressedState):
243         (WebCore::RenderThemeMac::controlSupportsTints):
244         (WebCore::RenderThemeMac::controlSizeForFont):
245         (WebCore::RenderThemeMac::setControlSize):
246         (WebCore::RenderThemeMac::sizeForFont):
247         (WebCore::RenderThemeMac::sizeForSystemFont):
248         (WebCore::RenderThemeMac::setSizeFromFont):
249         (WebCore::RenderThemeMac::setFontFromControlSize):
250         (WebCore::RenderThemeMac::controlSizeForSystemFont):
251         (WebCore::RenderThemeMac::paintTextField):
252         (WebCore::RenderThemeMac::adjustTextFieldStyle):
253         (WebCore::RenderThemeMac::paintCapsLockIndicator):
254         (WebCore::RenderThemeMac::paintTextArea):
255         (WebCore::RenderThemeMac::adjustTextAreaStyle):
256         (WebCore::RenderThemeMac::popupButtonMargins):
257         (WebCore::RenderThemeMac::popupButtonSizes):
258         (WebCore::RenderThemeMac::popupButtonPadding):
259         (WebCore::RenderThemeMac::paintMenuList):
260         (WebCore::RenderThemeMac::meterSizeForBounds):
261         (WebCore::RenderThemeMac::paintMeter):
262         (WebCore::RenderThemeMac::supportsMeter):
263         (WebCore::RenderThemeMac::levelIndicatorStyleFor):
264         (WebCore::RenderThemeMac::levelIndicatorFor):
265         (WebCore::RenderThemeMac::progressBarSizes):
266         (WebCore::RenderThemeMac::progressBarMargins):
267         (WebCore::RenderThemeMac::minimumProgressBarHeight):
268         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
269         (WebCore::RenderThemeMac::animationDurationForProgressBar):
270         (WebCore::RenderThemeMac::adjustProgressBarStyle):
271         (WebCore::RenderThemeMac::paintProgressBar):
272         (WebCore::TopGradientInterpolate):
273         (WebCore::BottomGradientInterpolate):
274         (WebCore::MainGradientInterpolate):
275         (WebCore::TrackGradientInterpolate):
276         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
277         (WebCore::RenderThemeMac::paintMenuListButton):
278         (WebCore::menuListButtonSizes):
279         (WebCore::RenderThemeMac::adjustMenuListStyle):
280         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
281         (WebCore::RenderThemeMac::popupInternalPaddingRight):
282         (WebCore::RenderThemeMac::popupInternalPaddingTop):
283         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
284         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
285         (WebCore::RenderThemeMac::setPopupButtonCellState):
286         (WebCore::RenderThemeMac::menuListSizes):
287         (WebCore::RenderThemeMac::minimumMenuListSize):
288         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
289         (WebCore::RenderThemeMac::paintSliderTrack):
290         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
291         (WebCore::RenderThemeMac::paintSliderThumb):
292         (WebCore::RenderThemeMac::paintSearchField):
293         (WebCore::RenderThemeMac::setSearchCellState):
294         (WebCore::RenderThemeMac::searchFieldSizes):
295         (WebCore::RenderThemeMac::setSearchFieldSize):
296         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
297         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
298         (WebCore::RenderThemeMac::cancelButtonSizes):
299         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
300         (WebCore::RenderThemeMac::resultsButtonSizes):
301         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
302         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
303         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
304         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
305         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
306         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
307         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
308         (WebCore::RenderThemeMac::sliderTickSize):
309         (WebCore::RenderThemeMac::sliderTickOffsetFromTrackCenter):
310         (WebCore::RenderThemeMac::adjustSliderThumbSize):
311         (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
312         (WebCore::RenderThemeMac::popupButton):
313         (WebCore::RenderThemeMac::search):
314         (WebCore::RenderThemeMac::searchMenuTemplate):
315         (WebCore::RenderThemeMac::sliderThumbHorizontal):
316         (WebCore::RenderThemeMac::sliderThumbVertical):
317         (WebCore::RenderThemeMac::textField):
318         (WebCore::RenderThemeMac::fileListNameForWidth):
319         * rendering/RenderThemeMacShared.h: Removed.
320         * rendering/RenderThemeMacShared.mm: Removed.
321
322 2013-04-24  ChangSeok Oh  <changseok.oh@collabora.com>
323
324         [GTK][AC] Visible rect doesn't update after resizing a window.
325         https://bugs.webkit.org/show_bug.cgi?id=115096
326
327         Reviewed by Gustavo Noronha Silva.
328
329         Once we set actor's a clip rect, we should update the rect when resizing the actor.
330
331         No new tests since no new functionality.
332
333         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
334         (WebCore::GraphicsLayerClutter::setSize):
335
336 2013-04-24  ChangSeok Oh  <changseok.oh@collabora.com>
337
338         [GTK][AC] Fix unexpected clear of ClutterContent.
339         https://bugs.webkit.org/show_bug.cgi?id=115099
340
341         Reviewed by Gustavo Noronha Silva.
342
343         adoptGRef doesn't increase a reference count. So if a actor has a valid ClutterContent,
344         it would be cleared unexpectedly by smart pointer when escaping a function.
345
346         No new tests, no functionality changed.
347
348         * platform/graphics/clutter/GraphicsLayerActor.cpp:
349         (graphicsLayerActorUpdateTexture):
350
351 2013-04-24  Alberto Garcia  <agarcia@igalia.com>
352
353         DOMFileSystemBase: fix multiple definitions in the BlackBerry port
354         https://bugs.webkit.org/show_bug.cgi?id=114950
355
356         Reviewed by Xan Lopez.
357
358         The following  methods are already defined in DOMFileSystemBlackBerry.cpp:
359
360         crackFileSystemURL()
361         createFileSystemURL()
362         isValidType()
363         supportsToURL()
364
365         * Modules/filesystem/DOMFileSystemBase.cpp:
366         (WebCore):
367
368 2013-04-24  George Staikos  <gstaikos@rim.com>
369
370         [BlackBerry] Add support for JPEG image quality during encoding.
371         https://bugs.webkit.org/show_bug.cgi?id=105773
372
373         Reviewed by Xan Lopez.
374
375         PR 271611
376         Internally reviewed by Liam Quinn.
377
378         Pass the quality flag into the encoder, with a default of 65
379
380         Covered by existing tests.
381
382         * platform/image-encoders/JPEGImageEncoder.cpp:
383         (WebCore::compressRGBABigEndianToJPEG):
384         * platform/image-encoders/JPEGImageEncoder.h:
385         (WebCore):
386
387 2013-04-24  Csaba Osztrogon√°c  <ossy@webkit.org>
388
389         Fix cast-align WebCore/platform/graphics/GraphicsContext3D.cpp on ARM
390         https://bugs.webkit.org/show_bug.cgi?id=115036
391
392         Reviewed by Benjamin Poulain.
393
394         * platform/graphics/GraphicsContext3D.cpp:
395         (WebCore):
396
397 2013-04-24  Andreas Kling  <akling@apple.com>
398
399         Remove unnecessary MutableStylePropertySet casts.
400         <http://webkit.org/b/115075>
401
402         Reviewed by Geoffrey Garen.
403
404         Get rid of some now-unneeded static_casts that were left from the StylePropertySet
405         refactoring last weekend.
406
407         * css/StylePropertySet.cpp:
408         (WebCore::MutableStylePropertySet::setProperty):
409         * editing/EditingStyle.cpp:
410         (WebCore::EditingStyle::triStateOfStyle):
411         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
412
413 2013-04-24  Kangil Han  <kangil.han@samsung.com>
414
415         [Minor code cleanup] Remove duplicated condition check
416         https://bugs.webkit.org/show_bug.cgi?id=115082
417
418         Reviewed by Andreas Kling.
419
420         areRectsPartiallyAligned() has duplicated condition check, so remove it.
421
422         * page/SpatialNavigation.cpp:
423         (WebCore::areRectsPartiallyAligned):
424
425 2013-04-24  Krzysztof Wolanski  <k.wolanski@samsung.com>
426
427         [EFL] Fix build warnings caused by missing images attributes for default buttons
428         https://bugs.webkit.org/show_bug.cgi?id=114955
429
430         Reviewed by Gyuyoung Kim.
431
432         Added default image for each button from mediacontrol catalog.
433
434         No new tests, because there is no change in behavior.
435
436         * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc:
437         * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc:
438         * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc:
439         * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc:
440         * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc:
441         * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc:
442
443 2013-04-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
444
445         Unreviewed build fix with gstreamer 0.10.x after r147555.
446
447         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
448         (webKitWebAudioSrcLoop):
449
450 == Rolled over to ChangeLog-2013-04-24 ==