2011-02-07 Zhenyao Mo <zmo@google.com>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-07  Sam Weinig  <sam@webkit.org>
2
3         Fix build.
4
5         * platform/mac/ScrollAnimatorMac.mm:
6         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
7         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
8         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
9         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
10
11 2011-02-07  Sam Weinig  <sam@webkit.org>
12
13         Reviewed by Beth Dakin.
14
15         Add mechanism to inform the ScrollAnimator when Scrollbars are added 
16         and removed.
17
18         * platform/ScrollAnimator.h:
19         (WebCore::ScrollAnimator::didAddVerticalScrollbar):
20         (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
21         (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
22         (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
23         Make virtual to allow platform specific overrides.
24
25         * platform/ScrollView.cpp:
26         (WebCore::ScrollView::setHasHorizontalScrollbar):
27         (WebCore::ScrollView::setHasVerticalScrollbar):
28         Call new ScrollableArea functions.
29
30         * platform/ScrollableArea.cpp:
31         (WebCore::ScrollableArea::didAddVerticalScrollbar):
32         (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
33         (WebCore::ScrollableArea::didAddHorizontalScrollbar):
34         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
35         * platform/ScrollableArea.h:
36         Pipe to ScrollAnimator.
37
38         * platform/mac/ScrollAnimatorMac.h:
39         * platform/mac/ScrollAnimatorMac.mm:
40         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
41         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
42         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
43         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
44         * platform/mac/ScrollbarThemeMac.h:
45         * platform/mac/ScrollbarThemeMac.mm:
46         (WebCore::ScrollbarThemeMac::registerScrollbar):
47         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
48         (WebCore::ScrollbarThemeMac::painterForScrollbar):
49         Move painter delegate registration to the new didAdd/willRemove functions.
50
51 2011-02-07  Anders Carlsson  <andersca@apple.com>
52
53         Reviewed by Dan Bernstein.
54
55         Missing text match markers with accelerated content
56         https://bugs.webkit.org/show_bug.cgi?id=53934
57
58         When doing the fake paint that recomputes the text match rects, we need to
59         flatten compositing layers, otherwise the rects won't be updated until the next paint call.
60
61         (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
62         window before asking for the text match rects).
63
64         * editing/Editor.cpp:
65         (WebCore::Editor::countMatchesForText):
66
67 2011-02-07  Antti Koivisto  <antti@apple.com>
68
69         Reviewed by Andreas Kling.
70
71         REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
72         https://bugs.webkit.org/show_bug.cgi?id=53900
73         
74         Ignore link elements in shadow trees.
75
76         * dom/Element.cpp:
77         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
78         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
79                 
80             Some asserts to catch cases like this.
81
82         (WebCore::Element::attach):
83         (WebCore::Element::recalcStyle):
84         * html/HTMLLinkElement.cpp:
85         (WebCore::HTMLLinkElement::HTMLLinkElement):
86         (WebCore::HTMLLinkElement::process):
87         (WebCore::HTMLLinkElement::insertedIntoDocument):
88         (WebCore::HTMLLinkElement::removedFromDocument):
89         * html/HTMLLinkElement.h:
90
91 2011-02-07  Darin Adler  <darin@apple.com>
92
93         Turn UTF-8 decoder off for now so we can look into failing tests
94         without leaving the tree red.
95
96         * platform/text/TextCodecICU.cpp:
97         (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
98         earlier change so this can handle UTF-8.
99         (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
100         (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
101         (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
102         * platform/text/TextCodecICU.h: Ditto.
103         * platform/text/TextEncodingRegistry.cpp:
104         (WebCore::buildBaseTextCodecMaps): Ditto.
105         (WebCore::extendTextCodecMaps): Ditto.
106         * platform/text/brew/TextCodecBrew.cpp:
107         (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
108         (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
109         (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
110         (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
111         * platform/text/brew/TextCodecBrew.h: Ditto.
112         * platform/text/gtk/TextCodecGtk.cpp:
113         (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
114         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
115         * platform/text/wince/TextCodecWinCE.cpp:
116         (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
117         (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
118         (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
119         (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
120         * platform/text/wince/TextCodecWinCE.h: Ditto.
121
122 2011-02-07  Anders Carlsson  <andersca@apple.com>
123
124         Reviewed by Maciej Stachowiak.
125
126         Don't exclude overlay scrollers from the page overlay bounds
127         https://bugs.webkit.org/show_bug.cgi?id=53924
128
129         Export ScrollbarTheme::nativeTheme.
130
131         * WebCore.exp.in:
132
133 2011-02-07  Zhenyao Mo  <zmo@google.com>
134
135         Reviewed by Kenneth Russell.
136
137         Crash in glDrawArrays with NaCl crystal model
138         https://bugs.webkit.org/show_bug.cgi?id=52831
139
140         * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
141         (WebCore::WebGLRenderingContext::initVertexAttrib0):
142         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
143         * html/canvas/WebGLRenderingContext.h:
144
145 2011-02-07  Chris Fleizach  <cfleizach@apple.com>
146
147         Reviewed by Darin Adler.
148
149         WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
150         https://bugs.webkit.org/show_bug.cgi?id=53842
151
152         Test: platform/mac/accessibility/aria-sort.html
153
154         * accessibility/AccessibilityObject.cpp:
155         (WebCore::AccessibilityObject::sortDirection):
156         * accessibility/AccessibilityObject.h:
157         * accessibility/mac/AccessibilityObjectWrapper.mm:
158         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
159         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
160         * html/HTMLAttributeNames.in:
161
162 2011-02-07  Darin Adler  <darin@apple.com>
163
164         Reviewed by Antti Koivisto.
165
166         Add built-in decoder for UTF-8 for improved performance
167         https://bugs.webkit.org/show_bug.cgi?id=53898
168
169         Correct behavior is covered by existing tests.
170
171         * Android.mk: Added TextCodecUTF8.
172         * CMakeLists.txt: Ditto.
173         * GNUmakefile.am: Ditto.
174         * WebCore.gypi: Ditto.
175         * WebCore.pro: Ditto.
176         * WebCore.vcproj/WebCore.vcproj: Ditto.
177         * WebCore.xcodeproj/project.pbxproj: Ditto.
178
179         * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
180         since that's now handled by the built-in UTF-8 codec.
181         (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
182         the word "extended" since all codecs from ICU are now extended.
183         (WebCore::TextCodecICU::registerCodecs): Ditto.
184         * platform/text/TextCodecICU.h: Ditto.
185
186         * platform/text/TextCodecUTF16.cpp:
187         (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
188         error handling.
189
190         * platform/text/TextCodecUTF8.cpp: Added.
191         * platform/text/TextCodecUTF8.h: Added.
192
193         * platform/text/TextEncodingRegistry.cpp:
194         (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
195         removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
196         (WebCore::extendTextCodecMaps): Updated names for
197         TextCodecICU and TextCodecWinCE.
198
199         * platform/text/brew/TextCodecBrew.cpp:
200         (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
201         the word "extended" since all codecs from Brew are now extended.
202         (WebCore::TextCodecBrew::registerCodecs): Ditto.
203         * platform/text/brew/TextCodecBrew.h: Ditto.
204
205         * platform/text/gtk/TextCodecGtk.cpp:
206         (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
207         registration of UTF-8. It's questionable whether the other codecs
208         here are really basic. If we think they qualify, then we should
209         register them on other platforms, not just GTK.
210         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
211
212         * platform/text/wince/TextCodecWinCE.cpp:
213         (WebCore::getCodePage): Removed special case for UTF-8 since we
214         no longer use this codec for UTF-8.
215         (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
216         the word "extended" since all codecs from WinCE are now extended.
217         (WebCore::TextCodecWinCE::registerCodecs): Ditto.
218         * platform/text/wince/TextCodecWinCE.h: Ditto.
219
220 2011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>
221
222         Reviewed by Xan Lopez.
223
224         [Gtk] atk_text_get_caret_offset fails for list items
225         https://bugs.webkit.org/show_bug.cgi?id=53436
226
227         Consider list item markers when calculating the offset.
228
229         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
230         (webkit_accessible_text_get_caret_offset): Adjust the offset
231         with the item marker's length for list items.
232         (webkit_accessible_text_set_caret_offset): Replace usage of
233         g_utf8_strlen() by calling to markerText.length().
234
235 2011-02-07  Yi Shen  <yi.4.shen@nokia.com>
236
237         Reviewed by Tor Arne Vestbø.
238
239         [Qt] Fix LayoutTests/media/restore-from-page-cache.html
240         https://bugs.webkit.org/show_bug.cgi?id=53621
241
242         Changed the networkState to MediaPlayer::Loaded when 
243         MediaPlayerPrivateQt has enough data.
244
245         Test: media/restore-from-page-cache.html
246
247         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
248         (WebCore::MediaPlayerPrivateQt::updateStates):
249
250 2011-01-31  Pavel Podivilov  <podivilov@chromium.org>
251
252         Reviewed by Yury Semikhatsky.
253
254         Web Inspector: implement beautification of scripts inlined in html documents.
255         https://bugs.webkit.org/show_bug.cgi?id=52706
256
257         To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
258         finally paste them back to html.
259
260         * WebCore.gypi:
261         * WebCore.vcproj/WebCore.vcproj:
262         * inspector/front-end/ScriptFormatter.js:
263         (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
264         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
265         (WebInspector.ScriptFormatter.prototype.formatContent):
266         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
267         (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
268         (WebInspector.ScriptFormatter.prototype._formatChunks):
269         (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
270         (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
271         (WebInspector.ScriptFormatter.prototype._formatScript):
272         * inspector/front-end/ScriptFormatterWorker.js:
273         (onmessage):
274         (buildMapping):
275         * inspector/front-end/SourceFrame.js:
276         (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
277         * inspector/front-end/SourceFrameContent.js: Added.
278         (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
279         (WebInspector.SourceFrameContent.prototype.get scriptRanges):
280         (WebInspector.SourceFrameContent.prototype.locationToPosition):
281         (WebInspector.SourceFrameContent.prototype.positionToLocation):
282         (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
283         (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
284         (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
285         (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
286         (WebInspector):
287         (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
288         (WebInspector.FormattedSourceFrameContent.prototype.get text):
289         (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
290         (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
291         (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
292         * inspector/front-end/WebKit.qrc:
293         * inspector/front-end/inspector.html:
294
295 2011-02-07  Pavel Feldman  <pfeldman@chromium.org>
296
297         Reviewed by Yury Semikhatsky.
298
299         Web Inspector: "Reveal in elements panel" does not always work.
300         https://bugs.webkit.org/show_bug.cgi?id=53775
301
302         * inspector/front-end/ConsoleView.js:
303         (WebInspector.ConsoleView):
304         * inspector/front-end/ContextMenu.js:
305         (WebInspector.ContextMenu.prototype.show):
306         * inspector/front-end/ElementsPanel.js:
307         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
308         * inspector/front-end/ElementsTreeOutline.js:
309         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
310         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
311         * inspector/front-end/ObjectPropertiesSection.js:
312         (WebInspector.ObjectPropertyTreeElement.prototype.update):
313         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
314         * inspector/front-end/inspector.js:
315         (WebInspector.cancelSearch):
316
317 2011-02-07  Adam Barth  <abarth@webkit.org>
318
319         Reviewed by Eric Seidel.
320
321         Relative .. in URL paths shouldn't skip adjacent / characters
322         https://bugs.webkit.org/show_bug.cgi?id=53907
323
324         Our new behavior matches Firefox, Chrome, and IE.
325
326         * platform/KURL.cpp:
327         (WebCore::copyPathRemovingDots):
328
329 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
330
331         Reviewed by Antti Koivisto.
332
333         WebKitTestRunner does not block remote resources or complain about them
334         https://bugs.webkit.org/show_bug.cgi?id=42139
335         <rdar://problem/8183942>
336
337         * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
338         WebCore.
339         * WebCore.exp.in: Export a handful of KURL symbols.
340
341 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
342
343         Reviewed by Darin Adler.
344
345         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
346         https://bugs.webkit.org/show_bug.cgi?id=52867
347
348         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
349         * bindings/v8/NPV8Object.cpp:
350         (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
351         v8::Handle<v8::Value>*.
352         (_NPN_Invoke): Calls createValueListFromVariantArgs.
353         (_NPN_InvokeDefault): createValueListFromVariantArgs.
354         (_NPN_Construct): createValueListFromVariantArgs.
355         * bindings/v8/ScriptFunctionCall.cpp:
356         (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
357         (WebCore::ScriptFunctionCall::construct): Ditto.
358         (WebCore::ScriptCallback::call):
359         * bindings/v8/V8DOMWindowShell.cpp:
360         (WebCore::V8DOMWindowShell::createNewContext): Ditto.
361         * bindings/v8/V8NPObject.cpp:
362         (WebCore::npObjectInvokeImpl): Ditto
363         * bindings/v8/V8NodeFilterCondition.cpp:
364         (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
365         * html/HTMLAreaElement.cpp:
366         (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
367         * html/HTMLFrameSetElement.cpp:
368         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
369         * html/canvas/WebGLRenderingContext.cpp:
370         (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
371         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
372         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
373         * platform/Length.cpp:
374         (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
375         (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
376         * platform/Length.h: Prototype changes.
377         * platform/graphics/ANGLEWebKitBridge.cpp:
378         (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
379         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
380         (WebCore::getDirtyRects): Ditto.
381         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
382         (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
383         * platform/graphics/chromium/HarfbuzzSkia.cpp:
384         (WebCore::glyphsToAdvances): Ditto.
385         (WebCore::canRender): Ditto.
386         * platform/graphics/gpu/Texture.cpp:
387         (WebCore::Texture::updateSubRect): Ditto.
388         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
389         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
390         * platform/graphics/skia/PlatformContextSkia.cpp:
391         (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
392         * platform/graphics/wince/SharedBitmap.cpp:
393         (WebCore::SharedBitmap::to16bit): Ditto.
394         * platform/win/ContextMenuWin.cpp:
395         (WebCore::ContextMenu::getContextMenuItems): Ditto.
396         * platform/win/LoggingWin.cpp:
397         (WebCore::initializeWithUserDefault): Ditto.
398         * plugins/win/PluginPackageWin.cpp:
399         (WebCore::PluginPackage::fetchInfo): Ditto.
400
401 2011-02-06  Kent Tamura  <tkent@chromium.org>
402
403         Unreviewed.
404
405         * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
406
407 2011-02-03  Dominic Cooney  <dominicc@google.com>
408
409         Reviewed by Dimitri Glazkov.
410
411         Convert <keygen> option elements to a shadow DOM
412         https://bugs.webkit.org/show_bug.cgi?id=51379
413
414         Covered by existing tests e.g. fast/html/keygen.html,
415         html5lib/runner.html, etc.
416
417         * css/html.css:
418         (form): Cleanup.
419         (keygen, select): Border radii should match so focus ring looks good.
420         (keygen::-webkit-keygen-select): No margin on the shadow element.
421         (select): Hoisting border radius to keygen, select rule.
422         * dom/SelectElement.cpp:
423         (WebCore::toSelectElement): keygen is no longer a select element.
424         * html/HTMLKeygenElement.cpp: Implements keygen shadow.
425         (WebCore::KeygenSelectElement::create):
426         (WebCore::KeygenSelectElement::shadowPseudoId):
427         (WebCore::KeygenSelectElement::KeygenSelectElement):
428         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
429         (WebCore::HTMLKeygenElement::parseMappedAttribute):
430         (WebCore::HTMLKeygenElement::appendFormData):
431         (WebCore::HTMLKeygenElement::formControlType):
432         (WebCore::HTMLKeygenElement::reset):
433         (WebCore::HTMLKeygenElement::selectShadow):
434         * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
435         (WebCore::HTMLKeygenElement::canStartSelection):
436         (WebCore::HTMLKeygenElement::isEnumeratable):
437         (WebCore::HTMLKeygenElement::isResettable):
438         * html/HTMLOptionElement.cpp:
439         (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
440         * html/HTMLSelectElement.cpp:
441         (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
442
443 2011-02-06  Benjamin Poulain  <ikipou@gmail.com>
444
445         Reviewed by Kenneth Rohde Christiansen.
446
447         [Qt] Fix coding style errors in ClipboardQt.h
448         https://bugs.webkit.org/show_bug.cgi?id=43520
449
450         Fix coding style: order of header and indentation.
451
452         * platform/qt/ClipboardQt.h:
453         (WebCore::ClipboardQt::create):
454         (WebCore::ClipboardQt::clipboardData):
455         (WebCore::ClipboardQt::invalidateWritableData):
456
457 2011-02-06  Antti Koivisto  <antti@apple.com>
458
459         Reviewed by Maciej Stachowiak.
460
461         Use bloom filter for descendant selector filtering
462         https://bugs.webkit.org/show_bug.cgi?id=53880
463         
464         Bloom filter is faster than a hash set in this kind of use.
465         
466         Shark thinks this speeds up style matching by ~30% on sites
467         with lots of descendant selectors.
468
469         * ForwardingHeaders/wtf/BloomFilter.h: Added.
470         * css/CSSStyleSelector.cpp:
471         (WebCore::collectElementIdentifierHashes):
472         (WebCore::CSSStyleSelector::pushParent):
473         (WebCore::CSSStyleSelector::popParent):
474         (WebCore::CSSStyleSelector::fastRejectSelector):
475         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
476         * css/CSSStyleSelector.h:
477
478 2011-02-06  Maciej Stachowiak  <mjs@apple.com>
479
480         Reviewed by Antti Koivisto.
481
482         media/video-document-types.html sometimes crashes the WebProcess
483         https://bugs.webkit.org/show_bug.cgi?id=53884
484
485         No new tests. Already covered by media/video-document-types.html
486
487         * html/HTMLMediaElement.cpp:
488         (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
489         when cancelling the load.
490
491 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
492
493         Reviewed by Adam Roben.
494
495         [WIN] Use WCHAR instead of TCHAR
496         https://bugs.webkit.org/show_bug.cgi?id=53863
497
498         We always use the UNICODE versions of windows functions, so
499         the usage of TCHAR makes no sense and mixing them is bad style.
500
501         * platform/graphics/win/IconWin.cpp:
502         (WebCore::Icon::createIconForFiles):
503         * platform/graphics/win/QTMovie.cpp:
504         * platform/graphics/win/QTMovieGWorld.cpp:
505         (QTMovieGWorld::fullscreenWndProc):
506         (QTMovieGWorld::enterFullscreen):
507         * platform/graphics/win/SimpleFontDataCGWin.cpp:
508         (WebCore::SimpleFontData::platformInit):
509         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
510         * platform/graphics/win/SimpleFontDataWin.cpp:
511         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
512         * platform/win/BString.cpp:
513         * platform/win/ClipboardWin.cpp:
514         (WebCore::filesystemPathFromUrlOrTitle):
515         (WebCore::createGlobalHDropContent):
516         (WebCore::createGlobalImageFileDescriptor):
517         * platform/win/ContextMenuWin.cpp:
518         * platform/win/CursorWin.cpp:
519         (WebCore::loadSharedCursor):
520         * platform/win/FileChooserWin.cpp:
521         (WebCore::FileChooser::basenameForWidth):
522         * platform/win/PopupMenuWin.cpp:
523         (WebCore::PopupMenuWin::popupClassName):
524         (WebCore::PopupMenuWin::show):
525         * platform/win/PopupMenuWin.h:
526
527 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
528
529         Reviewed by Andreas Kling.
530
531         Replace FLT_MAX with std::numeric_limits
532         https://bugs.webkit.org/show_bug.cgi?id=53861
533
534         Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
535
536         * html/NumberInputType.cpp:
537         * html/parser/HTMLParserIdioms.cpp:
538         (WebCore::parseToDoubleForNumberType):
539         * platform/brew/SystemTimeBrew.cpp:
540         (WebCore::userIdleTime):
541         * platform/efl/SystemTimeEfl.cpp:
542         (WebCore::userIdleTime):
543         * platform/efl/TemporaryLinkStubs.cpp:
544         * platform/graphics/ca/GraphicsLayerCA.cpp:
545         (WebCore::GraphicsLayerCA::setupAnimation):
546         * platform/win/SystemTimeWin.cpp:
547         (WebCore::userIdleTime):
548         * platform/wx/SystemTimeWx.cpp:
549         (WebCore::userIdleTime):
550
551 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
552
553         Reviewed by Andreas Kling.
554
555         [CMake] Add dependencies for Visual Studio projects
556         https://bugs.webkit.org/show_bug.cgi?id=53773
557
558         Add a JavaScriptCore dependecy to WebCore, so CMake can 
559         generate the correct build order for the solution.
560
561         * CMakeLists.txt:
562
563 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
564
565         Reviewed by Andreas Kling.
566
567         [CMake] Unify ENABLE_SVG sections
568         https://bugs.webkit.org/show_bug.cgi?id=53778
569
570         * CMakeLists.txt:
571
572 2011-02-06  Andreas Kling  <kling@webkit.org>
573
574         Reviewed by Dirk Schulze.
575
576         Refactor Font::normalizeSpaces() to avoid an extra String copy.
577         https://bugs.webkit.org/show_bug.cgi?id=53871
578
579         Have normalizeSpaces() take UChar*,length arguments instead of a
580         String, since all call sites were creating temporaries from these
581         components anyway.
582
583         Font::normalizeSpaces() now always makes 1 String copy,
584         instead of 1 in the best case and 2 in the worst case.
585
586         * platform/graphics/Font.cpp:
587         (WebCore::Font::normalizeSpaces):
588         * platform/graphics/Font.h:
589         * platform/graphics/qt/FontQt.cpp:
590         (WebCore::drawTextCommon):
591         (WebCore::Font::floatWidthForSimpleText):
592         (WebCore::Font::floatWidthForComplexText):
593         (WebCore::Font::offsetForPositionForSimpleText):
594         (WebCore::Font::offsetForPositionForComplexText):
595         (WebCore::Font::selectionRectForSimpleText):
596         (WebCore::Font::selectionRectForComplexText):
597         * svg/SVGFont.cpp:
598         (WebCore::SVGTextRunWalker::walk):
599
600 2011-02-06  Andreas Kling  <kling@webkit.org>
601
602         Reviewed by Dirk Schulze.
603
604         Fix potential buffer overrun in SVGTextRunWalker::walk()
605         https://bugs.webkit.org/show_bug.cgi?id=53870
606
607         A new String was created from a UChar* with a 'length' argument
608         that could be greater than the number of UChars available.
609
610         * svg/SVGFont.cpp:
611         (WebCore::SVGTextRunWalker::walk):
612
613 2011-02-05  Adam Barth  <abarth@webkit.org>
614
615         Reviewed by Eric Seidel.
616
617         Remove unused parameter related to XSSAuditor
618         https://bugs.webkit.org/show_bug.cgi?id=53862
619
620         * WebCore.exp.in:
621         * bindings/ScriptControllerBase.cpp:
622         (WebCore::ScriptController::executeScript):
623         (WebCore::ScriptController::executeIfJavaScriptURL):
624         * bindings/ScriptControllerBase.h:
625         * bindings/js/ScriptController.cpp:
626         (WebCore::ScriptController::evaluateInWorld):
627         (WebCore::ScriptController::evaluate):
628         (WebCore::ScriptController::executeScriptInWorld):
629         * bindings/js/ScriptController.h:
630         * bindings/v8/ScriptController.cpp:
631         (WebCore::ScriptController::evaluate):
632         * bindings/v8/ScriptController.h:
633
634 2011-02-05  Adam Barth  <abarth@webkit.org>
635
636         Fix Qt build.
637
638         * WebCore.pro:
639
640 2011-02-05  Adam Barth  <abarth@webkit.org>
641
642         Reviewed by Eric Seidel.
643
644         Delete XSSAuditor
645         https://bugs.webkit.org/show_bug.cgi?id=53859
646
647         The job of the XSSAuditor is now done by the XSSFilter.  In the future,
648         we might rename XSSFilter to XSSAuditor.
649
650         * Android.mk:
651         * CMakeLists.txt:
652         * GNUmakefile.am:
653         * WebCore.gypi:
654         * WebCore.vcproj/WebCore.vcproj:
655         * WebCore.xcodeproj/project.pbxproj:
656         * bindings/ScriptControllerBase.cpp:
657         (WebCore::ScriptController::executeIfJavaScriptURL):
658         * bindings/ScriptControllerBase.h:
659         * bindings/js/ScriptController.cpp:
660         (WebCore::ScriptController::ScriptController):
661         (WebCore::ScriptController::evaluateInWorld):
662         * bindings/js/ScriptController.h:
663         * bindings/js/ScriptEventListener.cpp:
664         (WebCore::createAttributeEventListener):
665         * bindings/v8/ScriptController.cpp:
666         (WebCore::ScriptController::ScriptController):
667         (WebCore::ScriptController::evaluate):
668         * bindings/v8/ScriptController.h:
669         * bindings/v8/ScriptEventListener.cpp:
670         (WebCore::createAttributeEventListener):
671         * dom/Document.cpp:
672         (WebCore::Document::implicitOpen):
673         (WebCore::Document::processBaseElement):
674         * dom/ScriptableDocumentParser.cpp:
675         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
676         * dom/ScriptableDocumentParser.h:
677         * html/parser/HTMLDocumentParser.cpp:
678         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
679         * loader/SubframeLoader.cpp:
680         (WebCore::SubframeLoader::requestObject):
681         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
682         * page/XSSAuditor.cpp: Removed.
683         * page/XSSAuditor.h: Removed.
684
685 2011-02-05  Anders Carlsson  <andersca@apple.com>
686
687         Reviewed by Darin Adler.
688
689         Need a way to resize and scroll the page at the same time
690         https://bugs.webkit.org/show_bug.cgi?id=53814
691         <rdar://problem/8498008>
692
693         Export a function needed by WebKit2.
694
695         * WebCore.exp.in:
696
697 2011-02-05  Patrick Gansterer  <paroga@webkit.org>
698
699         Reviewed by Alexey Proskuryakov.
700
701         Use Document::encoding() instead of DocumentWriter::encoding()
702         https://bugs.webkit.org/show_bug.cgi?id=53398
703
704         This change makes the code more readable, when a subresource
705         inherits the character encoding of the document.
706
707         * dom/ProcessingInstruction.cpp:
708         (WebCore::ProcessingInstruction::checkStyleSheet):
709         * dom/ScriptElement.cpp:
710         (WebCore::ScriptElement::scriptCharset):
711         * html/HTMLLinkElement.cpp:
712         (WebCore::HTMLLinkElement::process):
713         * loader/cache/CachedResourceLoader.cpp:
714         (WebCore::CachedResourceLoader::requestPreload):
715         * platform/network/FormDataBuilder.cpp:
716         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
717
718 2011-02-05  Adam Barth  <abarth@webkit.org>
719
720         Reviewed by Eric Seidel.
721
722         Introduce URLString to represent a canonicalized URL represented by a string
723         https://bugs.webkit.org/show_bug.cgi?id=53847
724
725         Instead of using String all over the codebase to represent a URL,
726         instead we should have a type to represent a canonicalized URL in the
727         form of a string.  This patch introduces that type.
728
729         * GNUmakefile.am:
730         * WebCore.gypi:
731         * WebCore.xcodeproj/project.pbxproj:
732         * platform/KURL.cpp:
733         (WebCore::KURL::KURL):
734         * platform/KURL.h:
735         (WebCore::KURL::urlString):
736
737 2011-02-05  Robert Hogan  <robert@webkit.org>
738
739         Reviewed by Antonio Gomes.
740
741         [Qt] Style widgets not rendering
742         https://bugs.webkit.org/show_bug.cgi?id=53849
743
744         * html/HTMLObjectElement.cpp:
745         (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
746
747 2011-02-05  Jochen Eisinger  <jochen@chromium.org>
748
749         Reviewed by Adam Barth.
750
751         Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
752         https://bugs.webkit.org/show_bug.cgi?id=53685
753
754         * WebCore.xcodeproj/project.pbxproj:
755         * dom/Document.h:
756         (WebCore::Document::contentSecurityPolicy):
757         * loader/MainResourceLoader.cpp:
758         (WebCore::MainResourceLoader::didReceiveResponse):
759         * page/ContentSecurityPolicy.cpp:
760         (WebCore::ContentSecurityPolicy::didReceiveHeader):
761         * page/ContentSecurityPolicy.h:
762
763 2011-02-05  Eric Seidel  <eric@webkit.org>
764
765         Reviewed by Adam Barth.
766
767         Safari should lowercase schemes in cannonicalized urls to match every other browser
768         https://bugs.webkit.org/show_bug.cgi?id=53848
769
770         We're clearly the odd man out here.  See results from every browser at:
771         https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
772
773         * platform/KURL.cpp:
774         (WebCore::KURL::parse):
775          - Just lowercase the scheme when copying.
776
777 2011-02-05  Antti Koivisto  <antti@apple.com>
778
779         Reviewed by Dave Hyatt.
780
781         Optimize matching of descendant selectors
782         https://bugs.webkit.org/show_bug.cgi?id=49876
783         <rdar://problem/8772822>
784         
785         During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
786         Use the filter to quickly reject descendant and child selectors when doing style matching.
787
788         This speeds up style recalculations 3-6x on many major web sites.
789
790         * css/CSSStyleSelector.cpp:
791         (WebCore::RuleData::RuleData):
792         (WebCore::RuleData::descendantSelectorIdentifierHashes):
793         (WebCore::collectElementIdentifiers):
794         (WebCore::CSSStyleSelector::pushParent):
795         (WebCore::CSSStyleSelector::popParent):
796         (WebCore::CSSStyleSelector::fastRejectSelector):
797         (WebCore::CSSStyleSelector::matchRulesForList):
798         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
799         * css/CSSStyleSelector.h:
800         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
801         * dom/Element.cpp:
802         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
803         (WebCore::StyleSelectorParentPusher::push):
804         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
805         (WebCore::Element::attach):
806         (WebCore::Element::recalcStyle):
807
808 2011-02-05  Nate Chapin  <japhet@chromium.org>
809
810         Reviewed by Adam Barth.
811
812         Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
813         when it inherits one from ActiveDOMObject.
814         https://bugs.webkit.org/show_bug.cgi?id=53815
815
816         * bindings/js/JSDesktopNotificationsCustom.cpp:
817         (WebCore::JSNotificationCenter::requestPermission):
818         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
819         (WebCore::V8NotificationCenter::requestPermissionCallback):
820         * notifications/NotificationCenter.cpp:
821         (WebCore::NotificationCenter::NotificationCenter):
822         (WebCore::NotificationCenter::checkPermission):
823         (WebCore::NotificationCenter::requestPermission):
824         (WebCore::NotificationCenter::disconnectFrame):
825         * notifications/NotificationCenter.h:
826         (WebCore::NotificationCenter::createHTMLNotification):
827         (WebCore::NotificationCenter::createNotification):
828
829 2011-02-04  Adam Barth  <abarth@webkit.org>
830
831         Reviewed by Maciej Stachowiak.
832
833         Crash in WebCore::TextEncoding::decode below XSSFilter::init
834         https://bugs.webkit.org/show_bug.cgi?id=53837
835
836         Add missing null check.
837
838         Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
839
840         * html/parser/XSSFilter.cpp:
841         (WebCore::XSSFilter::init):
842
843 2011-02-04  Simon Fraser  <simon.fraser@apple.com>
844
845         Reviewed by Dan Bernstein.
846
847         Crashes in ShadowBlur via WebKit2 FindController
848         https://bugs.webkit.org/show_bug.cgi?id=53830
849         
850         Fix a crash cause by re-entering ShadowBlur, and add assertions to
851         detect when it happens.
852         
853         The re-entrancy occurred when drawRectShadowWithTiling() filled
854         the interior of the shadow with fillRect() on the context
855         which still had the shadow state set. This would make another ShadowBlur
856         on the stack and call into the code again, potentially blowing away
857         the image buffer.
858         
859         Fix by turning off shadows in the destination context while we're
860         drawing the tiled shadow. The non-tiled code path already did this.
861
862         Not testable because CSS shadows clip out the inside of the rect
863         being shadowed, and SVG uses fillPath, even for rects.
864
865         * platform/graphics/ShadowBlur.cpp:
866         (WebCore::ScratchBuffer::ScratchBuffer):
867         (WebCore::ScratchBuffer::getScratchBuffer):
868         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
869         (WebCore::ShadowBlur::ShadowBlur):
870         (WebCore::ShadowBlur::drawRectShadowWithTiling):
871
872 2011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>
873
874         Reviewed by Martin Robinson.
875
876         [GTK] Don't use a fixed size for search field icons
877         https://bugs.webkit.org/show_bug.cgi?id=50624
878
879         Use the parent input content box to make sure the icon fits in the
880         search field, scaling it down when needed.
881
882         * platform/gtk/RenderThemeGtk.cpp:
883         (WebCore::paintGdkPixbuf):
884         (WebCore::getIconSizeForPixelSize):
885         (WebCore::adjustSearchFieldIconStyle):
886         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
887         (WebCore::centerRectVerticallyInParentInputElement):
888         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
889         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
890         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
891         (WebCore::RenderThemeGtk::paintCapsLockIndicator):
892         (WebCore::RenderThemeGtk::paintMediaButton):
893
894 2011-02-04  Hironori Bono  <hbono@chromium.org>
895
896         Reviewed by Adam Barth.
897
898         [chromium] JPEG corruption
899         https://bugs.webkit.org/show_bug.cgi?id=53250
900
901         Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
902         profiles from CMYK to RGB twice and it causes color corruption. This
903         change suppresses the color profiles for CMYK JPEGs same as gray-scale
904         ones.
905
906         Test: fast/images/cmyk-jpeg-with-color-profile.html
907
908         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
909         (WebCore::JPEGImageReader::decode):
910
911 2011-02-04  Xiyuan Xia  <xiyuan@chromium.org>
912
913         Reviewed by Tony Chang.
914
915         [Chromium] Option text in select popup does not align with menulist button text
916         https://bugs.webkit.org/show_bug.cgi?id=53632
917
918         This makes clientPaddingLeft and  clientPaddingRight return
919         the additional m_innerBlock's padding so that the popup item text
920         aligns with the menulist button text.
921
922         * rendering/RenderMenuList.cpp:
923         (WebCore::RenderMenuList::clientPaddingLeft):
924         (WebCore::RenderMenuList::clientPaddingRight):
925
926 2011-02-04  Anders Carlsson  <andersca@apple.com>
927
928         Reviewed by Sam Weinig and Beth Dakin.
929
930         REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
931         <rdar://problem/8962457>
932
933         * platform/ScrollView.cpp:
934         (WebCore::ScrollView::scrollContents):
935         Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
936         
937         * platform/ScrollableArea.cpp:
938         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
939         Make sure to invalidate both scrollbars if overlay scrollers are enabled.
940
941 2011-02-04  Adam Barth  <abarth@webkit.org>
942
943         Reviewed by Eric Seidel.
944
945         PluginDocuments don't create widgets for plugins on back/forward
946         https://bugs.webkit.org/show_bug.cgi?id=53474
947
948         Long ago, PluginDocument always caused the HTMLEmbedElement to create
949         its widget synchronously during a post-layout task.  Recently, however,
950         some changes to the HistroyController caused layout on back/forward to
951         become slightly more complicated (and added an extra level of recursion
952         to layout).  This extra level of recursion triggered the "I've recursed
953         too many times" condition in the post-layout task queue, causing the
954         FrameView to run the remainder of the tasks asynchronously.
955         Unfortunately, that broke PluginDocument because it needs its the
956         HTMLEmbedElement's updateWidget task to run synchronously.
957
958         This patch adds a mechanism for "kicking off" the pending post-layout
959         tasks synchronously (instead of waiting for the timer to fire).
960         PluginDocument then uses that facility to ensure that the
961         HTMLEmbedElement's updateWidget task happens.
962
963         Test: plugins/plugin-document-back-forward.html
964
965         * html/PluginDocument.cpp:
966         (WebCore::PluginDocumentParser::appendBytes):
967         * page/FrameView.cpp:
968         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
969         * page/FrameView.h:
970
971 2011-02-04  Charlie Reis  <creis@chromium.org>
972
973         Reviewed by Mihai Parparita.
974
975         Crash in WebCore::HistoryController::itemsAreClones
976         https://bugs.webkit.org/show_bug.cgi?id=52819
977
978         Avoids deleting the current HistoryItem while it is still in use.
979         Ensures that provisional items are committed for same document navigations.
980         Ensures that error pages are committed on back/forward navigations.
981         Also removes unneeded sanity checks used for diagnosing the problem.
982
983         * loader/HistoryController.cpp:
984         * loader/HistoryController.h:
985
986 2011-02-04  Carol Szabo  <carol.szabo@nokia.com>
987
988         Reviewed by David Hyatt.
989
990         Code Changes.
991
992         CSS 2.1 failure: content-*
993         https://bugs.webkit.org/show_bug.cgi?id=52126
994
995         Test: fast/css/counters/content-021.html
996
997         * rendering/CounterNode.cpp:
998         (showCounterTree):
999         Made parameter const because it is supposed to be so.
1000         * rendering/RenderCounter.cpp:
1001         (WebCore::previousInPreOrder):
1002         (WebCore::previousSiblingOrParent):
1003         (WebCore::parentElement):
1004         (WebCore::areRenderersElementsSiblings):
1005         (WebCore::nextInPreOrder):
1006         Added these local helper functions to help navigate the DOM tree
1007         enriched with :before and :after pseudo elements.
1008         (WebCore::planCounter):
1009         Fixed bug that would create a repeat counter for second and
1010         subsequent renderers associated with the same DOM element.
1011         (WebCore::findPlaceForCounter):
1012         (WebCore::makeCounterNode):
1013         Changed to use the new tree navigation functions described above
1014         instead of the Renderer Tree navigation functions.
1015         (WebCore::RenderCounter::rendererSubtreeAttached):
1016         (WebCore::RenderCounter::rendererStyleChanged):
1017         Optimized to not bother about counters until the renderers are
1018         finally attached.
1019         (showRendererTree):
1020         (showNodeTree):
1021         Debug helper functions used to debug Counter bugs.
1022
1023 2011-02-04  Dan Bernstein  <mitz@apple.com>
1024
1025         Typo fix.
1026
1027         * html/parser/XSSFilter.cpp:
1028         (WebCore::HTMLNames::containsJavaScriptURL):
1029
1030 2011-02-04  Dan Bernstein  <mitz@apple.com>
1031
1032         Reviewed by Anders Carlsson.
1033
1034         Make an infinite loop introduced in r77454 finite.
1035
1036         * html/parser/XSSFilter.cpp:
1037         (WebCore::HTMLNames::containsJavaScriptURL):
1038
1039 2011-02-04  Jer Noble  <jer.noble@apple.com>
1040
1041         Reviewed by Eric Carlson.
1042
1043         Frame accurate seeking isn't always accurate
1044         https://bugs.webkit.org/show_bug.cgi?id=52697
1045
1046         Test: media/video-frame-accurate-seek.html
1047
1048         Make seeking slightly more accurate by rounding instead of truncating
1049         when converting from seconds-in-float to time/timeScale.
1050
1051         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1052         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
1053         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1054         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
1055         * platform/graphics/win/QTMovie.cpp:
1056         (QTMovie::setCurrentTime):
1057
1058 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
1059
1060         Reviewed by Nate Chapin.
1061
1062         Second IndexedDB events overhaul patch
1063         https://bugs.webkit.org/show_bug.cgi?id=53813
1064
1065         If an IDBRequest has a IDBTransaction, it should propogate
1066         events through it. In order to do this, IDBRequest needs to
1067         hold a transaction frontend object rather than a backend one.
1068
1069         Test: storage/indexeddb/request-event-propagation.html
1070
1071         * storage/IDBCursor.cpp:
1072         (WebCore::IDBCursor::IDBCursor):
1073         * storage/IDBCursor.h:
1074         (WebCore::IDBCursor::create):
1075         * storage/IDBDatabase.cpp:
1076         (WebCore::IDBDatabase::setSetVersionTransaction):
1077         (WebCore::IDBDatabase::createObjectStore):
1078         (WebCore::IDBDatabase::deleteObjectStore):
1079         * storage/IDBDatabase.h:
1080         * storage/IDBIndex.cpp:
1081         (WebCore::IDBIndex::IDBIndex):
1082         (WebCore::IDBIndex::openCursor):
1083         (WebCore::IDBIndex::openKeyCursor):
1084         (WebCore::IDBIndex::get):
1085         (WebCore::IDBIndex::getKey):
1086         * storage/IDBIndex.h:
1087         (WebCore::IDBIndex::create):
1088         * storage/IDBObjectStore.cpp:
1089         (WebCore::IDBObjectStore::IDBObjectStore):
1090         (WebCore::IDBObjectStore::get):
1091         (WebCore::IDBObjectStore::add):
1092         (WebCore::IDBObjectStore::put):
1093         (WebCore::IDBObjectStore::deleteFunction):
1094         (WebCore::IDBObjectStore::createIndex):
1095         (WebCore::IDBObjectStore::deleteIndex):
1096         (WebCore::IDBObjectStore::openCursor):
1097         * storage/IDBObjectStore.h:
1098         (WebCore::IDBObjectStore::create):
1099         * storage/IDBRequest.cpp:
1100         (WebCore::IDBRequest::create):
1101         (WebCore::IDBRequest::IDBRequest):
1102         (WebCore::IDBRequest::resetReadyState):
1103         (WebCore::IDBRequest::onSuccess):
1104         (WebCore::IDBRequest::dispatchEvent):
1105         * storage/IDBRequest.h:
1106         * storage/IDBTransaction.cpp:
1107         (WebCore::IDBTransaction::IDBTransaction):
1108         (WebCore::IDBTransaction::objectStore):
1109         (WebCore::IDBTransaction::contextDestroyed):
1110         (WebCore::IDBTransaction::enqueueEvent):
1111         * storage/IDBTransaction.h:
1112         * storage/IDBTransaction.idl:
1113
1114 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
1115
1116         Reviewed by Nate Chapin.
1117
1118         First step towards event propogation within IndexedDB
1119         https://bugs.webkit.org/show_bug.cgi?id=53795
1120
1121         This is the first step towards implementing
1122         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
1123         within IndexedDB. I've created a method that knows how
1124         to capture and bubble (based on Node's dispatchGenericEvent).
1125         I've then changed IDBRequest to use it.
1126
1127         The only functional change is that preventDefault now must
1128         be called in error events to prevent the transaction from
1129         being aborted. The tests reflect this change and there's one
1130         specific test to look at this behavior.
1131
1132         Test: storage/indexeddb/error-causes-abort-by-default.html
1133
1134         * storage/IDBAbortEvent.cpp:
1135         (WebCore::IDBAbortEvent::create):
1136         (WebCore::IDBAbortEvent::IDBAbortEvent):
1137         * storage/IDBAbortEvent.h:
1138         * storage/IDBCompleteEvent.cpp:
1139         (WebCore::IDBCompleteEvent::create):
1140         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
1141         * storage/IDBCompleteEvent.h:
1142         * storage/IDBErrorEvent.cpp:
1143         (WebCore::IDBErrorEvent::IDBErrorEvent):
1144         * storage/IDBEvent.cpp:
1145         (WebCore::IDBEvent::IDBEvent):
1146         (WebCore::IDBEvent::dispatch):
1147         * storage/IDBEvent.h:
1148         * storage/IDBRequest.cpp:
1149         (WebCore::IDBRequest::dispatchEvent):
1150         * storage/IDBRequest.h:
1151         * storage/IDBSuccessEvent.cpp:
1152         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
1153         * storage/IDBTransaction.cpp:
1154         (WebCore::IDBTransaction::onAbort):
1155         (WebCore::IDBTransaction::onComplete):
1156         * storage/IDBTransaction.h:
1157         (WebCore::IDBTransaction::backend):
1158         * storage/IDBTransactionBackendImpl.cpp:
1159         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
1160
1161 2011-02-04  Daniel Cheng  <dcheng@chromium.org>
1162
1163         Reviewed by Dmitry Titov.
1164
1165         Clone WebClipboard to be frame-specific.
1166         https://bugs.webkit.org/show_bug.cgi?id=53727
1167
1168         For drop operations, Chrome currently snapshots the data and copies it
1169         into the renderer process. As we add more supported drag data types, the
1170         copy will become increasingly expensive. Instead, we'd like to snapshot
1171         data in the browser to reduce the amount of data copied and to support
1172         Blob in DataTransferItem. In order to allow this, we associated
1173         WebClipboard with a frame so it can correctly route its IPCs to the
1174         corresponding Chromium host.
1175
1176         No new tests because no new functionality.
1177
1178         * platform/chromium/ChromiumDataObject.cpp:
1179         (WebCore::ChromiumDataObject::createReadable):
1180         * platform/chromium/ChromiumDataObject.h:
1181         * platform/chromium/ClipboardChromium.cpp:
1182         (WebCore::ClipboardChromium::create):
1183         * platform/chromium/PlatformBridge.h:
1184         * platform/chromium/ReadableDataObject.cpp:
1185         (WebCore::ReadableDataObject::create):
1186         (WebCore::ReadableDataObject::ReadableDataObject):
1187         (WebCore::ReadableDataObject::getData):
1188         (WebCore::ReadableDataObject::urlTitle):
1189         (WebCore::ReadableDataObject::htmlBaseUrl):
1190         (WebCore::ReadableDataObject::filenames):
1191         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
1192         * platform/chromium/ReadableDataObject.h:
1193
1194 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
1195
1196         Revert https://bugs.webkit.org/show_bug.cgi?id=53795
1197
1198         * storage/IDBAbortEvent.cpp:
1199         (WebCore::IDBAbortEvent::create):
1200         (WebCore::IDBAbortEvent::IDBAbortEvent):
1201         * storage/IDBAbortEvent.h:
1202         * storage/IDBCompleteEvent.cpp:
1203         (WebCore::IDBCompleteEvent::create):
1204         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
1205         * storage/IDBCompleteEvent.h:
1206         * storage/IDBErrorEvent.cpp:
1207         (WebCore::IDBErrorEvent::IDBErrorEvent):
1208         * storage/IDBEvent.cpp:
1209         (WebCore::IDBEvent::IDBEvent):
1210         * storage/IDBEvent.h:
1211         * storage/IDBRequest.cpp:
1212         (WebCore::IDBRequest::dispatchEvent):
1213         * storage/IDBRequest.h:
1214         * storage/IDBSuccessEvent.cpp:
1215         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
1216         * storage/IDBTransaction.cpp:
1217         (WebCore::IDBTransaction::onAbort):
1218         (WebCore::IDBTransaction::onComplete):
1219         * storage/IDBTransaction.h:
1220         * storage/IDBTransactionBackendImpl.cpp:
1221         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
1222
1223 2011-02-04  Martin Galpin  <martin@66laps.com>
1224
1225         Reviewed by David Levin.
1226
1227         CORS origin header not set on GET when a preflight request is required.
1228         https://bugs.webkit.org/show_bug.cgi?id=50773
1229         
1230         Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
1231
1232         * loader/DocumentThreadableLoader.cpp:
1233         (WebCore::DocumentThreadableLoader::preflightSuccess): 
1234         Explicitly set the request origin after a preflight request succeeds.
1235
1236 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
1237
1238         Reviewed by Nate Chapin.
1239
1240         First step towards event propogation within IndexedDB
1241         https://bugs.webkit.org/show_bug.cgi?id=53795
1242
1243         This is the first step towards implementing
1244         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
1245         within IndexedDB. I've created a method that knows how
1246         to capture and bubble (based on Node's dispatchGenericEvent).
1247         I've then changed IDBRequest to use it.
1248
1249         The only functional change is that preventDefault now must
1250         be called in error events to prevent the transaction from
1251         being aborted. The tests reflect this change and there's one
1252         specific test to look at this behavior.
1253
1254         Test: storage/indexeddb/error-causes-abort-by-default.html
1255
1256         * storage/IDBAbortEvent.cpp:
1257         (WebCore::IDBAbortEvent::create):
1258         (WebCore::IDBAbortEvent::IDBAbortEvent):
1259         * storage/IDBAbortEvent.h:
1260         * storage/IDBCompleteEvent.cpp:
1261         (WebCore::IDBCompleteEvent::create):
1262         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
1263         * storage/IDBCompleteEvent.h:
1264         * storage/IDBErrorEvent.cpp:
1265         (WebCore::IDBErrorEvent::IDBErrorEvent):
1266         * storage/IDBEvent.cpp:
1267         (WebCore::IDBEvent::IDBEvent):
1268         (WebCore::IDBEvent::dispatch):
1269         * storage/IDBEvent.h:
1270         * storage/IDBRequest.cpp:
1271         (WebCore::IDBRequest::dispatchEvent):
1272         * storage/IDBRequest.h:
1273         * storage/IDBSuccessEvent.cpp:
1274         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
1275         * storage/IDBTransaction.cpp:
1276         (WebCore::IDBTransaction::onAbort):
1277         (WebCore::IDBTransaction::onComplete):
1278         * storage/IDBTransaction.h:
1279         (WebCore::IDBTransaction::backend):
1280         * storage/IDBTransactionBackendImpl.cpp:
1281         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
1282
1283 2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
1284
1285         Reviewed by Csaba Osztrogonác.
1286
1287         [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
1288         https://bugs.webkit.org/show_bug.cgi?id=53674
1289
1290         * css/mediaControlsQt.css:
1291
1292 2011-02-04  Dan Bernstein  <mitz@apple.com>
1293
1294         Reviewed by Darin Adler and Dave Hyatt.
1295
1296         <rdar://problem/8902704> Make ruby text size 50% by default
1297         https://bugs.webkit.org/show_bug.cgi?id=53723
1298
1299         * css/html.css:
1300         (ruby > rt): Changed the font-size from 60% to 50%.
1301
1302 2011-02-04  Antti Koivisto  <antti@apple.com>
1303
1304         Reviewed by Dimitri Glazkov.
1305
1306         https://bugs.webkit.org/show_bug.cgi?id=53610
1307         Regression: adjacent sibling selector not working as expected
1308         <rdar://problem/8960033>
1309         
1310         https://bugs.webkit.org/show_bug.cgi?id=53574
1311         REGRESSION (r76012): :last-child:after not working as expected
1312         <rdar://problem/8948643>
1313         
1314         Test for additional conditions in parent style that prevent sharing.
1315
1316         Tests: fast/selectors/style-sharing-adjacent-selector.html
1317                fast/selectors/style-sharing-last-child.html
1318
1319         * css/CSSStyleSelector.cpp:
1320         (WebCore::parentStylePreventsSharing):
1321         (WebCore::CSSStyleSelector::locateSharedStyle):
1322
1323 2011-02-04  Mark Mentovai  <mark@chromium.org>
1324
1325         Reviewed by Dimitri Glazkov.
1326
1327         Chromium GYP build fix.
1328
1329         When various settings were moved to webcore_prerequisites in r66364,
1330         things that should have been direct_dependent_settings were not marked
1331         as such. GYP 'defines', for example, make no sense on a 'none'-type
1332         target such as webcore_prerequisites. It appears that it was intended
1333         for these settings to be pushed to direct dependents, which would make
1334         direct_dependent_settings correct.
1335
1336         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
1337         http://crbug.com/71537, which at best causes Mac console log spew, and
1338         at worst may result in Chromium's copy of WebCore using system
1339         definitions of certain Objective-C classes at runtime, or vice-versa.
1340
1341         The build now includes a postbuild step to prevent
1342         http://crbug.com/71537 from regressing again. The build will fail upon
1343         regression.
1344
1345         https://bugs.webkit.org/show_bug.cgi?id=53630
1346
1347         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
1348           direct_dependent_settings as needed, add the check_objc_rename
1349           postbuild step.
1350         * WebCore.gyp/mac/check_objc_rename.sh: Added.
1351
1352 2011-02-04  Robert Hogan  <robert@webkit.org>
1353
1354         Reviewed by Darin Fisher.
1355
1356         Move chromium iframe shim code to cross-platform file
1357         https://bugs.webkit.org/show_bug.cgi?id=52594
1358
1359         Move Chromium code for identifying and cutting out
1360         iframe shims from plugins to cross-platform utility file
1361         IFrameShimSupport.cpp.
1362         Amend PluginViewQt to use this code to handle shims correctly.
1363
1364         * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
1365         * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
1366         * plugins/IFrameShimSupport.cpp: Added.
1367         (WebCore::getObjectStack):
1368         (WebCore::iframeIsAbovePlugin):
1369         (WebCore::getPluginOcclusions):
1370         * plugins/IFframeShimSupport.h: Added.
1371         * plugins/qt/PluginViewQt.cpp:
1372         (WebCore::PluginView::setNPWindowIfNeeded):
1373
1374 2011-02-04  Xiaomei Ji  <xji@chromium.org>
1375
1376         Reviewed by David Levin.
1377
1378         Implement "<option> should implement the dir attribute" for chromium port after r76983.
1379         https://bugs.webkit.org/show_bug.cgi?id=50969
1380
1381         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
1382         added in r76983.
1383
1384         * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
1385         <select> drop-down setting.
1386         (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
1387         items in drop-down and pass-in bidi override flag when creating text run.
1388         * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
1389         PopupContainerSettings.
1390
1391 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
1392
1393         Build fix from merge mistake.
1394
1395         * storage/IDBTransaction.cpp:
1396         (WebCore::IDBTransaction::ensureEventTargetData):
1397
1398 2011-02-04  Levi Weintraub  <leviw@chromium.org>
1399
1400         Reviewed by Darin Adler.
1401
1402         Remove unneeded function declarations in comments in EditorClient.h
1403         https://bugs.webkit.org/show_bug.cgi?id=53745
1404
1405         Removing unused commented out function declarations. No tests since this is just cleanup.
1406
1407         * page/EditorClient.h:
1408
1409 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
1410
1411         Reviewed by Nate Chapin.
1412
1413         Refactor IDBRequest and IDBTransaction a bit
1414         https://bugs.webkit.org/show_bug.cgi?id=53565
1415
1416         There were a lot of subtle issues with the way IDBTransaction
1417         and IDBRequest used to be written. This cleans a lot of them up
1418         and largely simplifies the logic. Using EventQueue rather than
1419         timers is one example of the simplification.
1420
1421         * bindings/scripts/CodeGeneratorV8.pm:
1422         * dom/EventQueue.cpp:
1423         (WebCore::EventQueue::enqueueEvent):
1424         (WebCore::EventQueue::dispatchEvent):
1425         * storage/IDBCursor.cpp:
1426         (WebCore::IDBCursor::continueFunction):
1427         * storage/IDBRequest.cpp:
1428         (WebCore::IDBRequest::create):
1429         (WebCore::IDBRequest::IDBRequest):
1430         (WebCore::IDBRequest::resetReadyState):
1431         (WebCore::IDBRequest::onError):
1432         (WebCore::IDBRequest::onSuccess):
1433         (WebCore::IDBRequest::dispatchEvent):
1434         (WebCore::IDBRequest::enqueueEvent):
1435         (WebCore::IDBRequest::eventTargetData):
1436         (WebCore::IDBRequest::ensureEventTargetData):
1437         * storage/IDBRequest.h:
1438         (WebCore::IDBRequest::dispatchEvent):
1439         * storage/IDBTransaction.cpp:
1440         (WebCore::IDBTransaction::create):
1441         (WebCore::IDBTransaction::IDBTransaction):
1442         (WebCore::IDBTransaction::objectStore):
1443         (WebCore::IDBTransaction::abort):
1444         (WebCore::IDBTransaction::onAbort):
1445         (WebCore::IDBTransaction::onComplete):
1446         (WebCore::IDBTransaction::onTimeout):
1447         (WebCore::IDBTransaction::canSuspend):
1448         (WebCore::IDBTransaction::stop):
1449         (WebCore::IDBTransaction::enqueueEvent):
1450         (WebCore::IDBTransaction::eventTargetData):
1451         (WebCore::IDBTransaction::ensureEventTargetData):
1452         * storage/IDBTransaction.h:
1453
1454 2011-02-01  Jeremy Orlow  <jorlow@chromium.org>
1455
1456         Reviewed by Nate Chapin.
1457
1458         Remove the timeout event from IndexedDB
1459         https://bugs.webkit.org/show_bug.cgi?id=53521
1460
1461         Remove timeout and ontimeout from IDBTransaction per the spec.
1462
1463         * WebCore.gypi:
1464         * storage/IDBDatabase.cpp:
1465         (WebCore::IDBDatabase::transaction):
1466         * storage/IDBDatabase.h:
1467         (WebCore::IDBDatabase::transaction):
1468         * storage/IDBDatabase.idl:
1469         * storage/IDBDatabaseBackendImpl.cpp:
1470         (WebCore::IDBDatabaseBackendImpl::setVersion):
1471         (WebCore::IDBDatabaseBackendImpl::transaction):
1472         * storage/IDBDatabaseBackendImpl.h:
1473         * storage/IDBDatabaseBackendInterface.h:
1474         * storage/IDBTimeoutEvent.cpp: Removed.
1475         * storage/IDBTimeoutEvent.h: Removed.
1476         * storage/IDBTransaction.cpp:
1477         (WebCore::IDBTransaction::IDBTransaction):
1478         (WebCore::IDBTransaction::onAbort):
1479         (WebCore::IDBTransaction::onComplete):
1480         * storage/IDBTransaction.h:
1481         * storage/IDBTransaction.idl:
1482         * storage/IDBTransactionBackendImpl.cpp:
1483         (WebCore::IDBTransactionBackendImpl::create):
1484         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1485         * storage/IDBTransactionBackendImpl.h:
1486         * storage/IDBTransactionCallbacks.h:
1487
1488 2011-02-04  Chris Fleizach  <cfleizach@apple.com>
1489
1490         Reviewed by Darin Adler.
1491
1492         AX: Can't set accessibility overridden attributes on web objects
1493         https://bugs.webkit.org/show_bug.cgi?id=53725
1494
1495         accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
1496         the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
1497         Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
1498         attribute only when an AX client asks for it through the AX frameworks.
1499
1500         * accessibility/mac/AccessibilityObjectWrapper.mm:
1501         (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
1502
1503 2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
1504
1505         Reviewed by Kent Tamura.
1506
1507         REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
1508         https://bugs.webkit.org/show_bug.cgi?id=53691
1509
1510         Test: fast/repaint/slider-thumb-drag-release.html
1511
1512         * html/shadow/SliderThumbElement.cpp:
1513         (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
1514             that the thumb is repainted.
1515
1516 2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
1517
1518         Reviewed by Pavel Feldman.
1519
1520         Web Inspector: Add "show more" data grid node and waiting message UI components.
1521         https://bugs.webkit.org/show_bug.cgi?id=53763
1522
1523         - "show more" data grid node is used for on-demand population of
1524         data grid contents (similar to DOM tree capability for limiting
1525         displayed nodes count);
1526
1527         - waiting message is used for informing user about long lasting
1528         operations (with a possibility to cancel them).
1529
1530         * English.lproj/localizedStrings.js:
1531         * WebCore.gypi:
1532         * WebCore.vcproj/WebCore.vcproj:
1533         * inspector/front-end/PleaseWaitMessage.js: Added.
1534         (WebInspector.PleaseWaitMessage):
1535         * inspector/front-end/ShowMoreDataGridNode.js: Added.
1536         (WebInspector.ShowMoreDataGridNode):
1537         * inspector/front-end/WebKit.qrc:
1538         * inspector/front-end/inspector.css:
1539         (.data-grid button):
1540         (.please-wait-msg):
1541         * inspector/front-end/inspector.html:
1542
1543 2011-02-04  Adele Peterson  <adele@apple.com>
1544
1545         Reviewed by Dan Bernstein.
1546
1547         Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
1548         <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
1549
1550         Tests:
1551         fast/forms/textarea-placeholder-visibility-1.html
1552         fast/forms/textarea-placeholder-visibility-2.html
1553         fast/forms/input-placeholder-visibility-1.html
1554         fast/forms/input-placeholder-visibility-2.html
1555         fast/forms/input-placeholder-visibility-3.html
1556
1557         * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
1558         Add a check for shouldShowPlaceholderWhenFocused.
1559         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
1560         Whenever the value is updated, we should also update placeholder visibility.
1561         * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
1562         Make the default the same as the existing behavior.
1563         * rendering/RenderThemeMac.h:
1564         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
1565         Show placeholder when appropriate. 
1566
1567 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
1568
1569         Reviewed by Pavel Feldman.
1570
1571         Web Inspector: evaluate on hover does not work on a breakpoint.
1572         https://bugs.webkit.org/show_bug.cgi?id=53768
1573
1574         * inspector/front-end/SourceFrame.js:
1575         (WebInspector.SourceFrame.prototype._mouseHover):
1576
1577 2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1578
1579         Unreviewed, rolling out r77625 and r77626.
1580         http://trac.webkit.org/changeset/77625
1581         http://trac.webkit.org/changeset/77626
1582         https://bugs.webkit.org/show_bug.cgi?id=53765
1583
1584         It broke Windows builds (Requested by Ossy_ on #webkit).
1585
1586         * Android.jscbindings.mk:
1587         * CMakeLists.txt:
1588         * ForwardingHeaders/pcre/pcre.h: Added.
1589         * ForwardingHeaders/yarr/Yarr.h: Removed.
1590         * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
1591         * ForwardingHeaders/yarr/YarrPattern.h: Removed.
1592         * WebCore.gyp/WebCore.gyp:
1593         * WebCore.pro:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * WebCore.vcproj/copyForwardingHeaders.cmd:
1596         * platform/text/RegularExpression.cpp:
1597         (WebCore::RegularExpression::Private::regexp):
1598         (WebCore::RegularExpression::Private::compile):
1599         (WebCore::RegularExpression::Private::Private):
1600         (WebCore::RegularExpression::Private::create):
1601         (WebCore::RegularExpression::Private::~Private):
1602         (WebCore::RegularExpression::match):
1603
1604 2011-02-04  Peter Varga  <pvarga@webkit.org>
1605
1606         Rubber-stamped by Csaba Osztrogonác.
1607
1608         Replace PCRE with Yarr in WebCore
1609         https://bugs.webkit.org/show_bug.cgi?id=53496
1610
1611         Speculative windows build fix.
1612
1613         No new tests needed.
1614
1615         * platform/text/RegularExpression.cpp:
1616
1617 2011-02-04  Peter Varga  <pvarga@webkit.org>
1618
1619
1620         Reviewed by Gavin Barraclough.
1621
1622         Replace PCRE with Yarr in WebCore
1623         https://bugs.webkit.org/show_bug.cgi?id=53496
1624
1625         No new tests needed.
1626
1627         * Android.jscbindings.mk:
1628         * CMakeLists.txt:
1629         * ForwardingHeaders/pcre/pcre.h: Removed.
1630         * ForwardingHeaders/yarr/Yarr.h: Added.
1631         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
1632         * ForwardingHeaders/yarr/YarrPattern.h: Added.
1633         * WebCore.gyp/WebCore.gyp:
1634         * WebCore.pro:
1635         * WebCore.vcproj/WebCore.vcproj:
1636         * WebCore.vcproj/copyForwardingHeaders.cmd:
1637         * platform/text/RegularExpression.cpp:
1638         (WebCore::RegularExpression::Private::create):
1639         (WebCore::RegularExpression::Private::Private):
1640         (WebCore::RegularExpression::Private::compile):
1641         (WebCore::RegularExpression::match):
1642
1643 2011-02-04  Pavel Feldman  <pfeldman@chromium.org>
1644
1645         Reviewed by Yury Semikhatsky.
1646
1647         Web Inspector: Network panel filtering is broken.
1648         https://bugs.webkit.org/show_bug.cgi?id=53764
1649
1650         * inspector/front-end/NetworkPanel.js:
1651         (WebInspector.NetworkPanel.prototype._sortItems):
1652         (WebInspector.NetworkPanel.prototype._sortByTimeline):
1653         (WebInspector.NetworkPanel.prototype._filter):
1654         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
1655         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
1656         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1657         (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
1658         (WebInspector.NetworkTotalGridNode.prototype.get selectable):
1659
1660 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
1661
1662         Reviewed by Pavel Feldman.
1663
1664         Web Inspector: support overriding user agent strings
1665         https://bugs.webkit.org/show_bug.cgi?id=51485
1666
1667         Test: http/tests/inspector/extensions-useragent.html
1668
1669         * inspector/Inspector.idl:
1670         * inspector/InspectorController.cpp:
1671         (WebCore::InspectorController::disconnectFrontend):
1672         (WebCore::InspectorController::setUserAgentOverride):
1673         (WebCore::InspectorController::userAgentOverride):
1674         * inspector/InspectorController.h:
1675         * inspector/front-end/ExtensionAPI.js:
1676         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
1677         * inspector/front-end/ExtensionServer.js:
1678         (WebInspector.ExtensionServer.prototype._onReload):
1679         * loader/FrameLoader.cpp:
1680         (WebCore::FrameLoader::userAgent):
1681         (WebCore::FrameLoader::applyUserAgent):
1682
1683 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
1684
1685         Reviewed by Pavel Feldman.
1686
1687         Web Inspector: scripts panel displays wrong file name after reload.
1688         https://bugs.webkit.org/show_bug.cgi?id=53761
1689
1690         * inspector/front-end/ScriptsPanel.js:
1691         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1692
1693 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
1694
1695         Reviewed by Pavel Feldman.
1696
1697         Web Inspector: remove settings related methods from InspectorClient
1698         https://bugs.webkit.org/show_bug.cgi?id=53686
1699
1700         * WebCore.exp.in:
1701         * inspector/CodeGeneratorInspector.pm:
1702         * inspector/InspectorClient.h:
1703         * inspector/InspectorFrontendClientLocal.cpp:
1704         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
1705         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
1706         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
1707         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
1708         provide platform-specific settings accessor.
1709         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
1710         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
1711         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
1712         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
1713         * loader/EmptyClients.h:
1714
1715 2011-02-03  Anton Muhin  <antonm@chromium.org>
1716
1717         Reviewed by Adam Barth.
1718
1719         [v8] frame several more JS code invocations into v8::TryCatch
1720         https://bugs.webkit.org/show_bug.cgi?id=53594
1721
1722         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
1723         in v8::ThrowException---currently sometimes exceptions thrown by this method
1724         do not reach surrounding v8::TryCatch handler (see
1725         http://code.google.com/p/v8/issues/detail?id=1072 and
1726         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
1727         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
1728         one rebaseline as of now.)
1729
1730         * bindings/v8/V8Proxy.cpp:
1731         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
1732         * bindings/v8/V8WindowErrorHandler.cpp:
1733         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
1734
1735 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
1736
1737         Reviewed by Dan Bernstein.
1738
1739         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
1740         https://bugs.webkit.org/show_bug.cgi?id=52897
1741         <rdar://problem/8898294>
1742
1743         * WebCore.exp.in: Add export now needed by WebKit2
1744
1745 2011-02-03  Victoria Kirst  <vrk@google.com>
1746
1747         Reviewed by James Robinson.
1748
1749         Replaces float literals with uniform values in shader code
1750         so that buggy drivers unable to parse float values in different
1751         locales will not produce a pink video.
1752
1753         [chromium] Fix pink video bug with gpu-acceleration enabled
1754         https://bugs.webkit.org/show_bug.cgi?id=53568
1755
1756         * platform/graphics/chromium/VideoLayerChromium.cpp:
1757         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
1758         (WebCore::VideoLayerChromium::drawYUV):
1759         * platform/graphics/chromium/VideoLayerChromium.h:
1760         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
1761
1762 2011-02-03  James Kozianski  <koz@chromium.org>
1763
1764         Reviewed by Dimitri Glazkov.
1765
1766         Add navigator.registerProtocolHandler behind a flag.
1767         https://bugs.webkit.org/show_bug.cgi?id=52609
1768
1769         This method is described in the HTML5 specification here,
1770         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
1771
1772         This change is largely cribbed from B. Green's 29651 patches. It is
1773         behind a flag so as not to break JS feature detection.
1774
1775         New layout test fast/dom/registerProtocolHandler.html.
1776
1777         * Configurations/FeatureDefines.xcconfig:
1778         * loader/EmptyClients.h:
1779         (WebCore::EmptyChromeClient::registerProtocolHandler):
1780         * page/Chrome.cpp:
1781         (WebCore::Chrome::registerProtocolHandler):
1782         * page/Chrome.h:
1783         * page/ChromeClient.h:
1784         * page/Navigator.cpp:
1785         (WebCore::verifyCustomHandlerURL):
1786         (WebCore::verifyProtocolHandlerScheme):
1787         (WebCore::Navigator::registerProtocolHandler):
1788         * page/Navigator.h:
1789         * page/Navigator.idl:
1790
1791 2011-02-03  Brian Ryner  <bryner@chromium.org>
1792
1793         Reviewed by Darin Fisher.
1794
1795         Add a field to the ResourceResponse for tracking the socket address
1796         of the host that the resource was fetched from.  Patch was originally
1797         by Paul Marks.
1798         https://bugs.webkit.org/show_bug.cgi?id=53699
1799
1800         * platform/network/chromium/ResourceResponse.cpp:
1801         (WebCore::ResourceResponse::doPlatformCopyData):
1802         (WebCore::ResourceResponse::doPlatformAdopt):
1803         * platform/network/chromium/ResourceResponse.h:
1804         (WebCore::ResourceResponse::socketAddress):
1805         (WebCore::ResourceResponse::setSocketAddress):
1806
1807 2011-02-03  Adam Langley  <agl@chromium.org>
1808
1809         Reviewed by Adam Barth.
1810
1811         Plumb mixed script URL to FrameLoaderClient
1812         https://bugs.webkit.org/show_bug.cgi?id=52384
1813
1814         Regressions covered by http/tests/security/mixedContent/*
1815
1816         * loader/EmptyClients.h:
1817         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
1818         * loader/FrameLoader.cpp:
1819         (WebCore::FrameLoader::checkIfRunInsecureContent):
1820         * loader/FrameLoaderClient.h:
1821
1822 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
1823
1824         Reviewed by Dan Bernstein.
1825
1826         REGRESSION: Artifacts on box-shadow corners in some cases
1827         https://bugs.webkit.org/show_bug.cgi?id=53731
1828
1829         Fix overdrawing artifacts in ShadowBlur's tiling code path,
1830         which show up in shadows using a color with alpha.
1831         
1832         Test: fast/box-shadow/shadow-tiling-artifact.html
1833
1834         * platform/graphics/ShadowBlur.cpp:
1835         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
1836         that the inner rect that gets filled does not overlap with any
1837         of the eight tiled areas by having the corner and side dimensions
1838         be the same for contiguous areas.
1839
1840 2011-02-03  Adam Barth  <abarth@webkit.org>
1841
1842         Reviewed by Alexey Proskuryakov.
1843
1844         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
1845         percent signs in large posted data
1846         https://bugs.webkit.org/show_bug.cgi?id=53405
1847
1848         If the input string contains many non-% characters followed by a %
1849         character that is not a valid URL escape sequence, then the old
1850         algorithm would only advance the initial search by one character
1851         (instead of jumping to just after the % character).  That would cause
1852         the algorithm to take N^2 time (in the number of characters before the
1853         first % character).  This patch just advances the search past the first
1854         % character so we can start looking for next % character sooner.
1855
1856         * platform/KURL.cpp:
1857         (WebCore::decodeURLEscapeSequences):
1858
1859 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
1860
1861         Reviewed by Pavel Feldman.
1862
1863         Web Inspector: click on a breakpoint highlights wrong line in source frame.
1864         https://bugs.webkit.org/show_bug.cgi?id=53692
1865
1866         * inspector/front-end/BreakpointsSidebarPane.js:
1867         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
1868
1869 2011-02-03  Anton Muhin  <antonm@chromium.org>
1870
1871         Reviewed by Adam Barth.
1872
1873         [v8] Bail out if to string conversion returned empty handle
1874         https://bugs.webkit.org/show_bug.cgi?id=53687
1875
1876         This a temporary measure: actually one probably should never get empty handle
1877         if there was no exception.  The root cause is under investigation.
1878         The bailout though allows Chromium not to crash---attempt to convert an empty
1879         v8 hande into WebCore string crashes with invalid memory access.
1880
1881         See http://code.google.com/p/chromium/issues/detail?id=71544
1882
1883         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
1884
1885         * bindings/v8/V8Binding.cpp:
1886         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
1887         * bindings/v8/V8Binding.h:
1888         (WebCore::V8ParameterBase::prepareBase): Ditto
1889
1890 2011-02-03  Adam Barth  <abarth@webkit.org>
1891
1892         Attempt to fix Chromium build.
1893
1894         * html/parser/XSSFilter.cpp:
1895
1896 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
1897
1898         Unreviewed, rolling out r77562.
1899         http://trac.webkit.org/changeset/77562
1900         https://bugs.webkit.org/show_bug.cgi?id=53630
1901
1902         broke chromium mac build
1903
1904         * WebCore.gyp/WebCore.gyp:
1905         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
1906
1907 2011-02-03  Adam Barth  <abarth@webkit.org>
1908
1909         Reviewed by Daniel Bates.
1910
1911         XSS Auditor severely affects loading performance after submitting a large form
1912         https://bugs.webkit.org/show_bug.cgi?id=49845
1913
1914         Switch over from the XSSAuditor to the XSSFilter, improving performance
1915         on this example.
1916
1917         * html/parser/XSSFilter.cpp:
1918         (WebCore::XSSFilter::filterToken):
1919         * page/XSSAuditor.cpp:
1920         (WebCore::XSSAuditor::isEnabled):
1921
1922 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
1923
1924         Unreviewed, rolling out r77567.
1925         http://trac.webkit.org/changeset/77567
1926         https://bugs.webkit.org/show_bug.cgi?id=53468
1927
1928         broke chromium linux svg, canvas tests, possibly win also?
1929
1930         * platform/graphics/skia/ImageBufferSkia.cpp:
1931         (WebCore::getImageData):
1932         (WebCore::ImageBuffer::getUnmultipliedImageData):
1933         (WebCore::ImageBuffer::getPremultipliedImageData):
1934         (WebCore::putImageData):
1935         (WebCore::ImageBuffer::putUnmultipliedImageData):
1936         (WebCore::ImageBuffer::putPremultipliedImageData):
1937
1938 2011-02-02  MORITA Hajime  <morrita@google.com>
1939
1940         Reviewed by Dimitri Glazkov.
1941
1942         Refactoring: <progress> should not use ShadowElement
1943         https://bugs.webkit.org/show_bug.cgi?id=53583
1944
1945         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
1946           to be responsible for bar-part layout,
1947           which adopted layout logic from ShadowBlockElement.
1948         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
1949         - Remove dependency from RenderProgress to HTMLProgressElement and
1950           ShadowBlockElement.
1951         - The shadow tree is no longer removed on detach(). It becomes persistent.
1952           This is now possible because the ShadowBlockElement dependency is gone.
1953         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
1954           That didn't make sense.
1955
1956         * html/HTMLProgressElement.cpp:
1957         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
1958         * html/HTMLProgressElement.h:
1959         * html/shadow/ProgressBarValueElement.h: Added.
1960         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
1961         (WebCore::ProgressBarValueElement::shadowPseudoId):
1962         (WebCore::ProgressBarValueElement::createRenderer):
1963         (WebCore::ProgressBarValueElement::create):
1964         * rendering/RenderIndicator.cpp:
1965         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
1966         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
1967         (WebCore::RenderIndicatorPart::layout):
1968         (WebCore::RenderIndicatorPart::styleDidChange):
1969         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
1970         (WebCore::RenderIndicatorPart::originalVisibility):
1971         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
1972         (WebCore::RenderIndicatorPart::canHaveChildren):
1973         * rendering/RenderProgress.cpp:
1974         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
1975         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
1976         (WebCore::RenderProgress::updateFromElement):
1977         (WebCore::RenderProgress::layoutParts):
1978         (WebCore::RenderProgress::shouldHaveParts):
1979         * rendering/RenderProgress.h:
1980         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
1981
1982 2011-02-03  Jia Pu  <jpu@apple.com>
1983
1984         Reversion should not be marked as misspelled.
1985         https://bugs.webkit.org/show_bug.cgi?id=53255
1986
1987         This patch includes fix for reported bug, and also some housekeeping changes.
1988
1989         To implement desired behavior, we need:
1990         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
1991            that shouldn't be spellchecked and text shouldn't be autocorrected.
1992         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
1993            Otherwise the spell checking code in that function may interfere with autocorrection. This
1994            is achieved by explicitly applying pending correction when user types space, line break or
1995            paragraph break.
1996
1997         Housekeeping code changes include:
1998         1. Change manual-tests that were broken by relocated WebCore directory.
1999         2. Use TextIterator in various DocumentMarkerController functions instead of using
2000            Node::traverseNextNode() directly.
2001         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
2002            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
2003         4. Fixes of minor bugs that were exposed previously.
2004
2005         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
2006
2007         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
2008
2009         * dom/DocumentMarkerController.cpp:
2010         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
2011            consistent with addMarker() function. Allow passing in multiple marker types in one call.
2012            Added a boolean argument to specify the behavior when removing markers that partially
2013            overlap the specified range.
2014         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
2015            multiple marker types in one call.
2016         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
2017            consistent with addMarker() function. Allow passing in multiple marker types in one call.
2018
2019         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
2020            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
2021            removing markers that partially overlap the specified range.
2022
2023         * editing/Editor.cpp:
2024         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
2025         (WebCore::markerTypesForReplacement): Ditto.
2026         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
2027            setSelection() to make sure there is no pending correction when entering
2028            markAllMisspellingsAndBadGrammarInRanges().
2029         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
2030            is a top level command to improve efficiency.
2031         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
2032         (WebCore::Editor::insertLineBreak): Ditto.
2033         (WebCore::Editor::insertParagraphSeparator): Ditto.
2034         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
2035            text carries SpellCheckingExemption marker.
2036         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
2037            from spellchecker is an empty string.
2038         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
2039            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
2040            efficiency and readability.
2041         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
2042            applying correction, since it's unnecessary. Also, store pre-correction string together with
2043            the marker for reversion panel to use.
2044         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
2045         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
2046            where we have access to EditCommand object.
2047
2048         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
2049
2050         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
2051            were broken by relocated WebCore directory.
2052
2053         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
2054
2055         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
2056
2057         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
2058
2059         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
2060
2061         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
2062
2063         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
2064
2065         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
2066
2067         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
2068
2069         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
2070
2071         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
2072            were broken by relocated WebCore directory.
2073
2074         * rendering/InlineTextBox.cpp:
2075         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
2076
2077 2011-02-03  Abhishek Arya  <inferno@chromium.org>
2078
2079         Unreviewed, qt build fix.
2080
2081         * rendering/RenderBlock.cpp:
2082         (WebCore::RenderBlock::removeFloatingObject):
2083
2084 2011-02-03  Brian Salomon  <bsalomon@google.com>
2085
2086         Reviewed by James Robinson.
2087
2088         Handle non-raster backed images in getUnmultipliedImageData()
2089         https://bugs.webkit.org/show_bug.cgi?id=53468
2090
2091         No new tests. Existing canvas tests sufficient
2092         LayoutTests/canvas/philip/...
2093
2094         * platform/graphics/skia/ImageBufferSkia.cpp:
2095         (WebCore::getImageData):
2096         (WebCore::ImageBuffer::getUnmultipliedImageData):
2097         (WebCore::ImageBuffer::getPremultipliedImageData):
2098         (WebCore::putImageData):
2099         (WebCore::ImageBuffer::putUnmultipliedImageData):
2100         (WebCore::ImageBuffer::putPremultipliedImageData):
2101
2102 2011-02-03  Abhishek Arya  <inferno@chromium.org>
2103
2104         Reviewed by James Robinson.
2105
2106         Enforce more limits on root inline boxes height calculations.
2107         https://bugs.webkit.org/show_bug.cgi?id=53729
2108
2109         Test: fast/overflow/overflow-height-float-not-removed-crash.html
2110
2111         * rendering/RenderBlock.cpp:
2112         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
2113         become negative when logicalTop is INT_MAX.
2114         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
2115         is INT_MAX, we should dirty everything. So, we bail out to make
2116         afterLowest equal to the lastRootBox() or lowestDirstLine.
2117
2118 2011-02-03  David Levin  <levin@chromium.org>
2119
2120         Reviewed by Adam Barth and Oliver Hunt.
2121
2122         Worker.importScript() should clean errors for cross origin imports.
2123         https://bugs.webkit.org/show_bug.cgi?id=52871
2124
2125         Test: http/tests/workers/worker-importScriptsOnError.html
2126
2127         * bindings/js/WorkerScriptController.cpp:
2128         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
2129         to determine when to create a clean exception.
2130         * bindings/v8/WorkerContextExecutionProxy.cpp:
2131         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
2132         * dom/ScriptExecutionContext.cpp:
2133         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
2134         if the error needs to be cleaned up.
2135         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
2136         sanitizeScriptError for use by other places.
2137         * dom/ScriptExecutionContext.h:
2138         * workers/WorkerContext.cpp:
2139         (WebCore::WorkerContext::importScripts): Use the reponse url when
2140         telling the evaluate where the script came fro.
2141         * workers/WorkerScriptLoader.cpp:
2142         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
2143         the script was loaded from (which may be different from url() due
2144         to redirects).
2145         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
2146         * workers/WorkerScriptLoader.h:
2147
2148 2011-02-03  Mark Mentovai  <mark@chromium.org>
2149
2150         Reviewed by Dimitri Glazkov.
2151
2152         Chromium GYP build fix.
2153
2154         When various settings were moved to webcore_prerequisites in r66364,
2155         things that should have been direct_dependent_settings were not marked
2156         as such. GYP 'defines', for example, make no sense on a 'none'-type
2157         target such as webcore_prerequisites. It appears that it was intended
2158         for these settings to be pushed to direct dependents, which would make
2159         direct_dependent_settings correct.
2160
2161         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
2162         http://crbug.com/71537, which at best causes Mac console log spew, and
2163         at worst may result in Chromium's copy of WebCore using system
2164         definitions of certain Objective-C classes at runtime, or vice-versa.
2165
2166         The build now includes a postbuild step to prevent
2167         http://crbug.com/71537 from regressing again. The build will fail upon
2168         regression.
2169
2170         https://bugs.webkit.org/show_bug.cgi?id=53630
2171
2172         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
2173           direct_dependent_settings as needed, add the check_objc_rename
2174           postbuild step.
2175         * WebCore.gyp/mac/check_objc_rename.sh: Added.
2176
2177 2011-02-03  Adam Barth  <abarth@webkit.org>
2178
2179         Reviewed by Eric Seidel.
2180
2181         Make XSSFilter go fast by adding a SuffixTree
2182         https://bugs.webkit.org/show_bug.cgi?id=53665
2183
2184         The SuffixTree lets us quickly reject snippets if the POST data is
2185         large (because we can avoid a linear scan over the POST data).
2186
2187         * html/parser/XSSFilter.cpp:
2188         (WebCore::XSSFilter::init):
2189         (WebCore::XSSFilter::isContainedInRequest):
2190         * html/parser/XSSFilter.h:
2191
2192 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
2193
2194         Reviewed by Alexey Proskuryakov.
2195
2196         REGRESSION (r77355): Page cache layout tests crash
2197         https://bugs.webkit.org/show_bug.cgi?id=53648
2198
2199         Test: fast/events/pagehide-timeout.html
2200         
2201         Suspend active DOM objects after all pagehide event handlers have run,
2202         otherwise it's possible for them to create more objects that weren't
2203         getting suspended.
2204
2205         * history/CachedFrame.cpp:
2206         (WebCore::CachedFrame::CachedFrame):
2207
2208 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
2209
2210         Reviewed by Nate Chapin.
2211
2212         SerializedScriptValue should not require v8 to create undefined and null values
2213         https://bugs.webkit.org/show_bug.cgi?id=53730
2214
2215         Instead of creating a v8 type and passing that into the constructor, just use
2216         the writer class directly. While I was at it, I cleaned up the code a bit too
2217         by getting rid of the WireData/StringValue enum as I found that personally
2218         confusing.
2219
2220         This is necessary because these methods are called by IndexedDB in the browser
2221         process where v8 is not spun up.
2222
2223         No functionality changed and not possible to test.
2224
2225         * bindings/v8/SerializedScriptValue.cpp:
2226         (WebCore::SerializedScriptValue::createFromWire):
2227         (WebCore::SerializedScriptValue::create):
2228         (WebCore::SerializedScriptValue::nullValue):
2229         (WebCore::SerializedScriptValue::undefinedValue):
2230         (WebCore::SerializedScriptValue::release):
2231         (WebCore::SerializedScriptValue::SerializedScriptValue):
2232         * bindings/v8/SerializedScriptValue.h:
2233
2234 2011-02-03  Beth Dakin  <bdakin@apple.com>
2235
2236         Reviewed by Sam Weinig.
2237
2238         Fix for <rdar://problem/8944544> Ability to animate track
2239         for WKPainter scrollers
2240
2241         Two new WebKitSystemInterface functions.
2242         * WebCore.exp.in:
2243         * platform/mac/WebCoreSystemInterface.h:
2244         * platform/mac/WebCoreSystemInterface.mm:
2245
2246         Use Scrollbar::convertFromContainingView() to return the right point.
2247         * platform/mac/ScrollAnimatorMac.mm:
2248         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2249         
2250         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
2251         now be used to animate the knob or the track.
2252         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
2253         (-[ScrollbarPartAnimation setCurrentProgress:]):
2254         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2255         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2256         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2257
2258         Scrollbars need invalodating after the overlay state changes. 
2259         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2260
2261 2011-02-03  Sam Weinig  <sam@webkit.org>
2262
2263         Reviewed by Beth Dakin.
2264
2265         Scroll thumb jumps to top when resizing horizontally.
2266
2267         * platform/ScrollView.cpp:
2268         (WebCore::ScrollView::updateScrollbars): Add call to update
2269         the scrollbar's offset in the case where we may have created
2270         a new scrollbar but have not changed the current position.
2271
2272 2011-02-03  Justin Schuh  <jschuh@chromium.org>
2273
2274         Reviewed by Dirk Schulze.
2275
2276         startAnimations should use a local, RefCounted Vector.
2277         https://bugs.webkit.org/show_bug.cgi?id=53458
2278
2279         Test: svg/custom/use-animation-in-fill.html
2280
2281         * svg/SVGDocumentExtensions.cpp:
2282         (WebCore::SVGDocumentExtensions::startAnimations):
2283
2284 2011-02-03  Adam Barth  <abarth@webkit.org>
2285
2286         Reviewed by Daniel Bates.
2287
2288         XSSFilter shouldn't bother to analyze pages without "injection"
2289         characters in the request
2290         https://bugs.webkit.org/show_bug.cgi?id=53664
2291
2292         If the request lacks these "injection" characters, then it's unlikely
2293         that there's a reflective XSS attack happening.  This hueristic lets us
2294         avoid analyzing the vast majority of responses for XSS.  Of course, the
2295         hueristic isn't perfect.  Because of this huerstic, we miss out on
2296         injections into unquoted attributes.  However, it's a trade-off that's
2297         worked well in the XSSAuditor.
2298
2299         * html/parser/XSSFilter.cpp:
2300         (WebCore::HTMLNames::isRequiredForInjection):
2301         (WebCore::XSSFilter::XSSFilter):
2302         (WebCore::XSSFilter::init):
2303         (WebCore::XSSFilter::filterToken):
2304         (WebCore::XSSFilter::isContainedInRequest):
2305         * html/parser/XSSFilter.h:
2306
2307 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
2308
2309         Reviewed by Kenneth Russell.
2310
2311         [chromium] Fixing a compositor crash occurring on layers
2312         without an associated RenderSurface.
2313         https://bugs.webkit.org/show_bug.cgi?id=53679
2314         Regression was introduced by in r77425 
2315
2316         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
2317         anymore.
2318
2319         * platform/graphics/chromium/LayerRendererChromium.cpp:
2320         (WebCore::LayerRendererChromium::drawLayer):
2321
2322 2011-02-03  Dan Bernstein  <mitz@apple.com>
2323
2324         Reviewed by Anders Carlsson.
2325
2326         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
2327         https://bugs.webkit.org/show_bug.cgi?id=53709
2328
2329         Covered by rendering of fast/text/emphasis-vertical.html
2330
2331         * platform/graphics/mac/SimpleFontDataMac.mm:
2332         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
2333         has.
2334
2335 2011-02-02  Levi Weintraub  <leviw@chromium.org>
2336
2337         Reviewed by Ryosuke Niwa.
2338
2339         Moving cursor down in table cycles at the end of a row
2340         https://bugs.webkit.org/show_bug.cgi?id=50012
2341
2342         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
2343         end of a document due to a bug in nextLeafWithSameEditability.
2344
2345         Test: editing/selection/move-by-line-cycles-in-table.html
2346
2347         * editing/visible_units.cpp:
2348         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
2349         original leaf node.
2350
2351 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
2352
2353         Reviewed by Pavel Feldman.
2354
2355         Web Inspector: remove dead code related to changes panel.
2356         https://bugs.webkit.org/show_bug.cgi?id=53688
2357
2358         * WebCore.gypi:
2359         * WebCore.vcproj/WebCore.vcproj:
2360         * inspector/front-end/ChangesView.js: Removed.
2361         * inspector/front-end/WebKit.qrc:
2362         * inspector/front-end/inspector.css:
2363         (#error-warning-count):
2364         (#error-warning-count:hover):
2365         (#error-count + #warning-count):
2366         * inspector/front-end/inspector.html:
2367         * inspector/front-end/inspector.js:
2368
2369 2011-02-02  Sam Weinig  <sam@webkit.org>
2370
2371         Reviewed by Anders Carlsson.
2372
2373         Add notification of the end of a rubber band.
2374         <rdar://problem/8940648>
2375
2376         * WebCore.exp.in:
2377         Add additional exprots.
2378
2379         * page/ChromeClient.h:
2380         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
2381         * page/FrameView.cpp:
2382         (WebCore::FrameView::didCompleteRubberBand):
2383         * page/FrameView.h:
2384         * platform/ScrollView.cpp:
2385         (WebCore::ScrollView::didCompleteRubberBand):
2386         * platform/ScrollView.h:
2387         Add hook.
2388
2389         * platform/ScrollableArea.h:
2390         (WebCore::ScrollableArea::inLiveResize):
2391         (WebCore::ScrollableArea::maximumScrollPosition):
2392         (WebCore::ScrollableArea::visibleWidth):
2393         (WebCore::ScrollableArea::overhangAmount):
2394         (WebCore::ScrollableArea::didCompleteRubberBand):
2395         Reorganize and de-virtualize live resize notifications.
2396
2397         * platform/mac/ScrollAnimatorMac.mm:
2398         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2399         Call the new hook when the rubberband ends.
2400
2401 2011-02-02  Evan Martin  <evan@chromium.org>
2402
2403         Reviewed by Tony Chang.
2404
2405         [chromium] complex joining characters positioned in wrong place
2406         https://bugs.webkit.org/show_bug.cgi?id=53637
2407
2408         Provide the correct font metrics to Harfbuzz related to the font design space.
2409         There are used in some fonts for GPOS positioning.
2410
2411         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
2412
2413         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2414         (WebCore::ComplexTextController::setupFontForScriptRun):
2415         (WebCore::ComplexTextController::allocHarfbuzzFont):
2416         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2417         (WebCore::FontPlatformData::FontPlatformData):
2418         (WebCore::FontPlatformData::emSizeInFontUnits):
2419         (WebCore::FontPlatformData::operator=):
2420         * platform/graphics/chromium/FontPlatformDataLinux.h:
2421         (WebCore::FontPlatformData::FontPlatformData):
2422
2423 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
2424
2425         Reviewed by Kent Tamura.
2426
2427         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
2428         https://bugs.webkit.org/show_bug.cgi?id=53634
2429
2430         Test: fast/dom/HTMLInputElement/input-slider-update.html
2431
2432         * html/HTMLInputElement.cpp:
2433         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
2434         * html/InputType.cpp:
2435         (WebCore::InputType::valueChanged): Added empty implementation.
2436         * html/InputType.h: Added def.
2437         * html/RangeInputType.cpp:
2438         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
2439             bit on the thumb.
2440         * html/RangeInputType.h: Added def.
2441
2442 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
2443
2444         Reviewed by Pavel Feldman.
2445
2446         Web Inspector: do not share source frames between resources panel and scripts panel.
2447         https://bugs.webkit.org/show_bug.cgi?id=53584
2448
2449         Currently, we show error messages only for resources. This change will allow showing error
2450         messages in source frame even when resource is not available (eval scripts, inlined scripts).
2451
2452         * inspector/front-end/ConsoleView.js:
2453         (WebInspector.ConsoleView.prototype.addMessage):
2454         (WebInspector.ConsoleView.prototype.clearMessages):
2455         * inspector/front-end/ResourceView.js:
2456         (WebInspector.ResourceView.recreateResourceView):
2457         * inspector/front-end/ResourcesPanel.js:
2458         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
2459         * inspector/front-end/ScriptsPanel.js:
2460         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2461         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
2462         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
2463         (WebInspector.ScriptsPanel.prototype.reset):
2464         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
2465         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
2466         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
2467
2468 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
2469
2470         Fix 32-bit builds.
2471
2472         * platform/graphics/ShadowBlur.cpp:
2473         (WebCore::ShadowBlur::blurLayerImage):
2474
2475 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
2476
2477         Reviewed by Pavel Feldman.
2478
2479         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
2480         https://bugs.webkit.org/show_bug.cgi?id=53592
2481
2482         In JSC there is no limit, thus 'undefined' value is returned.
2483         For V8, the limit reported by the VM is returned.
2484
2485         * Android.jscbindings.mk:
2486         * CMakeLists.txt:
2487         * GNUmakefile.am:
2488         * WebCore.gypi:
2489         * WebCore.pro:
2490         * WebCore.vcproj/WebCore.vcproj:
2491         * WebCore.xcodeproj/project.pbxproj:
2492         * bindings/js/JSBindingsAllInOne.cpp:
2493         * bindings/js/JSMemoryInfoCustom.cpp: Added.
2494         * bindings/js/ScriptGCEvent.cpp:
2495         (WebCore::ScriptGCEvent::getHeapSize):
2496         * bindings/js/ScriptGCEvent.h:
2497         * bindings/v8/ScriptGCEvent.cpp:
2498         (WebCore::ScriptGCEvent::getHeapSize):
2499         * bindings/v8/ScriptGCEvent.h:
2500         * inspector/InspectorTimelineAgent.cpp:
2501         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2502         * page/MemoryInfo.cpp:
2503         (WebCore::MemoryInfo::MemoryInfo):
2504         * page/MemoryInfo.h:
2505         (WebCore::MemoryInfo::jsHeapSizeLimit):
2506         * page/MemoryInfo.idl:
2507
2508 2011-01-27  Philippe Normand  <pnormand@igalia.com>
2509
2510         Reviewed by Martin Robinson.
2511
2512         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
2513         https://bugs.webkit.org/show_bug.cgi?id=53125
2514
2515         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2516         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
2517
2518 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
2519
2520         Reviewed by Sam Weinig.
2521
2522         ShadowBlur radius for CSS shadows is slightly too big
2523         https://bugs.webkit.org/show_bug.cgi?id=53660
2524         
2525         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
2526         shadows that extend further than the CSS "blur radius", which results
2527         in the shadows being truncated.
2528         
2529         Fix with a small fudge factor to reduce the kernel diameter slightly
2530         for CSS shadows.
2531         
2532         Also more closely follow the algorithm described in the SVG spec
2533         for computing the kernel size for different diameters, and clean up
2534         some variable naming relating to the shadow bounds.
2535
2536         * platform/graphics/ShadowBlur.cpp:
2537         (WebCore::ShadowBlur::blurLayerImage):
2538         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2539
2540 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
2541
2542         Reviewed by Pavel Feldman.
2543
2544         Web Inspector: introduce new api for managing JavaScript breakpoints.
2545         https://bugs.webkit.org/show_bug.cgi?id=53235
2546
2547         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
2548         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
2549         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
2550
2551         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
2552         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
2553
2554         * bindings/js/ScriptDebugServer.cpp:
2555         (WebCore::ScriptDebugServer::setBreakpoint):
2556         (WebCore::ScriptDebugServer::removeBreakpoint):
2557         * bindings/js/ScriptDebugServer.h:
2558         * bindings/v8/DebuggerScript.js:
2559         ():
2560         * bindings/v8/ScriptDebugServer.cpp:
2561         (WebCore::ScriptDebugServer::setBreakpoint):
2562         * bindings/v8/ScriptDebugServer.h:
2563         * inspector/Inspector.idl:
2564         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
2565         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
2566         (WebCore::InspectorAgent::populateScriptObjects):
2567         (WebCore::InspectorAgent::restoreDebugger):
2568         (WebCore::InspectorAgent::showAndEnableDebugger):
2569         (WebCore::InspectorAgent::enableDebugger):
2570         * inspector/InspectorAgent.h:
2571         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
2572         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2573         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
2574         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
2575         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
2576         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
2577         (WebCore::InspectorDebuggerAgent::continueToLocation):
2578         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2579         (WebCore::InspectorDebuggerAgent::getScriptSource):
2580         (WebCore::InspectorDebuggerAgent::didParseSource):
2581         (WebCore::InspectorDebuggerAgent::didPause):
2582         * inspector/InspectorDebuggerAgent.h:
2583         (WebCore::InspectorDebuggerAgent::Script::Script):
2584         * inspector/InspectorValues.cpp:
2585         (WebCore::InspectorValue::asNumber):
2586         (WebCore::InspectorBasicValue::asNumber):
2587         (WebCore::InspectorObject::remove):
2588         * inspector/InspectorValues.h:
2589         (WebCore::InspectorObject::getNumber):
2590         (WebCore::InspectorObject::find):
2591         * inspector/ScriptBreakpoint.h:
2592         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2593         * inspector/front-end/Breakpoint.js:
2594         (WebInspector.Breakpoint):
2595         (WebInspector.Breakpoint.prototype.addLocation):
2596         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
2597         (WebInspector.BreakpointManager):
2598         (WebInspector.BreakpointManager.prototype._projectChanged):
2599         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
2600         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
2601         * inspector/front-end/BreakpointsSidebarPane.js:
2602         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
2603         * inspector/front-end/DebuggerModel.js:
2604         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
2605         * inspector/front-end/Script.js:
2606         (WebInspector.Script.prototype.sourceLine):
2607         * inspector/front-end/ScriptsPanel.js:
2608         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2609         * inspector/front-end/Settings.js:
2610         (WebInspector.Settings):
2611         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
2612         * inspector/front-end/inspector.js:
2613
2614 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
2615
2616         Reviewed by Dirk Schulze.
2617
2618         small text which is scaled to be large renders pixelated
2619         https://bugs.webkit.org/show_bug.cgi?id=12448
2620
2621         SVG <text> with font-size smaller or equal to 1 does not paint correctly
2622         https://bugs.webkit.org/show_bug.cgi?id=14242
2623
2624         misplaced text in SVG
2625         https://bugs.webkit.org/show_bug.cgi?id=17053
2626
2627         Don't render very small (but zoomed) text inside SVG
2628         https://bugs.webkit.org/show_bug.cgi?id=19393
2629
2630         Tiny fonts scaled up end up too large in Safari
2631         https://bugs.webkit.org/show_bug.cgi?id=20192
2632
2633         Stretched SVG Text has awful glyph spacing 
2634         https://bugs.webkit.org/show_bug.cgi?id=21774
2635
2636         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
2637         https://bugs.webkit.org/show_bug.cgi?id=49846
2638
2639         [Gtk] Text height in zoomed SVG is 1px too high
2640         https://bugs.webkit.org/show_bug.cgi?id=50313
2641
2642         SVG text smaller than 0.5px not displayed properly
2643         https://bugs.webkit.org/show_bug.cgi?id=50528
2644
2645         When rendering text, we're selecting a font with a size, as specified in the markup.
2646         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
2647         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
2648         problem becomes apparent.
2649
2650         Consider following two snippets, which should render exactly the same:
2651         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
2652         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
2653
2654         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
2655         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
2656         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
2657
2658         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
2659         remove any scaling from the context, draw the text using the scaled font size, then reapply
2660         the context scale. This makes the example snippets above render exactly the same and fixes
2661         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
2662         internally, depending on the scale of the document, it's very important to use the new
2663         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
2664
2665         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
2666                               svg/hixie/text/003.html (no more pixelation)
2667                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
2668                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
2669                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
2670
2671         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
2672                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
2673                svg/text/scaled-font.svg (reduction from bug 12448)
2674                svg/text/small-fonts-2.svg (reduction from bug 14242)
2675                svg/text/small-fonts-3.svg (reduction from bug 17053)
2676                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
2677                svg/text/small-fonts.svg (reduction from bug 20192))
2678
2679         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
2680         * rendering/svg/RenderSVGInlineText.h:
2681         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
2682         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
2683         * rendering/svg/SVGInlineTextBox.h:
2684         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
2685         * rendering/svg/SVGTextMetrics.cpp: Ditto.
2686         * rendering/svg/SVGTextMetrics.h: Ditto.
2687         * rendering/svg/SVGTextQuery.cpp: Ditto.
2688         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
2689         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
2690         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
2691         * svg/SVGTextPositioningElement.h: 
2692
2693 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
2694
2695         Reviewed by Yury Semikhatsky.
2696
2697         Web Inspector: resources panel doesn't show frames after reload.
2698         https://bugs.webkit.org/show_bug.cgi?id=53430
2699
2700         * inspector/front-end/ResourcesPanel.js:
2701         (WebInspector.ResourcesPanel.prototype.show):
2702         (WebInspector.ResourcesPanel.prototype.loadEventFired):
2703         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
2704         (WebInspector.ResourcesPanel.prototype.reset):
2705         (WebInspector.ResourcesPanel.prototype.clear):
2706         * inspector/front-end/inspector.js:
2707         (WebInspector.loadEventFired):
2708
2709 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
2710
2711         Reviewed by Pavel Feldman.
2712
2713         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
2714         https://bugs.webkit.org/show_bug.cgi?id=53492
2715
2716         * inspector/Inspector.idl:
2717         * inspector/InspectorCSSAgent.cpp:
2718         (WebCore::InspectorCSSAgent::getStylesForNode):
2719         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
2720         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2721         (WebCore::InspectorCSSAgent::getAllStyles):
2722         (WebCore::InspectorCSSAgent::getStyleSheet):
2723         (WebCore::InspectorCSSAgent::getStyleSheetText):
2724         (WebCore::InspectorCSSAgent::setStyleSheetText):
2725         (WebCore::InspectorCSSAgent::setPropertyText):
2726         (WebCore::InspectorCSSAgent::toggleProperty):
2727         (WebCore::InspectorCSSAgent::setRuleSelector):
2728         (WebCore::InspectorCSSAgent::addRule):
2729         * inspector/InspectorCSSAgent.h:
2730         * inspector/front-end/AuditRules.js:
2731         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2732         * inspector/front-end/CSSStyleModel.js:
2733         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2734         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
2735         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
2736         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2737         (WebInspector.CSSStyleModel.prototype.addRule):
2738         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2739         (WebInspector.CSSStyleModel.prototype._onRevert):
2740         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2741         (WebInspector.CSSProperty.prototype.setText):
2742         (WebInspector.CSSProperty.prototype.setDisabled):
2743         (WebInspector.CSSStyleSheet.createForId):
2744         (WebInspector.CSSStyleSheet.prototype.setText):
2745
2746 2011-02-03  Adam Barth  <abarth@webkit.org>
2747
2748         Reviewed by Daniel Bates.
2749
2750         Teach XSSFilter about data URLs
2751         https://bugs.webkit.org/show_bug.cgi?id=53662
2752
2753         The XSS filter doesn't really make sense for data URLs because
2754         everything in a "response" from a data URL was part of the request.
2755
2756         Test: http/tests/security/xssAuditor/data-urls-work.html
2757
2758         * html/parser/XSSFilter.cpp:
2759         (WebCore::XSSFilter::init):
2760         (WebCore::XSSFilter::filterToken):
2761
2762 2011-02-02  Chris Evans  <cevans@chromium.org>
2763
2764         Reviewed by Darin Fisher.
2765
2766         window.find() can fail when switching case sensitivity
2767         https://bugs.webkit.org/show_bug.cgi?id=53654
2768
2769         Reset the pattern to a safe one when done, to avoid usearch_reset()
2770         indirectly touching the old, stale text pointer.
2771
2772         Test: fast/text/find-window.html
2773
2774         * editing/TextIterator.cpp:
2775         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
2776
2777 2011-02-02  Adam Barth  <abarth@webkit.org>
2778
2779         Reviewed by Daniel Bates.
2780
2781         Teach XSSFilter that <param> elements can contain URLs
2782         https://bugs.webkit.org/show_bug.cgi?id=53652
2783
2784         When loading plugins for the <object> tag, we're "smart" enough to
2785         reach into the <param> elements and pull out the URL in some cases.
2786         This patch teaches the XSSFilter how to block injections into those
2787         sorts of param elements.
2788
2789         Fixes:
2790             http/tests/security/xssAuditor/object-*
2791
2792         * html/HTMLParamElement.cpp:
2793         (WebCore::HTMLParamElement::isURLParameter):
2794         (WebCore::HTMLParamElement::isURLAttribute):
2795         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
2796         * html/HTMLParamElement.h:
2797             - Add a helper function so that HTMLParamElement can share the
2798               ground truth for these names with the XSSFilter.
2799         * html/parser/XSSFilter.cpp:
2800         (WebCore::XSSFilter::filterTokenInitial):
2801         (WebCore::XSSFilter::filterParamToken):
2802         * html/parser/XSSFilter.h:
2803
2804 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
2805
2806         Reviewed by David Levin.
2807
2808         GCC compiler on ARM issues bogus warnings and fails to compile.
2809         https://bugs.webkit.org/show_bug.cgi?id=53620
2810
2811         Despite warnings explicitly being disallowed (-Wno-uninitialized),
2812         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
2813
2814         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
2815
2816         The fix is to add an extra condition, which somehow pacifies the compiler.
2817
2818         * css/CSSPrimitiveValue.cpp:
2819         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
2820
2821 2011-02-02  Adam Barth  <abarth@webkit.org>
2822
2823         Reviewed by Daniel Bates.
2824
2825         Teach XSSFilter about X-XSS-Protection
2826         https://bugs.webkit.org/show_bug.cgi?id=53640
2827
2828         This patch causes us to pass:
2829             http/tests/security/xssAuditor/full-block-*
2830             http/tests/security/xssAuditor/no-protection-script-tag.html
2831
2832         * html/parser/XSSFilter.cpp:
2833         (WebCore::XSSFilter::XSSFilter):
2834         (WebCore::XSSFilter::init):
2835         (WebCore::XSSFilter::filterToken):
2836         * html/parser/XSSFilter.h:
2837
2838 2011-02-02  Adam Barth  <abarth@webkit.org>
2839
2840         Reviewed by Daniel Bates.
2841
2842         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
2843         instead of the empty string
2844         https://bugs.webkit.org/show_bug.cgi?id=53643
2845
2846         In a URL context, the empty string completes to the URL of the current
2847         page, which causes these tests to go into an infinite loop.  Instead,
2848         we should use a "safe" JavaScript URL that does nothing.
2849
2850         Fixes:
2851             http/tests/security/xssAuditor/javascript-link*
2852
2853         * html/parser/XSSFilter.cpp:
2854         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
2855
2856 2011-02-02  Dan Bernstein  <mitz@apple.com>
2857
2858         Reviewed by Sam Weinig.
2859
2860         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
2861         https://bugs.webkit.org/show_bug.cgi?id=44942
2862
2863         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
2864
2865         * platform/text/BidiResolver.h:
2866         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
2867         a change to embedding levels.
2868         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
2869         the explicit embedding sequence, then runs were not added, and we should continue normally.
2870
2871 2011-02-02  Sam Weinig  <sam@webkit.org>
2872
2873         Reviewed by Dan Bernstein.
2874
2875         Fix miscalculation of the overhang area used for painting. We were
2876         not correctly accounting for scrollbars resulting in an non-negative
2877         overhang even when we weren't over the edge.
2878
2879         * platform/ScrollView.cpp:
2880         (WebCore::ScrollView::calculateOverhangAreasForPainting):
2881
2882 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
2883
2884         Reviewed by Nate Chapin.
2885
2886         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
2887         https://bugs.webkit.org/show_bug.cgi?id=52722
2888
2889         The solution is to change ScriptExecutionContext's destructor to iterate over
2890         the list in a way that handles the mutations. This new method is destructive,
2891         but that's OK since the object is going away. I've also added a several asserts.
2892
2893         There should be no behavior change.
2894
2895         * dom/ScriptExecutionContext.cpp:
2896         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2897         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2898         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2899         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2900         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2901         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2902         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
2903         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
2904         * dom/ScriptExecutionContext.h:
2905         * storage/IDBTransaction.cpp:
2906         (WebCore::IDBTransaction::contextDestroyed):
2907         * storage/IDBTransaction.h:
2908
2909 2011-02-02  Mark Rowe  <mrowe@apple.com>
2910
2911         Build fix.
2912
2913         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
2914         * platform/mac/ScrollbarThemeMac.mm:
2915         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
2916         up in the HashMap rather than relying on a local variable that doesn't
2917         exist.
2918
2919 2011-02-02  Adam Barth  <abarth@webkit.org>
2920
2921         Reviewed by Daniel Bates.
2922
2923         Teach XSSFilter about JavaScript URLs
2924         https://bugs.webkit.org/show_bug.cgi?id=53635
2925
2926         This patch teaches the XSSFilter to check for JavaScript URLs in
2927         attribute values.  If this approach has too many false positives, we
2928         can restrict which attribute names we examine.
2929
2930         Fixes these tests:
2931             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
2932             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
2933             http/tests/security/xssAuditor/iframe-javascript-url*
2934
2935         * html/parser/XSSFilter.cpp:
2936         (WebCore::HTMLNames::containsJavaScriptURL):
2937         (WebCore::XSSFilter::filterTokenInitial):
2938         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
2939         * html/parser/XSSFilter.h:
2940
2941 2011-02-02  Dan Bernstein  <mitz@apple.com>
2942
2943         Reviewed by Sam Weinig, even though this is just a...
2944
2945         ...build fix.
2946
2947         * platform/mac/ScrollAnimatorMac.mm:
2948         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2949
2950 2011-02-02  Mark Rowe  <mrowe@apple.com>
2951
2952         Reviewed by Beth Dakin.
2953
2954         <rdar://problem/8952012> Crash on launch inside scrollbar code.
2955
2956         We need to ensure that we remove ourselves as the delegates of objects when we're going
2957         away as failing to do this can lead to crashes if the lifetime of the other objects
2958         is longer than ours.
2959
2960         * platform/mac/ScrollAnimatorMac.mm:
2961         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2962         * platform/mac/ScrollbarThemeMac.mm:
2963         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2964
2965 2011-02-02  Beth Dakin  <bdakin@apple.com>
2966
2967         Build fix.
2968
2969         * WebCore.exp.in:
2970
2971 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
2972
2973         Unreviewed WinCE build fix for r77397.
2974
2975         * page/wince/FrameWinCE.cpp:
2976         (WebCore::computePageRectsForFrame):
2977
2978 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
2979
2980         Unreviewed WinCE build fix for r77398.
2981
2982         * platform/graphics/wince/PlatformPathWinCE.cpp:
2983         (WebCore::containsPoint):
2984         (WebCore::inflateRectToContainPoint):
2985         (WebCore::PlatformPath::addRect):
2986         * platform/graphics/wince/SharedBitmap.cpp:
2987         (WebCore::SharedBitmap::drawPattern):
2988         * rendering/RenderThemeWinCE.cpp:
2989         (WebCore::RenderThemeWinCE::paintMenuListButton):
2990         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2991         (WebCore::RenderThemeWinCE::paintSliderTrack):
2992         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
2993         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
2994         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
2995         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
2996
2997 2011-02-02  Jian Li  <jianli@chromium.org>
2998
2999         Reviewed by Kenneth Russell.
3000
3001         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
3002         https://bugs.webkit.org/show_bug.cgi?id=53559
3003
3004         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
3005
3006         * html/canvas/DataView.h:
3007         (WebCore::DataView::beyondRange):
3008
3009 2011-02-02  Sam Weinig  <sam@webkit.org>
3010
3011         Reviewed by Beth Dakin.
3012
3013         Add ChromeClient function to paint custom overhang areas.
3014         https://bugs.webkit.org/show_bug.cgi?id=53639
3015
3016         * page/Chrome.cpp:
3017         (WebCore::ChromeClient::paintCustomOverhangArea):
3018         * page/ChromeClient.h:
3019         Add ChromeClient function.
3020
3021         * page/FrameView.cpp:
3022         (WebCore::FrameView::paintOverhangAreas):
3023         * page/FrameView.h:
3024         Call out the the ChromeClient, call ScrollView base implementation
3025         if the ChromeClient returns false.
3026
3027         * platform/ScrollView.cpp:
3028         (WebCore::ScrollView::paintOverhangAreas):
3029         * platform/ScrollView.h:
3030         Add dirty rect for use when painting overhang areas.
3031
3032 2011-02-02  Peter Kasting  <pkasting@google.com>
3033
3034         Not reviewed, build fix.
3035
3036         Fix compile after r77427.
3037         https://bugs.webkit.org/show_bug.cgi?id=53455
3038
3039         * platform/graphics/qt/ImageDecoderQt.cpp:
3040         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
3041         * platform/image-decoders/ImageDecoder.cpp:
3042         (WebCore::ImageFrame::operator=):
3043         * platform/image-decoders/bmp/BMPImageReader.cpp:
3044         (WebCore::BMPImageReader::decodeBMP):
3045         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3046         (WebCore::JPEGImageDecoder::outputScanlines):
3047         * platform/image-decoders/png/PNGImageDecoder.cpp:
3048         (WebCore::PNGImageDecoder::rowAvailable):
3049         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3050         (WebCore::WEBPImageDecoder::decode):
3051
3052 2011-02-02  Peter Kasting  <pkasting@google.com>
3053
3054         Reviewed by David Levin.
3055
3056         Clean up ImageDecoder's comments (remove/trim/clarify).
3057         https://bugs.webkit.org/show_bug.cgi?id=53455
3058
3059         This also renames or eliminates a couple of functions for clarity, and
3060         switches a couple erroneous strncmp() calls to memcmp().
3061
3062         * platform/image-decoders/ImageDecoder.cpp:
3063         (WebCore::ImageDecoder::create):
3064         (WebCore::ImageFrame::clearPixelData):
3065         (WebCore::ImageFrame::zeroFillPixelData):
3066         (WebCore::ImageFrame::setSize):
3067         * platform/image-decoders/ImageDecoder.h:
3068         (WebCore::ImageFrame::originalFrameRect):
3069         (WebCore::ImageFrame::setOriginalFrameRect):
3070         (WebCore::ImageDecoder::ImageDecoder):
3071         (WebCore::ImageDecoder::~ImageDecoder):
3072         (WebCore::ImageDecoder::isSizeAvailable):
3073         (WebCore::ImageDecoder::size):
3074         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
3075         (WebCore::ImageDecoder::clearFrameBufferCache):
3076         (WebCore::ImageDecoder::isOverSize):
3077         * platform/image-decoders/bmp/BMPImageReader.cpp:
3078         (WebCore::BMPImageReader::processNonRLEData):
3079         * platform/image-decoders/cg/ImageDecoderCG.cpp:
3080         (WebCore::ImageFrame::setSize):
3081         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3082         (WebCore::GIFImageDecoder::clearFrameBufferCache):
3083         (WebCore::GIFImageDecoder::frameComplete):
3084         (WebCore::GIFImageDecoder::initFrameBuffer):
3085         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3086         * platform/image-decoders/qt/ImageFrameQt.cpp:
3087         (WebCore::ImageFrame::operator=):
3088         (WebCore::ImageFrame::clearPixelData):
3089         (WebCore::ImageFrame::zeroFillPixelData):
3090         (WebCore::ImageFrame::setSize):
3091         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
3092         (WebCore::ImageFrame::operator=):
3093         (WebCore::ImageFrame::clearPixelData):
3094         (WebCore::ImageFrame::zeroFillPixelData):
3095         (WebCore::ImageFrame::setSize):
3096         * platform/image-decoders/webp/WEBPImageDecoder.h:
3097
3098 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
3099
3100         [chromium] Adding support for reflections to the accelerated
3101         compositing path.
3102         https://bugs.webkit.org/show_bug.cgi?id=53179
3103
3104         All layout tests in compositing/reflections generate correct
3105         results with the exception of:
3106         1. nested-reflection-anchor-point.html : There appears to be
3107            some issue with the layer transform math that I haven't been
3108            able to track down yet.
3109         2. reflection-opacity.html : The current implementation applies
3110            opacity before doing the reflection which makes this test
3111            produce incorrect results.  This will affect reflected layers
3112            with opacity that overlap their original layer.  FIXME comment
3113            added in the code.
3114
3115         Tests: Covered by existing layout tests in compositing/reflections.
3116                Please see above for exceptions.
3117
3118         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3119         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
3120         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
3121         * platform/graphics/chromium/GraphicsLayerChromium.h:
3122         * platform/graphics/chromium/LayerChromium.cpp:
3123         (WebCore::LayerChromium::LayerChromium):
3124         * platform/graphics/chromium/LayerChromium.h:
3125         (WebCore::LayerChromium::setReplicaLayer):
3126         (WebCore::LayerChromium::replicaLayer):
3127         * platform/graphics/chromium/LayerRendererChromium.cpp:
3128         (WebCore::LayerRendererChromium::updateLayersRecursive):
3129         (WebCore::LayerRendererChromium::drawLayer):
3130         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3131         (WebCore::RenderSurfaceChromium::drawableContentRect):
3132         (WebCore::RenderSurfaceChromium::drawSurface):
3133         (WebCore::RenderSurfaceChromium::draw):
3134         * platform/graphics/chromium/RenderSurfaceChromium.h:
3135         (WebCore::RenderSurfaceChromium::drawTransform):
3136
3137 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
3138
3139         Reviewed by Tony Chang.
3140
3141         [Chromium] Select popup with padding has white strip on right
3142         https://bugs.webkit.org/show_bug.cgi?id=53602
3143
3144         No new tests as this change restores old behavior.
3145
3146         * platform/chromium/PopupMenuChromium.cpp:
3147         (WebCore::PopupListBox::layout):
3148
3149 2011-02-02  Beth Dakin  <bdakin@apple.com>
3150
3151         Reviewed by Mark Rowe.
3152
3153         Fix for <rdar://problem/8950343> CrashTracer: [USER]
3154         1 crash in WebProcess at com.apple.WebCore: 
3155         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
3156
3157         It is possible for a Scrollbar's ScrollableArea to be null,
3158         so we must null check.
3159         * platform/mac/ScrollbarThemeMac.mm:
3160         (WebCore::ScrollbarThemeMac::registerScrollbar):
3161         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
3162
3163 2011-02-02  Zhenyao Mo  <zmo@google.com>
3164
3165         Reviewed by Kenneth Russell.
3166
3167         bufferData and bufferSubData should generate INVALID_VALUE with negative input
3168         https://bugs.webkit.org/show_bug.cgi?id=53626
3169
3170         * html/canvas/WebGLRenderingContext.cpp:
3171         (WebCore::WebGLRenderingContext::bufferData):
3172         (WebCore::WebGLRenderingContext::bufferSubData):
3173
3174 2011-02-02  Jeff Miller  <jeffm@apple.com>
3175
3176         Reviewed by Darin Adler and Steve Falkenburg.
3177
3178         Add DerivedSources.make to some Visual Studio projects
3179         https://bugs.webkit.org/show_bug.cgi?id=53607
3180
3181         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
3182
3183 2011-02-02  Cris Neckar  <cdn@chromium.org>
3184
3185         Reviewed by James Robinson.
3186
3187         Refcount domwindows when dispatching device orientation events.
3188         https://bugs.webkit.org/show_bug.cgi?id=53623
3189
3190         Test: fast/events/device-orientation-crash.html
3191
3192         * dom/DeviceMotionController.cpp:
3193         (WebCore::DeviceMotionController::timerFired):
3194         (WebCore::DeviceMotionController::didChangeDeviceMotion):
3195         * dom/DeviceMotionController.h:
3196         * dom/DeviceOrientationController.cpp:
3197         (WebCore::DeviceOrientationController::timerFired):
3198         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
3199         * dom/DeviceOrientationController.h:
3200
3201 2011-02-02  Zhenyao Mo  <zmo@google.com>
3202
3203         Reviewed by Kenneth Russell.
3204
3205         A deleted object should never been bound again
3206         https://bugs.webkit.org/show_bug.cgi?id=53604
3207
3208         * html/canvas/WebGLRenderingContext.cpp:
3209         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
3210         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
3211         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
3212         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
3213         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
3214         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
3215         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
3216         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
3217         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
3218         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
3219         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
3220         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
3221         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
3222         * html/canvas/WebGLRenderingContext.h:
3223         * html/canvas/WebGLTexture.h:
3224         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
3225
3226 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
3227
3228         Unreviewed Efl buildfix after r77399.
3229
3230         * CMakeListsEfl.txt:
3231
3232 2011-02-02  Kenneth Russell  <kbr@google.com>
3233
3234         Reviewed by James Robinson.
3235
3236         Rename Typed Array subset to subarray
3237         https://bugs.webkit.org/show_bug.cgi?id=53618
3238
3239         * html/canvas/Float32Array.cpp:
3240         (WebCore::Float32Array::subarray):
3241         * html/canvas/Float32Array.h:
3242         * html/canvas/Float32Array.idl:
3243         * html/canvas/Int16Array.cpp:
3244         (WebCore::Int16Array::subarray):
3245         * html/canvas/Int16Array.h:
3246         * html/canvas/Int16Array.idl:
3247         * html/canvas/Int32Array.cpp:
3248         (WebCore::Int32Array::subarray):
3249         * html/canvas/Int32Array.h:
3250         * html/canvas/Int32Array.idl:
3251         * html/canvas/Int8Array.cpp:
3252         (WebCore::Int8Array::subarray):
3253         * html/canvas/Int8Array.h:
3254         * html/canvas/Int8Array.idl:
3255         * html/canvas/TypedArrayBase.h:
3256         (WebCore::TypedArrayBase::subarrayImpl):
3257         * html/canvas/Uint16Array.cpp:
3258         (WebCore::Uint16Array::subarray):
3259         * html/canvas/Uint16Array.h:
3260         * html/canvas/Uint16Array.idl:
3261         * html/canvas/Uint32Array.cpp:
3262         (WebCore::Uint32Array::subarray):
3263         * html/canvas/Uint32Array.h:
3264         * html/canvas/Uint32Array.idl:
3265         * html/canvas/Uint8Array.cpp:
3266         (WebCore::Uint8Array::subarray):
3267         * html/canvas/Uint8Array.h:
3268         * html/canvas/Uint8Array.idl:
3269
3270 2011-02-02  Adam Barth  <abarth@webkit.org>
3271
3272         Reviewed by Eric Seidel.
3273
3274         Add an empty file for Content Security Policy
3275         https://bugs.webkit.org/show_bug.cgi?id=53573
3276
3277         Posting this as a separate patch because editing the build files is so
3278         painful.
3279
3280         * Android.mk:
3281         * CMakeLists.txt:
3282         * GNUmakefile.am:
3283         * WebCore.gypi:
3284         * WebCore.pro:
3285         * WebCore.vcproj/WebCore.vcproj:
3286         * WebCore.xcodeproj/project.pbxproj:
3287
3288 2011-02-02  Dan Winship  <danw@gnome.org>
3289
3290         Reviewed by Martin Robinson.
3291
3292         [GTK] remove old data: URI handler, fix the SoupRequest-based one
3293         to pass tests
3294         https://bugs.webkit.org/show_bug.cgi?id=50885
3295
3296         * platform/network/soup/ResourceHandleSoup.cpp:
3297         (WebCore::sendRequestCallback): Do content-type sniffing here for
3298         non-HTTP requests.
3299         (WebCore::startHTTPRequest): Rename to match WebKit style.
3300         (WebCore::ResourceHandle::start): Pass everything except HTTP to
3301         startNonHTTPRequest, letting the SoupRequester decide whether it's
3302         supported or not.
3303         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
3304         code that was a no-op for file: URIs, but would break some data:
3305         URIs.
3306
3307 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
3308
3309         Update even more references to right() and bottom() in Chromium. Sheesh.
3310
3311         * platform/graphics/chromium/LayerRendererChromium.cpp:
3312         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
3313
3314 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
3315
3316         Unreviewed Gtk3 buildfix after r77286.
3317
3318         https://bugs.webkit.org/show_bug.cgi?id=53520
3319         Remove the physical terminology from IntRect and FloatRect.
3320
3321         * platform/gtk/RenderThemeGtk3.cpp:
3322         (WebCore::RenderThemeGtk::paintMenuList):
3323
3324 2011-02-02  Anders Carlsson  <andersca@apple.com>
3325
3326         Fix build.
3327
3328         * platform/mac/ScrollAnimatorMac.mm:
3329         (WebCore::ScrollAnimatorMac::pinnedInDirection):
3330
3331 2011-02-02  David Hyatt  <hyatt@apple.com>
3332
3333         Reviewed by Dan Bernstein.
3334
3335         https://bugs.webkit.org/show_bug.cgi?id=53619
3336
3337         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
3338         with maxX/maxY.  This matches IntRect.
3339
3340         * rendering/RenderBlock.cpp:
3341         (WebCore::RenderBlock::addOverflowFromFloats):
3342         (WebCore::RenderBlock::flipFloatForWritingMode):
3343         (WebCore::RenderBlock::paintFloats):
3344         (WebCore::RenderBlock::selectionGaps):
3345         (WebCore::RenderBlock::addOverhangingFloats):
3346         (WebCore::RenderBlock::addIntrudingFloats):
3347         (WebCore::RenderBlock::hitTestFloats):
3348         (WebCore::RenderBlock::adjustForBorderFit):
3349         * rendering/RenderBlock.h:
3350         (WebCore::RenderBlock::FloatingObject::x):
3351         (WebCore::RenderBlock::FloatingObject::maxX):
3352         (WebCore::RenderBlock::FloatingObject::y):
3353         (WebCore::RenderBlock::FloatingObject::maxY):
3354         (WebCore::RenderBlock::FloatingObject::setX):
3355         (WebCore::RenderBlock::FloatingObject::setY):
3356         (WebCore::RenderBlock::logicalTopForFloat):
3357         (WebCore::RenderBlock::logicalBottomForFloat):
3358         (WebCore::RenderBlock::logicalLeftForFloat):
3359         (WebCore::RenderBlock::logicalRightForFloat):
3360         (WebCore::RenderBlock::setLogicalTopForFloat):
3361         (WebCore::RenderBlock::setLogicalLeftForFloat):
3362         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
3363         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
3364
3365 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
3366
3367         Update more references to right() and bottom() in Chromium Win.
3368
3369         * platform/graphics/chromium/TransparencyWin.cpp:
3370         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
3371         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
3372         * rendering/RenderThemeChromiumWin.cpp:
3373         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
3374
3375 2011-02-02  Adam Roben  <aroben@apple.com>
3376
3377         Encode/decode FormData and FormDataElement objects consistently
3378
3379         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
3380         that contains form data fails (asserts in Debug build)
3381
3382         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
3383         now, even though we don't have an automated test for it yet. Writing a test is covered by
3384         <http://webkit.org/b/53616>.
3385
3386         Reviewed by Darin Adler.
3387
3388         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
3389         FormData objects.
3390
3391         * platform/network/FormData.cpp:
3392         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
3393         default-constructed FormDataElement. Failing to do this meant that all future uses of the
3394         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
3395         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
3396         to correctly set the FormDataElement's type based on this decoded type later in the
3397         function.
3398         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
3399         matches its type and how we decode it.
3400
3401 2011-02-02  Dan Winship  <danw@gnome.org>
3402
3403         Reviewed by Martin Robinson.
3404
3405         [GTK] drop soup cache stuff, which has been moved to libsoup
3406         https://bugs.webkit.org/show_bug.cgi?id=50747
3407
3408         Use libsoup-based cache/requester API and remove the WebCore version
3409         of this functionality. This has been pushed upstream fully.
3410
3411         No new tests because this should not change functionality.
3412
3413         * GNUmakefile.am: Update for removed files.
3414         * platform/network/ResourceHandleInternal.h:
3415         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
3416         type names, drop m_requester.
3417         * platform/network/soup/ResourceHandleSoup.cpp:
3418         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
3419         session.
3420         (WebCore::parseDataUrl):
3421         (WebCore::startHttp): Get the requester from the session rather
3422         than using m_requester.
3423         (WebCore::sendRequestCallback):
3424         (WebCore::ResourceHandle::platformSetDefersLoading):
3425         (WebCore::readCallback):
3426         (WebCore::startGio): Update type names.
3427         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
3428         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
3429         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
3430         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
3431         * platform/network/soup/cache/soup-request-data.c: Removed.
3432         * platform/network/soup/cache/soup-request-data.h: Removed.
3433         * platform/network/soup/cache/soup-request-file.c: Removed.
3434         * platform/network/soup/cache/soup-request-file.h: Removed.
3435         * platform/network/soup/cache/soup-request-http.c: Removed.
3436         * platform/network/soup/cache/soup-request-http.h: Removed.
3437         * platform/network/soup/cache/soup-request.c: Removed.
3438         * platform/network/soup/cache/soup-request.h: Removed.
3439         * platform/network/soup/cache/soup-requester.c: Removed.
3440         * platform/network/soup/cache/soup-requester.h: Removed.
3441         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
3442         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
3443         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
3444
3445 2011-02-02  David Hyatt  <hyatt@apple.com>
3446
3447         Reviewed by Darin Adler.
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=53520
3450
3451         Remove physical accessors from IntRect and FloatRect.
3452
3453         * page/FrameView.cpp:
3454         (WebCore::FrameView::adjustPageHeightDeprecated):
3455         * platform/graphics/FloatRect.h:
3456         * platform/graphics/IntRect.h:
3457
3458 2011-02-02  David Hyatt  <hyatt@apple.com>
3459
3460         Reviewed by Dan Bernstein.
3461
3462         https://bugs.webkit.org/show_bug.cgi?id=53614
3463
3464         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
3465
3466         * rendering/InlineFlowBox.cpp:
3467         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3468         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3469         * rendering/InlineFlowBox.h:
3470         (WebCore::InlineFlowBox::minYLayoutOverflow):
3471         (WebCore::InlineFlowBox::maxYLayoutOverflow):
3472         (WebCore::InlineFlowBox::minXLayoutOverflow):
3473         (WebCore::InlineFlowBox::maxXLayoutOverflow):
3474         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
3475         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
3476         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
3477         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
3478         (WebCore::InlineFlowBox::minYVisualOverflow):
3479         (WebCore::InlineFlowBox::maxYVisualOverflow):
3480         (WebCore::InlineFlowBox::minXVisualOverflow):
3481         (WebCore::InlineFlowBox::maxXVisualOverflow):
3482         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
3483         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
3484         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
3485         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
3486         * rendering/RenderBlock.cpp:
3487         (WebCore::RenderBlock::adjustLinePositionForPagination):
3488         * rendering/RenderBlockLineLayout.cpp:
3489         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
3490         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
3491         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
3492         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
3493         * rendering/RenderBox.cpp:
3494         (WebCore::RenderBox::scrollWidth):
3495         (WebCore::RenderBox::scrollHeight):
3496         * rendering/RenderBox.h:
3497         (WebCore::RenderBox::minYLayoutOverflow):
3498         (WebCore::RenderBox::maxYLayoutOverflow):
3499         (WebCore::RenderBox::minXLayoutOverflow):
3500         (WebCore::RenderBox::maxXLayoutOverflow):
3501         (WebCore::RenderBox::logicalLeftLayoutOverflow):
3502         (WebCore::RenderBox::logicalRightLayoutOverflow):
3503         (WebCore::RenderBox::minYVisualOverflow):
3504         (WebCore::RenderBox::maxYVisualOverf