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