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