Encode/decode FormData and FormDataElement objects consistently
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-02  Adam Roben  <aroben@apple.com>
2
3         Encode/decode FormData and FormDataElement objects consistently
4
5         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
6         that contains form data fails (asserts in Debug build)
7
8         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
9         now, even though we don't have an automated test for it yet. Writing a test is covered by
10         <http://webkit.org/b/53616>.
11
12         Reviewed by Darin Adler.
13
14         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
15         FormData objects.
16
17         * platform/network/FormData.cpp:
18         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
19         default-constructed FormDataElement. Failing to do this meant that all future uses of the
20         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
21         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
22         to correctly set the FormDataElement's type based on this decoded type later in the
23         function.
24         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
25         matches its type and how we decode it.
26
27 2011-02-02  Dan Winship  <danw@gnome.org>
28
29         Reviewed by Martin Robinson.
30
31         [GTK] drop soup cache stuff, which has been moved to libsoup
32         https://bugs.webkit.org/show_bug.cgi?id=50747
33
34         Use libsoup-based cache/requester API and remove the WebCore version
35         of this functionality. This has been pushed upstream fully.
36
37         No new tests because this should not change functionality.
38
39         * GNUmakefile.am: Update for removed files.
40         * platform/network/ResourceHandleInternal.h:
41         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
42         type names, drop m_requester.
43         * platform/network/soup/ResourceHandleSoup.cpp:
44         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
45         session.
46         (WebCore::parseDataUrl):
47         (WebCore::startHttp): Get the requester from the session rather
48         than using m_requester.
49         (WebCore::sendRequestCallback):
50         (WebCore::ResourceHandle::platformSetDefersLoading):
51         (WebCore::readCallback):
52         (WebCore::startGio): Update type names.
53         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
54         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
55         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
56         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
57         * platform/network/soup/cache/soup-request-data.c: Removed.
58         * platform/network/soup/cache/soup-request-data.h: Removed.
59         * platform/network/soup/cache/soup-request-file.c: Removed.
60         * platform/network/soup/cache/soup-request-file.h: Removed.
61         * platform/network/soup/cache/soup-request-http.c: Removed.
62         * platform/network/soup/cache/soup-request-http.h: Removed.
63         * platform/network/soup/cache/soup-request.c: Removed.
64         * platform/network/soup/cache/soup-request.h: Removed.
65         * platform/network/soup/cache/soup-requester.c: Removed.
66         * platform/network/soup/cache/soup-requester.h: Removed.
67         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
68         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
69         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
70
71 2011-02-02  David Hyatt  <hyatt@apple.com>
72
73         Reviewed by Darin Adler.
74
75         https://bugs.webkit.org/show_bug.cgi?id=53520
76
77         Remove physical accessors from IntRect and FloatRect.
78
79         * page/FrameView.cpp:
80         (WebCore::FrameView::adjustPageHeightDeprecated):
81         * platform/graphics/FloatRect.h:
82         * platform/graphics/IntRect.h:
83
84 2011-02-02  David Hyatt  <hyatt@apple.com>
85
86         Reviewed by Dan Bernstein.
87
88         https://bugs.webkit.org/show_bug.cgi?id=53614
89
90         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
91
92         * rendering/InlineFlowBox.cpp:
93         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
94         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
95         * rendering/InlineFlowBox.h:
96         (WebCore::InlineFlowBox::minYLayoutOverflow):
97         (WebCore::InlineFlowBox::maxYLayoutOverflow):
98         (WebCore::InlineFlowBox::minXLayoutOverflow):
99         (WebCore::InlineFlowBox::maxXLayoutOverflow):
100         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
101         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
102         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
103         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
104         (WebCore::InlineFlowBox::minYVisualOverflow):
105         (WebCore::InlineFlowBox::maxYVisualOverflow):
106         (WebCore::InlineFlowBox::minXVisualOverflow):
107         (WebCore::InlineFlowBox::maxXVisualOverflow):
108         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
109         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
110         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
111         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
112         * rendering/RenderBlock.cpp:
113         (WebCore::RenderBlock::adjustLinePositionForPagination):
114         * rendering/RenderBlockLineLayout.cpp:
115         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
116         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
117         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
118         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
119         * rendering/RenderBox.cpp:
120         (WebCore::RenderBox::scrollWidth):
121         (WebCore::RenderBox::scrollHeight):
122         * rendering/RenderBox.h:
123         (WebCore::RenderBox::minYLayoutOverflow):
124         (WebCore::RenderBox::maxYLayoutOverflow):
125         (WebCore::RenderBox::minXLayoutOverflow):
126         (WebCore::RenderBox::maxXLayoutOverflow):
127         (WebCore::RenderBox::logicalLeftLayoutOverflow):
128         (WebCore::RenderBox::logicalRightLayoutOverflow):
129         (WebCore::RenderBox::minYVisualOverflow):
130         (WebCore::RenderBox::maxYVisualOverflow):
131         (WebCore::RenderBox::minXVisualOverflow):
132         (WebCore::RenderBox::maxXVisualOverflow):
133         (WebCore::RenderBox::logicalLeftVisualOverflow):
134         (WebCore::RenderBox::logicalRightVisualOverflow):
135         * rendering/RenderInline.cpp:
136         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
137         * rendering/RenderLayerCompositor.cpp:
138         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
139         * rendering/RenderLineBoxList.cpp:
140         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
141         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
142         (WebCore::RenderLineBoxList::paint):
143         (WebCore::RenderLineBoxList::hitTest):
144         * rendering/RenderMarquee.cpp:
145         (WebCore::RenderMarquee::computePosition):
146         * rendering/RenderOverflow.h:
147         (WebCore::RenderOverflow::RenderOverflow):
148         (WebCore::RenderOverflow::minYLayoutOverflow):
149         (WebCore::RenderOverflow::maxYLayoutOverflow):
150         (WebCore::RenderOverflow::minXLayoutOverflow):
151         (WebCore::RenderOverflow::maxXLayoutOverflow):
152         (WebCore::RenderOverflow::minYVisualOverflow):
153         (WebCore::RenderOverflow::maxYVisualOverflow):
154         (WebCore::RenderOverflow::minXVisualOverflow):
155         (WebCore::RenderOverflow::maxXVisualOverflow):
156         (WebCore::RenderOverflow::setminYVisualOverflow):
157         (WebCore::RenderOverflow::visualOverflowRect):
158         (WebCore::RenderOverflow::move):
159         (WebCore::RenderOverflow::addVisualOverflow):
160         (WebCore::RenderOverflow::setVisualOverflow):
161         * rendering/RenderReplaced.cpp:
162         (WebCore::RenderReplaced::shouldPaint):
163         * rendering/RenderTable.cpp:
164         (WebCore::RenderTable::layout):
165         (WebCore::RenderTable::paint):
166         * rendering/RenderTableCell.cpp:
167         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
168         * rendering/RenderTreeAsText.cpp:
169         (WebCore::writeLayers):
170         * rendering/RenderView.cpp:
171         (WebCore::RenderView::docTop):
172
173 2011-02-02  Steve Lacey  <sjl@chromium.org>
174
175         Reviewed by Eric Carlson.
176
177         Implement basic media statistics on media elements.
178         https://bugs.webkit.org/show_bug.cgi?id=53322
179
180         * Configurations/FeatureDefines.xcconfig:
181         * GNUmakefile.am:
182         * features.pri:
183         * html/HTMLMediaElement.cpp:
184         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
185         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
186         * html/HTMLMediaElement.h:
187         * html/HTMLMediaElement.idl:
188         * html/HTMLVideoElement.cpp:
189         (WebCore::HTMLVideoElement::webkitDecodedFrames):
190         (WebCore::HTMLVideoElement::webkitDroppedFrames):
191         * html/HTMLVideoElement.h:
192         * html/HTMLVideoElement.idl:
193         * platform/graphics/MediaPlayer.cpp:
194         (WebCore::MediaPlayer::decodedFrames):
195         (WebCore::MediaPlayer::droppedFrames):
196         (WebCore::MediaPlayer::audioBytesDecoded):
197         (WebCore::MediaPlayer::videoBytesDecoded):
198         * platform/graphics/MediaPlayer.h:
199         * platform/graphics/MediaPlayerPrivate.h:
200         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
201         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
202         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
203         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
204
205 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
206
207         Reviewed by David Hyatt.
208
209         More conversion from right()/bottom() to maxX()/maxY().
210
211         * page/qt/FrameQt.cpp:
212         (WebCore::Frame::dragImageForSelection):
213         * platform/graphics/qt/GraphicsContextQt.cpp:
214         (WebCore::GraphicsContext::roundToDevicePixels):
215
216 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
217
218         [wx] Build fixes for wxWebKit.
219
220         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
221         (documentWrite):
222         * bindings/scripts/CodeGeneratorCPP.pm:
223         * page/wx/DragControllerWx.cpp:
224         (WebCore::DragController::dragOperation):
225         * platform/graphics/wx/FontCustomPlatformData.h:
226         * platform/graphics/wx/FontPlatformData.h:
227         (WebCore::FontPlatformData::widthVariant):
228         * platform/graphics/wx/FontPlatformDataWx.cpp:
229         (WebCore::FontPlatformData::computeHash):
230         * platform/graphics/wx/FontWx.cpp:
231         * platform/graphics/wx/GraphicsContextWx.cpp:
232         (WebCore::GraphicsContext::fillPath):
233         (WebCore::GraphicsContext::strokePath):
234         * platform/wx/RenderThemeWx.cpp:
235
236 2011-02-02  David Hyatt  <hyatt@apple.com>
237
238         Reviewed by Darin Adler.
239
240         More right()/bottom() to maxX()/maxY() conversion.
241
242         * page/chromium/FrameChromium.cpp:
243         (WebCore::Frame::nodeImage):
244         (WebCore::Frame::dragImageForSelection):
245
246 2011-02-02  Sam Weinig  <sam@webkit.org>
247
248         Fix windows clean build.
249
250         * DerivedSources.make:
251
252 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
253
254         Reviewed by Pavel Feldman.
255
256         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
257
258         https://bugs.webkit.org/show_bug.cgi?id=53606
259
260         Display progress while taking a snapshot, and hints while loading
261         and parsing. This is needed because taking detailed heap snapshots
262         takes time.
263
264         * English.lproj/localizedStrings.js:
265         * inspector/front-end/DetailedHeapshotView.js:
266         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
267         * inspector/front-end/ProfilesPanel.js:
268         (WebInspector.ProfilesPanel.prototype._reset):
269         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
270         (WebInspector.ProfilesPanel.prototype.getProfiles):
271         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
272         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
273         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
274         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
275         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
276         * inspector/front-end/SidebarTreeElement.js:
277         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
278
279 2011-02-02  David Hyatt  <hyatt@apple.com>
280
281         Reviewed by Darin Adler.
282
283         More conversion from right()/bottom() to maxX()/maxY().
284
285         * platform/win/PopupMenuWin.cpp:
286         (WebCore::PopupMenuWin::calculatePositionAndSize):
287         (WebCore::PopupMenuWin::paint):
288
289 2011-02-02  David Hyatt  <hyatt@apple.com>
290
291         Reviewed by Darin Adler.
292
293         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
294
295         * platform/chromium/PopupMenuChromium.cpp:
296         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
297         (WebCore::PopupListBox::scrollToRevealRow):
298         (WebCore::PopupListBox::layout):
299         * platform/graphics/FloatRect.h:
300         * platform/graphics/IntRect.h:
301         * platform/graphics/cairo/ImageBufferCairo.cpp:
302         (WebCore::getImageData):
303         (WebCore::putImageData):
304         * platform/graphics/chromium/GLES2Canvas.cpp:
305         (WebCore::GLES2Canvas::drawTexturedRect):
306         * platform/graphics/chromium/LayerRendererChromium.cpp:
307         (WebCore::LayerRendererChromium::verticalScrollbarRect):
308         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
309         (WebCore::LayerRendererChromium::setScissorToRect):
310         (WebCore::LayerRendererChromium::setDrawViewportRect):
311         * platform/graphics/chromium/LayerTilerChromium.cpp:
312         (WebCore::LayerTilerChromium::contentRectToTileIndices):
313         (WebCore::LayerTilerChromium::growLayerToContain):
314         * platform/graphics/gpu/TilingData.cpp:
315         (WebCore::TilingData::tileBoundsWithBorder):
316         (WebCore::TilingData::overlappedTileIndices):
317         * platform/graphics/qt/ImageBufferQt.cpp:
318         (WebCore::getImageData):
319         (WebCore::putImageData):
320         * platform/graphics/skia/FloatRectSkia.cpp:
321         (WebCore::FloatRect::operator SkRect):
322         * platform/graphics/skia/ImageBufferSkia.cpp:
323         (WebCore::getImageData):
324         (WebCore::putImageData):
325         * platform/graphics/skia/IntRectSkia.cpp:
326         (WebCore::IntRect::operator SkIRect):
327         (WebCore::IntRect::operator SkRect):
328         * platform/graphics/skia/PlatformContextSkia.cpp:
329         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
330         * platform/graphics/win/GraphicsContextWin.cpp:
331         (WebCore::GraphicsContextPlatformPrivate::clip):
332         * platform/graphics/win/IntRectWin.cpp:
333         (WebCore::IntRect::operator RECT):
334         * platform/graphics/win/UniscribeController.cpp:
335         (WebCore::UniscribeController::shapeAndPlaceItem):
336         * platform/graphics/wince/GraphicsContextWinCE.cpp:
337         (WebCore::roundRect):
338         (WebCore::mapRect):
339         (WebCore::TransparentLayerDC::TransparentLayerDC):
340         (WebCore::GraphicsContext::drawRect):
341         (WebCore::GraphicsContext::drawEllipse):
342         (WebCore::GraphicsContext::strokeArc):
343         (WebCore::GraphicsContext::clip):
344         (WebCore::GraphicsContext::clipOut):
345         (WebCore::GraphicsContext::strokeRect):
346         * platform/image-decoders/gif/GIFImageDecoder.cpp:
347         (WebCore::GIFImageDecoder::initFrameBuffer):
348         * platform/win/PopupMenuWin.cpp:
349         (WebCore::PopupMenuWin::calculatePositionAndSize):
350         (WebCore::PopupMenuWin::paint):
351         * plugins/win/PluginViewWin.cpp:
352         (WebCore::PluginView::updatePluginWidget):
353         (WebCore::PluginView::invalidateRect):
354         * rendering/RenderThemeSafari.cpp:
355         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
356         (WebCore::RenderThemeSafari::paintMenuListButton):
357         (WebCore::RenderThemeSafari::paintSliderTrack):
358         * rendering/RenderThemeWin.cpp:
359         (WebCore::RenderThemeWin::paintInnerSpinButton):
360         (WebCore::RenderThemeWin::paintMenuListButton):
361
362 2011-02-02  Antti Koivisto  <antti@apple.com>
363
364         Reviewed by Maciej Stachowiak.
365
366         Use Vector instead of a linked list for rules in CSSStyleSelector
367         https://bugs.webkit.org/show_bug.cgi?id=53581
368         
369         - eliminate CSSRuleDataList, replace with Vector<RuleData>
370         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
371           (these are selector internal classes, CSS prefix is better reserved for public ones).
372         - constify a bit
373         - shrink the vectors to fit after collecting the rules
374
375         * css/CSSStyleSelector.cpp:
376         (WebCore::RuleData::RuleData):
377         (WebCore::RuleData::position):
378         (WebCore::RuleData::rule):
379         (WebCore::RuleData::selector):
380         (WebCore::RuleSet::disableAutoShrinkToFit):
381         (WebCore::RuleSet::getIDRules):
382         (WebCore::RuleSet::getClassRules):
383         (WebCore::RuleSet::getTagRules):
384         (WebCore::RuleSet::getPseudoRules):
385         (WebCore::RuleSet::getUniversalRules):
386         (WebCore::RuleSet::getPageRules):
387         (WebCore::collectSiblingRulesInDefaultStyle):
388         (WebCore::CSSStyleSelector::CSSStyleSelector):
389         (WebCore::loadFullDefaultStyle):
390         (WebCore::loadSimpleDefaultStyle):
391         (WebCore::loadViewSourceStyle):
392         (WebCore::CSSStyleSelector::matchRules):
393         (WebCore::CSSStyleSelector::matchRulesForList):
394         (WebCore::operator >):
395         (WebCore::operator <=):
396         (WebCore::CSSStyleSelector::sortMatchedRules):
397         (WebCore::CSSStyleSelector::matchUARules):
398         (WebCore::RuleSet::RuleSet):
399         (WebCore::RuleSet::~RuleSet):
400         (WebCore::RuleSet::addToRuleSet):
401         (WebCore::RuleSet::addRule):
402         (WebCore::RuleSet::addPageRule):
403         (WebCore::RuleSet::addRulesFromSheet):
404         (WebCore::RuleSet::addStyleRule):
405         (WebCore::collectIdsAndSiblingRulesFromList):
406         (WebCore::RuleSet::collectIdsAndSiblingRules):
407         (WebCore::shrinkMapVectorsToFit):
408         (WebCore::RuleSet::shrinkToFit):
409         (WebCore::CSSStyleSelector::matchPageRules):
410         (WebCore::CSSStyleSelector::matchPageRulesForList):
411         * css/CSSStyleSelector.h:
412         (WebCore::CSSStyleSelector::addMatchedRule):
413
414 2011-02-02  Andrey Adaikin  <aandrey@google.com>
415
416         Reviewed by Pavel Feldman.
417
418         Web Inspector: Use DIVs instead of TABLE in TextViewer
419         https://bugs.webkit.org/show_bug.cgi?id=53299
420
421         * inspector/front-end/SourceFrame.js:
422         (WebInspector.SourceFrame.prototype._createTextViewer):
423         (WebInspector.SourceFrame.prototype._mouseDown):
424         * inspector/front-end/TextViewer.js:
425         (WebInspector.TextViewer):
426         (WebInspector.TextViewer.prototype.set mimeType):
427         (WebInspector.TextViewer.prototype.revealLine):
428         (WebInspector.TextViewer.prototype.addDecoration):
429         (WebInspector.TextViewer.prototype.removeDecoration):
430         (WebInspector.TextViewer.prototype.markAndRevealRange):
431         (WebInspector.TextViewer.prototype.highlightLine):
432         (WebInspector.TextViewer.prototype.clearLineHighlight):
433         (WebInspector.TextViewer.prototype.freeCachedElements):
434         (WebInspector.TextViewer.prototype._handleKeyDown):
435         (WebInspector.TextViewer.prototype.editLine.finishEditing):
436         (WebInspector.TextViewer.prototype.editLine):
437         (WebInspector.TextViewer.prototype.beginUpdates):
438         (WebInspector.TextViewer.prototype.endUpdates):
439         (WebInspector.TextViewer.prototype.resize):
440         (WebInspector.TextViewer.prototype._textChanged):
441         (WebInspector.TextViewer.prototype._updatePanelOffsets):
442         (WebInspector.TextViewer.prototype._syncScroll):
443         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
444         (WebInspector.TextEditorChunkedPanel):
445         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
446         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
447         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
448         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
449         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
450         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
451         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
452         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
453         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
454         (WebInspector.TextEditorChunkedPanel.prototype.resize):
455         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
456         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
457         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
458         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
459         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
460         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
461         (WebInspector.TextEditorGutterPanel):
462         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
463         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
464         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
465         (WebInspector.TextEditorGutterChunk):
466         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
467         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
468         (WebInspector.TextEditorGutterChunk.prototype.get height):
469         (WebInspector.TextEditorGutterChunk.prototype._createRow):
470         (WebInspector.TextEditorMainPanel):
471         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
472         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
473         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
474         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
475         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
476         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
477         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
478         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
479         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
480         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
481         (WebInspector.TextEditorMainPanel.prototype._paintLines):
482         (WebInspector.TextEditorMainPanel.prototype._paintLine):
483         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
484         (WebInspector.TextEditorMainPanel.prototype._getSelection):
485         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
486         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
487         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
488         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
489         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
490         (WebInspector.TextEditorMainChunk):
491         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
492         (WebInspector.TextEditorMainChunk.prototype.set expanded):
493         (WebInspector.TextEditorMainChunk.prototype.get height):
494         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
495         (WebInspector.TextEditorMainChunk.prototype._createRow):
496         (WebInspector):
497         * inspector/front-end/textViewer.css:
498         (.text-editor-lines):
499         (.text-editor-contents):
500         (.text-editor-editable):
501         (.webkit-line-decorations):
502         (.webkit-line-number):
503         (.webkit-execution-line.webkit-line-content):
504         (.diff-container .webkit-added-line.webkit-line-content):
505         (.diff-container .webkit-removed-line.webkit-line-content):
506         (.diff-container .webkit-changed-line.webkit-line-content):
507         (.webkit-highlighted-line.webkit-line-content):
508
509 2011-02-02  Hans Wennborg  <hans@chromium.org>
510
511         Reviewed by Jeremy Orlow.
512
513         IndexedDB: Implement support for cursor updates
514         https://bugs.webkit.org/show_bug.cgi?id=53421
515
516         Implement support for cursor updates using the same pattern as cursor
517         deletes: forward the calls to the IDBObjectStoreBackend::put().
518         The put() function's signature needs to be changed to allow for a
519         "cursor update mode". This makes the signature more clear anyway,
520         since it replaces the boolean parameter.
521
522         Test: storage/indexeddb/cursor-update.html
523
524         * storage/IDBCursor.idl:
525         * storage/IDBCursorBackendImpl.cpp:
526         (WebCore::IDBCursorBackendImpl::key):
527         (WebCore::IDBCursorBackendImpl::update):
528         * storage/IDBCursorBackendImpl.h:
529         * storage/IDBObjectStore.cpp:
530         (WebCore::IDBObjectStore::add):
531         (WebCore::IDBObjectStore::put):
532         * storage/IDBObjectStoreBackendImpl.cpp:
533         (WebCore::IDBObjectStoreBackendImpl::put):
534         (WebCore::IDBObjectStoreBackendImpl::putInternal):
535         * storage/IDBObjectStoreBackendImpl.h:
536         * storage/IDBObjectStoreBackendInterface.h:
537
538 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
539
540         Reviewed by Kent Tamura.
541
542         Fix popup menu RTL bug introduced by Changeset 75982.
543         https://bugs.webkit.org/show_bug.cgi?id=53567
544
545         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
546
547         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
548
549         * platform/chromium/PopupMenuChromium.cpp:
550         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
551         (WebCore::PopupContainer::showPopup): Change the passing parameter.
552         (WebCore::PopupContainer::refresh): Change the passing parameter.
553         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
554
555 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
556
557         Reviewed by Martin Robinson.
558
559         [GTK] Fix dist compilation
560         https://bugs.webkit.org/show_bug.cgi?id=53579
561
562         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
563         added in r77153.
564
565 2011-02-02  Dai Mikurube  <dmikurube@google.com>
566
567         Reviewed by David Levin.
568
569         Make mime type lookup in File::create(path) thread-safe
570         https://bugs.webkit.org/show_bug.cgi?id=47700
571
572         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
573         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
574         both FILE_SYSTEM and WORKERS are enabled.
575
576         No tests for this patch. This patch itself doesn't change the behaviors.
577         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
578         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
579         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
580         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
581
582         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
583         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
584         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
585         * platform/android/TemporaryLinkStubs.cpp:
586         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
587         * platform/brew/MIMETypeRegistryBrew.cpp:
588         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
589         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
590         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
591         * platform/efl/MIMETypeRegistryEfl.cpp:
592         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
593         * platform/gtk/MIMETypeRegistryGtk.cpp:
594         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
595         * platform/haiku/MIMETypeRegistryHaiku.cpp:
596         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
597         * platform/mac/MIMETypeRegistryMac.mm:
598         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
599         * platform/qt/MIMETypeRegistryQt.cpp:
600         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
601         * platform/win/MIMETypeRegistryWin.cpp:
602         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
603         * platform/wince/MIMETypeRegistryWinCE.cpp:
604         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
605         * platform/wx/MimeTypeRegistryWx.cpp:
606         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
607
608 2011-02-01  Adam Barth  <abarth@webkit.org>
609
610         Reviewed by Alexey Proskuryakov.
611
612         Improve readability of updateWidget by converting bool parameter to an enum
613         https://bugs.webkit.org/show_bug.cgi?id=53576
614
615         As requested on webkit-dev.
616
617         * html/HTMLEmbedElement.cpp:
618         (WebCore::HTMLEmbedElement::updateWidget):
619         * html/HTMLEmbedElement.h:
620         * html/HTMLMediaElement.cpp:
621         (WebCore::HTMLMediaElement::updateWidget):
622         * html/HTMLMediaElement.h:
623         * html/HTMLObjectElement.cpp:
624         (WebCore::HTMLObjectElement::updateWidget):
625         * html/HTMLObjectElement.h:
626         * html/HTMLPlugInImageElement.cpp:
627         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
628         * html/HTMLPlugInImageElement.h:
629         * page/FrameView.cpp:
630         (WebCore::FrameView::updateWidget):
631
632 2011-02-01  James Robinson  <jamesr@chromium.org>
633
634         Reviewed by Adam Barth.
635
636         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
637         https://bugs.webkit.org/show_bug.cgi?id=53566
638
639         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
640         Other than being large enough for this one test case, this limit is arbitrary.
641
642         * bindings/v8/V8Proxy.h:
643
644 2011-02-01  Adam Barth  <abarth@webkit.org>
645
646         Reviewed by Andreas Kling.
647
648         Remove useless comment
649         https://bugs.webkit.org/show_bug.cgi?id=53549
650
651         The reason for this parameter is captured in
652         plugins/netscape-plugin-setwindow-size.html, which is a better place to
653         capture it than in this comment (which otherwise just re-iterates the
654         name of the parameter).
655
656         * html/HTMLPlugInImageElement.cpp:
657         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
658
659 2011-02-01  James Simonsen  <simonjam@chromium.org>
660
661         Reviewed by Tony Gentilcore.
662
663         [WebTiming] Remove asserts that verify timestamp order
664         https://bugs.webkit.org/show_bug.cgi?id=53548
665
666         Covered by existing tests.
667
668         * loader/FrameLoader.cpp:
669         (WebCore::FrameLoader::stopLoading): Remove assert.
670         * page/DOMWindow.cpp:
671         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
672
673 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
674
675         Add the 'default_targets' enclosure to the flags.
676
677         * WebCore.gyp/WebCore.gyp: Did it.
678
679 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
680
681         Reviewed by James Robinson.
682
683         Async event handlers should not fire within a modal dialog
684         https://bugs.webkit.org/show_bug.cgi?id=53202
685
686         Asychronous events that use EventQueue would currently fire while a
687         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
688         SuspendableTimer (which automatically gets suspended while dialogs are
689         up and in other cases where JS execution is not allowed).
690         
691         Test: fast/events/scroll-event-during-modal-dialog.html
692
693         * dom/Document.cpp:
694         (WebCore::Document::Document):
695         * dom/EventQueue.cpp:
696         (WebCore::EventQueueTimer::EventQueueTimer):
697         (WebCore::EventQueueTimer::fired):
698         (WebCore::EventQueue::EventQueue):
699         (WebCore::EventQueue::enqueueEvent):
700         (WebCore::EventQueue::pendingEventTimerFired):
701         * dom/EventQueue.h:
702         (WebCore::EventQueue::create):
703         * page/SuspendableTimer.cpp:
704         (WebCore::SuspendableTimer::SuspendableTimer):
705         (WebCore::SuspendableTimer::suspend):
706         (WebCore::SuspendableTimer::resume):
707         * page/SuspendableTimer.h:
708
709 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
710
711         Reviewed by Andreas Kling.
712
713         Change wrong PLATFORM(WIN) to USE(WININET)
714         https://bugs.webkit.org/show_bug.cgi?id=53547
715
716         * platform/network/ResourceHandle.h:
717
718 2011-02-01  Beth Dakin  <bdakin@apple.com>
719
720         32-bit build fix.
721
722         * platform/mac/ScrollAnimatorMac.mm:
723         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
724
725 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
726
727         Reviewed by Gustavo Noronha Silva.
728
729         [GTK] Two tests crash after r76555
730         https://bugs.webkit.org/show_bug.cgi?id=53057
731
732         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
733         This ensures that ::start() is not called when there is a scheduled failure and also
734         reduces code duplication.
735
736         * platform/network/soup/ResourceHandleSoup.cpp:
737         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
738
739 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
740
741         Reviewed by Eric Seidel.
742
743         [GTK] GObject DOM bindings do no support the CallWith attribute
744         https://bugs.webkit.org/show_bug.cgi?id=53331
745
746         Disable building GObject DOM bindings for IndexedDB because we do not support
747         the CallWith attribute at this time.
748
749         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
750
751 2011-02-01  Darin Adler  <darin@apple.com>
752
753         Reviewed by Brady Eidson.
754
755         Fix a couple loose ends from the back/forward tree encode/decode work
756         https://bugs.webkit.org/show_bug.cgi?id=53537
757
758         * history/HistoryItem.cpp:
759         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
760         original URL string; no need to encode it twice.
761         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
762         * history/HistoryItem.h: Removed declaration for function that is no
763         longer defined nor used.
764
765 2011-02-01  Tony Chang  <tony@chromium.org>
766
767         Reviewed by Kent Tamura.
768
769         [chromium] disable arm uninitialized variable warnings
770         https://bugs.webkit.org/show_bug.cgi?id=53553
771
772         We just got another error:
773         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
774         'colorTransparent.unstatic.4879' may be used uninitialized in this
775         function
776
777         * WebCore.gyp/WebCore.gyp:
778
779 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
780
781         Reviewed by Adam Barth.
782
783         Self-replicating code makes Safari hang and eventually crash
784         https://bugs.webkit.org/show_bug.cgi?id=15123
785
786        
787         Here we are replicating the Firefox safeguard against
788         recursive document.write( ) 's.
789
790         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
791         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
792             a) imposes a recursion limit of 20 on document.write( ) and
793             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
794         To see why this is necessary, consider the script : 
795
796         <script>
797            var t = document.body.innerHTML;
798            document.write(t);
799         </script> 
800
801         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
802         we just return one level after the recursion limit is reached, we still allow millions of copies to 
803         duplicate (and execute).   
804
805         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
806         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
807
808         Test: fast/dom/Document/document-write-recursion.html        
809         Test: fast/dom/Document/document-close-iframe-load.html
810         Test: fast/dom/Document/document-close-nested-iframe-load.html
811
812
813         * dom/Document.cpp:
814         (WebCore::Document::Document):
815         (WebCore::Document::write):
816         * dom/Document.h:
817
818 2011-02-01  Johnny Ding  <jnd@chromium.org>
819
820         Reviewed by Darin Adler.
821
822         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
823         https://bugs.webkit.org/show_bug.cgi?id=53424
824
825         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
826
827         * html/HTMLAnchorElement.cpp:
828         (WebCore::handleLinkClick):
829
830 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
831
832         Unreviewed Qt buildfix after r77286.
833
834         https://bugs.webkit.org/show_bug.cgi?id=53520 
835         Remove the physical terminology from IntRect and FloatRect.
836
837         * platform/graphics/TiledBackingStore.cpp:
838         (WebCore::TiledBackingStore::createTiles):
839
840 2011-02-01  Sam Weinig  <sam@webkit.org>
841
842         Fix Mac production builds.
843
844         * DerivedSources.make:
845         * WebCore.xcodeproj/project.pbxproj:
846         * platform/mac/ScrollAnimatorMac.h:
847         * platform/mac/ScrollbarThemeMac.h:
848
849 2011-02-01  Darin Adler  <darin@apple.com>
850
851         Reviewed by Chris Fleizach.
852
853         REGRESSION: Removing focus from area element causes unwanted scrolling
854         https://bugs.webkit.org/show_bug.cgi?id=50169
855
856         Test: fast/images/imagemap-scroll.html
857
858         * html/HTMLAreaElement.cpp:
859         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
860         RenderImage::areaElementFocusChanged function.
861         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
862         here that calls setNeedsLayout on the image's renderer. This was an
863         attempt to cause repaint of the renderer, but this function does not
864         need to do that. Also changed this to use the imageElement function
865         to avoid repeating code.
866
867         * html/HTMLAreaElement.h: Updated for above changes.
868
869         * rendering/RenderImage.cpp:
870         (WebCore::RenderImage::paint): Updated for name change.
871         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
872         paintFocusRing, because it only paints area focus rings, and should
873         not be confused with paintFocusRing functions in other classes. Also
874         removed the unused style argument. Removed the code that used an
875         HTMLCollection to see if the focused area element is for this image
876         and instead just call imageElement on the area element.
877         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
878
879         * rendering/RenderImage.h: Added a public areaElementFocusChanged
880         function for HTMLAreaElement to call. Made the paintFocusRing function
881         private, renamed it to paintAreaElementFocusRing, and removed its
882         unused style argument.
883
884 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
885
886         Unreviewed WinCE build fix for r77286.
887
888         * platform/graphics/wince/GraphicsContextWinCE.cpp:
889         (WebCore::TransparentLayerDC::TransparentLayerDC):
890
891 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
892
893         Reviewed by Darin Adler.
894
895         AX: AXPosition of AXScrollArea is wrong
896         https://bugs.webkit.org/show_bug.cgi?id=53511
897
898         AccessibilityScrollView needed to return a valid documentFrameView() object.
899         At the same time, the code from document() should be consolidated in 
900         AccessibilityObject, so all objects can use it.
901
902         Test: platform/mac/accessibility/webkit-scrollarea-position.html
903
904         * accessibility/AccessibilityObject.cpp:
905         (WebCore::AccessibilityObject::document):
906         * accessibility/AccessibilityObject.h:
907         * accessibility/AccessibilityScrollView.cpp:
908         (WebCore::AccessibilityScrollView::accessibilityHitTest):
909         (WebCore::AccessibilityScrollView::documentFrameView):
910         * accessibility/AccessibilityScrollView.h:
911
912 2011-02-01  Zhenyao Mo  <zmo@google.com>
913
914         Reviewed by Kenneth Russell.
915
916         getUniform should support SAMPLER_2D or SAMPLER_CUBE
917         https://bugs.webkit.org/show_bug.cgi?id=52190
918
919         * html/canvas/WebGLRenderingContext.cpp:
920         (WebCore::WebGLRenderingContext::getUniform):
921
922 2011-02-01  Zhenyao Mo  <zmo@google.com>
923
924         Reviewed by Darin Adler.
925
926         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
927         https://bugs.webkit.org/show_bug.cgi?id=53531
928
929         With this fix, running WebGL conformance tests should no longer crash randomly.
930
931         * platform/graphics/cg/GraphicsContext3DCG.cpp:
932         (WebCore::GraphicsContext3D::getImageData):
933
934 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
935
936         One more Chromium build fix after r77286.
937
938         * platform/chromium/ScrollbarThemeChromiumMac.mm:
939         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
940
941 2011-02-01  Sam Weinig  <sam@webkit.org>
942
943         Fix the build for Beth.
944
945         * platform/mac/ScrollAnimatorMac.mm:
946         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
947
948 2011-02-01  Sam Weinig  <sam@webkit.org>
949
950         Reviewed by Beth Dakin.
951
952         Part 2 for <rdar://problem/8492788>
953         Adopt WKScrollbarPainterController
954
955         Use header detection to define scrollbar painting controller #define.
956
957         * WebCore.exp.in:
958         * platform/mac/ScrollAnimatorMac.h:
959         * platform/mac/ScrollbarThemeMac.h:
960         * platform/mac/WebCoreSystemInterface.h:
961         * platform/mac/WebCoreSystemInterface.mm:
962
963 2011-02-01  David Hyatt  <hyatt@apple.com>
964
965         Reviewed by Oliver Hunt.
966
967         https://bugs.webkit.org/show_bug.cgi?id=53520
968         
969         Remove the physical terminology from IntRect and FloatRect.
970         
971         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
972         we need to update our terminology to be more accurate.
973
974         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
975         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
976         even for flipped rectangles.
977
978         * accessibility/AccessibilityRenderObject.cpp:
979         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
980         * accessibility/mac/AccessibilityObjectWrapper.mm:
981         (-[AccessibilityObjectWrapper position]):
982         * dom/ClientRect.h:
983         (WebCore::ClientRect::right):
984         (WebCore::ClientRect::bottom):
985         * html/HTMLCanvasElement.cpp:
986         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
987         * html/canvas/CanvasRenderingContext2D.cpp:
988         (WebCore::normalizeRect):
989         * inspector/InspectorAgent.cpp:
990         (WebCore::InspectorAgent::drawElementTitle):
991         * page/DOMWindow.cpp:
992         (WebCore::DOMWindow::adjustWindowRect):
993         * page/DragController.cpp:
994         (WebCore::dragLocForSelectionDrag):
995         * page/EventHandler.cpp:
996         (WebCore::EventHandler::sendContextMenuEventForKey):
997         * page/PrintContext.cpp:
998         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
999         (WebCore::PrintContext::pageNumberForElement):
1000         * page/SpatialNavigation.cpp:
1001         (WebCore::end):
1002         (WebCore::areRectsFullyAligned):
1003         (WebCore::areRectsMoreThanFullScreenApart):
1004         (WebCore::below):
1005         (WebCore::rightOf):
1006         (WebCore::isRectInDirection):
1007         (WebCore::entryAndExitPointsForDirection):
1008         (WebCore::virtualRectForDirection):
1009         * page/WindowFeatures.cpp:
1010         (WebCore::WindowFeatures::WindowFeatures):
1011         * platform/ScrollView.cpp:
1012         (WebCore::ScrollView::wheelEvent):
1013         * platform/Scrollbar.cpp:
1014         (WebCore::Scrollbar::setFrameRect):
1015         * platform/ScrollbarThemeComposite.cpp:
1016         (WebCore::ScrollbarThemeComposite::splitTrack):
1017         * platform/chromium/ScrollbarThemeChromium.cpp:
1018         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1019         * platform/graphics/FloatQuad.h:
1020         (WebCore::FloatQuad::FloatQuad):
1021         * platform/graphics/FloatRect.cpp:
1022         (WebCore::FloatRect::intersects):
1023         (WebCore::FloatRect::contains):
1024         (WebCore::FloatRect::intersect):
1025         (WebCore::FloatRect::unite):
1026         (WebCore::enclosingIntRect):
1027         * platform/graphics/FloatRect.h:
1028         (WebCore::FloatRect::maxX):
1029         (WebCore::FloatRect::maxY):
1030         (WebCore::FloatRect::contains):
1031         * platform/graphics/IntRect.cpp:
1032         (WebCore::IntRect::intersects):
1033         (WebCore::IntRect::contains):
1034         (WebCore::IntRect::intersect):
1035         (WebCore::IntRect::unite):
1036         * platform/graphics/IntRect.h:
1037         (WebCore::IntRect::maxX):
1038         (WebCore::IntRect::maxY):
1039         (WebCore::IntRect::shiftXEdgeTo):
1040         (WebCore::IntRect::shiftMaxXEdgeTo):
1041         (WebCore::IntRect::shiftYEdgeTo):
1042         (WebCore::IntRect::shiftMaxYEdgeTo):
1043         (WebCore::IntRect::contains):
1044         * platform/graphics/WidthIterator.cpp:
1045         (WebCore::WidthIterator::advance):
1046         * platform/graphics/cg/GraphicsContextCG.cpp:
1047         (WebCore::GraphicsContext::drawRect):
1048         (WebCore::GraphicsContext::fillPath):
1049         (WebCore::GraphicsContext::fillRect):
1050         * platform/graphics/cg/ImageBufferCG.cpp:
1051         (WebCore::getImageData):
1052         (WebCore::putImageData):
1053         * platform/graphics/cg/ImageCG.cpp:
1054         (WebCore::BitmapImage::draw):
1055         * platform/graphics/filters/FilterEffect.cpp:
1056         (WebCore::FilterEffect::copyImageBytes):
1057         * platform/graphics/mac/ComplexTextController.cpp:
1058         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1059         * platform/graphics/mac/SimpleFontDataMac.mm:
1060         (WebCore::SimpleFontData::platformBoundsForGlyph):
1061         * platform/graphics/transforms/AffineTransform.cpp:
1062         (WebCore::AffineTransform::mapRect):
1063         * platform/graphics/win/FontCGWin.cpp:
1064         (WebCore::drawGDIGlyphs):
1065         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1066         (WebCore::MediaPlayerPrivate::paint):
1067         * platform/gtk/RenderThemeGtk.cpp:
1068         (WebCore::centerRectVerticallyInParentInputElement):
1069         * platform/mac/WidgetMac.mm:
1070         (WebCore::Widget::paint):
1071         * rendering/InlineFlowBox.cpp:
1072         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1073         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1074         * rendering/InlineTextBox.cpp:
1075         (WebCore::InlineTextBox::selectionRect):
1076         (WebCore::InlineTextBox::paint):
1077         (WebCore::InlineTextBox::positionForOffset):
1078         * rendering/RenderBlock.cpp:
1079         (WebCore::RenderBlock::addOverflowFromChildren):
1080         (WebCore::RenderBlock::paintChildren):
1081         (WebCore::RenderBlock::paintEllipsisBoxes):
1082         (WebCore::RenderBlock::inlineSelectionGaps):
1083         (WebCore::RenderBlock::adjustPointToColumnContents):
1084         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
1085         (WebCore::RenderBlock::adjustForColumns):
1086         * rendering/RenderBlock.h:
1087         (WebCore::RenderBlock::FloatingObject::right):
1088         (WebCore::RenderBlock::FloatingObject::bottom):
1089         * rendering/RenderBox.cpp:
1090         (WebCore::RenderBox::reflectedRect):
1091         (WebCore::RenderBox::localCaretRect):
1092         (WebCore::RenderBox::addShadowOverflow):
1093         (WebCore::RenderBox::addLayoutOverflow):
1094         (WebCore::RenderBox::visualOverflowRectForPropagation):
1095         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1096         (WebCore::RenderBox::flipForWritingMode):
1097         * rendering/RenderFrameSet.cpp:
1098         (WebCore::RenderFrameSet::paintColumnBorder):
1099         (WebCore::RenderFrameSet::paintRowBorder):
1100         * rendering/RenderInline.cpp:
1101         (WebCore::RenderInline::paintOutlineForLine):
1102         * rendering/RenderLayer.cpp:
1103         (WebCore::RenderLayer::getRectToExpose):
1104         (WebCore::cornerRect):
1105         (WebCore::RenderLayer::positionOverflowControls):
1106         (WebCore::RenderLayer::overflowBottom):
1107         (WebCore::RenderLayer::overflowRight):
1108         (WebCore::RenderLayer::paintResizer):
1109         * rendering/RenderLineBoxList.cpp:
1110         (WebCore::RenderLineBoxList::rangeIntersectsRect):
1111         (WebCore::RenderLineBoxList::paint):
1112         * rendering/RenderListItem.cpp:
1113         (WebCore::RenderListItem::positionListMarker):
1114         * rendering/RenderListMarker.cpp:
1115         (WebCore::RenderListMarker::paint):
1116         * rendering/RenderObject.cpp:
1117         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1118         * rendering/RenderOverflow.h:
1119         (WebCore::RenderOverflow::RenderOverflow):
1120         (WebCore::RenderOverflow::addLayoutOverflow):
1121         (WebCore::RenderOverflow::addVisualOverflow):
1122         (WebCore::RenderOverflow::setLayoutOverflow):
1123         (WebCore::RenderOverflow::setVisualOverflow):
1124         (WebCore::RenderOverflow::resetLayoutOverflow):
1125         * rendering/RenderReplaced.cpp:
1126         (WebCore::RenderReplaced::shouldPaint):
1127         * rendering/RenderScrollbarTheme.cpp:
1128         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
1129         * rendering/RenderTable.cpp:
1130         (WebCore::RenderTable::paint):
1131         * rendering/RenderTableCell.cpp:
1132         (WebCore::RenderTableCell::paint):
1133         * rendering/RenderTableSection.cpp:
1134         (WebCore::RenderTableSection::paintObject):
1135         * rendering/RenderText.cpp:
1136         (WebCore::RenderText::absoluteQuads):
1137         * rendering/RenderTextControlSingleLine.cpp:
1138         (WebCore::RenderTextControlSingleLine::forwardEvent):
1139         * rendering/RenderThemeMac.mm:
1140         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1141         (WebCore::RenderThemeMac::paintMenuListButton):
1142         (WebCore::RenderThemeMac::paintSliderTrack):
1143         * rendering/RenderView.cpp:
1144         (WebCore::RenderView::computeRectForRepaint):
1145         (WebCore::RenderView::docBottom):
1146         (WebCore::RenderView::docRight):
1147         * rendering/RootInlineBox.cpp:
1148         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1149         * rendering/svg/RenderSVGInlineText.cpp:
1150         (WebCore::RenderSVGInlineText::localCaretRect):
1151
1152 2011-02-01  Beth Dakin  <bdakin@apple.com>
1153
1154         Reviewed by Sam Weinig.
1155
1156         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
1157
1158         Lots of new WebCoreSystemInterface functions to export.
1159         * WebCore.exp.in:
1160         * platform/mac/WebCoreSystemInterface.h:
1161         * platform/mac/WebCoreSystemInterface.mm:
1162
1163         Let the scrollAnimator know when the mouse has
1164         moved anywhere inside the page, and when the mouse 
1165         has moved in or out of the window. 
1166         * page/EventHandler.cpp:
1167         (WebCore::EventHandler::mouseMoved):
1168         (WebCore::EventHandler::updateMouseEventTargetNode):
1169
1170         Let the scrollAnimator know when the window has become
1171         active or inactive.
1172         * page/FocusController.cpp:
1173         (WebCore::FocusController::setActive):
1174         
1175         Let the scrollAnimator know when all of these things
1176         are happening.
1177         * page/FrameView.cpp:
1178         (WebCore::FrameView::setContentsSize):
1179         (WebCore::FrameView::didMoveOnscreen):
1180         (WebCore::FrameView::willMoveOffscreen):
1181         (WebCore::FrameView::currentMousePosition):
1182         (WebCore::FrameView::contentsResized):
1183         
1184         New functions called through WebKit2 that allow the
1185         scrollAnimator to know when a live resize starts and ends.
1186         (WebCore::FrameView::willStartLiveResize):
1187         (WebCore::FrameView::willEndLiveResize):
1188         * page/FrameView.h:
1189         
1190         New functions on ScrollAnimator that pass information
1191         to the WKPainterController when we're using one.
1192         * platform/ScrollAnimator.h:
1193         (WebCore::ScrollAnimator::scrollableArea):
1194         (WebCore::ScrollAnimator::contentAreaWillPaint):
1195         (WebCore::ScrollAnimator::mouseEnteredContentArea):
1196         (WebCore::ScrollAnimator::mouseExitedContentArea):
1197         (WebCore::ScrollAnimator::mouseMovedInContentArea):
1198         (WebCore::ScrollAnimator::willStartLiveResize):
1199         (WebCore::ScrollAnimator::contentsResized):
1200         (WebCore::ScrollAnimator::willEndLiveResize):
1201         (WebCore::ScrollAnimator::contentAreaDidShow):
1202         (WebCore::ScrollAnimator::contentAreaDidHide):
1203         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1204         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
1205         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
1206         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
1207         (WebCore::ScrollAnimatorMac::notityPositionChanged):
1208         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1209         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1210         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1211         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1212         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1213         (WebCore::ScrollAnimatorMac::contentsResized):
1214         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1215         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1216         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1217         
1218         Let the scrollAnimator know when this is happening.
1219         * platform/ScrollView.cpp:
1220         (WebCore::ScrollView::paint):
1221         
1222         New function lets the scrollAnimator get the current 
1223         mouse position.
1224         * platform/ScrollView.h:
1225         (WebCore::ScrollView::currentMousePosition):
1226         
1227         New function that returns the scrollAnimator when needed.
1228         * platform/ScrollableArea.h:
1229         (WebCore::ScrollableArea::scrollAnimator):
1230         
1231         Keep track of if we're in a live resize using a new memeber
1232         variable.
1233         * platform/mac/ScrollAnimatorMac.h:
1234         (WebCore::ScrollAnimatorMac::inLiveResize):
1235         * platform/mac/ScrollAnimatorMac.mm:
1236         (WebCore::view):
1237         
1238         New delegates for the WKPainter and WKPainterController
1239         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
1240         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
1241         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
1242         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
1243         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
1244         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1245         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
1246         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
1247         (-[ScrollKnobAnimation setCurrentProgress:]):
1248         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
1249         (-[ScrollbarPainterDelegate convertRectToBacking:]):
1250         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
1251         (-[ScrollbarPainterDelegate layer]):
1252         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
1253         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1254         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1255         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
1256
1257         Get the WKScrollbarPainterRefs to synch up with the 
1258         WKScrollbarPainterControllerRefs when appropriate
1259         * platform/mac/ScrollbarThemeMac.h:
1260         * platform/mac/ScrollbarThemeMac.mm:
1261         (WebCore::ScrollbarThemeMac::registerScrollbar):
1262         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1263         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
1264         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1265
1266         Implement ScrollableArea's virtual function contentsSize() for access
1267         through the scrollAnimator.
1268         * rendering/RenderLayer.h:
1269         (WebCore::RenderLayer::contentsSize):
1270
1271 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
1272
1273         Reviewed by David Hyatt.
1274
1275         layoutTestController.counterValueForElementById does not return the correct value
1276         https://bugs.webkit.org/show_bug.cgi?id=53037
1277
1278         Test: fast/css/counters/deep-before.html
1279
1280         * rendering/RenderTreeAsText.cpp:
1281         (WebCore::counterValueForElement):
1282         Modified to use the newly available RenderObject::beforePseudoElement()
1283         and RenderObject::afterPseudoElement() instead of the old imperfect
1284         algorithm to find the before and after pseudo elements.
1285
1286 2011-02-01  Anton Muhin  <antonm@chromium.org>
1287
1288         Reviewed by Adam Barth.
1289
1290         Allow access for security origin same as this.
1291         https://bugs.webkit.org/show_bug.cgi?id=53440
1292
1293         Hard to test as newly added path currently is never hit.
1294
1295         * page/SecurityOrigin.cpp:
1296         (WebCore::SecurityOrigin::canAccess): allow access if this == other
1297
1298 2011-01-31  Oliver Hunt  <oliver@apple.com>
1299
1300         Reviewed by Geoffrey Garen.
1301
1302         Update JSObject storage for new marking API
1303         https://bugs.webkit.org/show_bug.cgi?id=53467
1304
1305         Update WebCore to handle new anonymous slot behaviour.
1306
1307         * bindings/js/JSDOMWindowShell.cpp:
1308         (WebCore::JSDOMWindowShell::setWindow):
1309         * bindings/js/WorkerScriptController.cpp:
1310         (WebCore::WorkerScriptController::initScript):
1311         * bindings/scripts/CodeGeneratorJS.pm:
1312
1313 2011-02-01  Xiaomei Ji  <xji@chromium.org>
1314
1315         Reviewed by David Hyatt.
1316
1317         Fix a text rendering problem when enclosing block is RTL and text runs
1318         are in different directionality.
1319         https://bugs.webkit.org/show_bug.cgi?id=34176
1320
1321         The problem happens in the following example scenario (ABC represents 
1322         Hebrew characters):
1323         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
1324
1325         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
1326         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
1327         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
1328
1329         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
1330
1331         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
1332         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
1333         the run's render object's ancestor (not only its parent) has already 
1334         been constructed or has something following it on the line, in which 
1335         case, create a new box for TextRun2 instead of sharing the same box with
1336         TextRun3.
1337
1338         In other words, the following 2 div should render the same results
1339         (ABC represents Hebrew characters).
1340         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
1341         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
1342
1343         Test: fast/dom/34176.html
1344
1345         * rendering/RenderBlockLineLayout.cpp:
1346         (WebCore::parentIsConstructedOrHaveNext):
1347         (WebCore::RenderBlock::createLineBoxes):
1348
1349 2011-02-01  Abhishek Arya  <inferno@chromium.org>
1350
1351         Reviewed by Dan Bernstein.
1352
1353         Do not add a node in the document's stylesheet candidate node list if the
1354         node is already removed from document.
1355         https://bugs.webkit.org/show_bug.cgi?id=53441
1356
1357         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
1358
1359         * dom/Document.cpp:
1360         (WebCore::Document::addStyleSheetCandidateNode):
1361
1362 2011-02-01  Dave Hyatt  <hyatt@apple.com>
1363
1364         Reviewed by Darin Adler.
1365
1366         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
1367         with vertical text.
1368
1369         Change printing functions to check writing-mode and properly swap width and height
1370         as needed.
1371         
1372         Fix the setScrollOrigin function so that the origin doesn't cause
1373         scroll spasming during printing (this is only partially successful, but it's better
1374         than it was).
1375
1376         Rewrite computePageRects to handle both RTL documents properly as well as vertical
1377         text documents properly.
1378
1379         * WebCore.exp.in:
1380         * page/FrameView.cpp:
1381         (WebCore::FrameView::adjustViewSize):
1382         (WebCore::FrameView::forceLayoutForPagination):
1383         * page/PrintContext.cpp:
1384         (WebCore::PrintContext::computePageRects):
1385         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
1386         (WebCore::PrintContext::computeAutomaticScaleFactor):
1387         (WebCore::PrintContext::spoolPage):
1388         (WebCore::PrintContext::spoolRect):
1389         * page/PrintContext.h:
1390         * page/mac/WebCoreFrameView.h:
1391         * platform/ScrollView.cpp:
1392         (WebCore::ScrollView::wheelEvent):
1393         * platform/ScrollView.h:
1394         * platform/mac/ScrollViewMac.mm:
1395         (WebCore::ScrollView::platformSetScrollOrigin):
1396         * rendering/RenderView.cpp:
1397         (WebCore::RenderView::layout):
1398
1399 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
1400
1401         Reviewed by Pavel Feldman.
1402
1403         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
1404
1405         https://bugs.webkit.org/show_bug.cgi?id=53500
1406
1407         * inspector/InspectorProfilerAgent.cpp:
1408         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
1409
1410 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
1411
1412         Reviewed by Pavel Feldman.
1413
1414         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
1415
1416         https://bugs.webkit.org/show_bug.cgi?id=53173
1417
1418         Adding code for accessing heap snapshot data and
1419         performing graph calculations.
1420
1421         * English.lproj/localizedStrings.js:
1422         * inspector/front-end/HeapSnapshot.js:
1423         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
1424         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
1425         (WebInspector.HeapSnapshotEdgeIterator):
1426         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
1427         (WebInspector.HeapSnapshotNodeIterator):
1428         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
1429         (WebInspector.HeapSnapshotFilteredOrderedIterator):
1430         (WebInspector.HeapSnapshotEdgesProvider):
1431         (WebInspector.HeapSnapshotNodesProvider):
1432         (WebInspector.HeapSnapshotPathFinder):
1433         * inspector/front-end/HeapSnapshotView.js:
1434         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
1435
1436 2011-02-01  Adam Roben  <aroben@apple.com>
1437
1438         Fix linker warnings in Release_LTCG builds
1439
1440         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
1441         configurations, since they get pulled in via DOMAllInOne.cpp.
1442
1443 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
1444
1445         Reviewed by Yury Semikhatsky.
1446
1447         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
1448         https://bugs.webkit.org/show_bug.cgi?id=53482
1449
1450         * English.lproj/localizedStrings.js:
1451         * inspector/front-end/ElementsPanel.js:
1452         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
1453         * inspector/front-end/inspector.js:
1454         (WebInspector.resourceForURL):
1455         (WebInspector.openLinkExternallyLabel):
1456
1457 2011-02-01  Anton Muhin  <antonm@chromium.org>
1458
1459         Reviewed by Adam Barth.
1460
1461         Propagate parent document security origin to newly create Document XML response
1462         https://bugs.webkit.org/show_bug.cgi?id=53444
1463
1464         Covered by the existing tests.
1465
1466         * xml/XMLHttpRequest.cpp:
1467         (WebCore::XMLHttpRequest::responseXML):
1468
1469 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
1470
1471         Unreviewed. Rollout r77230 which caused many layout tests
1472         crashes on Chromium Debug bots.
1473
1474         Async event handlers should not fire within a modal dialog
1475         https://bugs.webkit.org/show_bug.cgi?id=53202
1476
1477         * dom/Document.cpp:
1478         (WebCore::Document::Document):
1479         * dom/EventQueue.cpp:
1480         (WebCore::EventQueue::EventQueue):
1481         (WebCore::EventQueue::enqueueEvent):
1482         (WebCore::EventQueue::pendingEventTimerFired):
1483         * dom/EventQueue.h:
1484
1485 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
1486
1487         Reviewed by Dirk Schulze.
1488
1489         LightElement changes does not require relayout.
1490         https://bugs.webkit.org/show_bug.cgi?id=53232
1491
1492         When an attribute of a LightElement changes, it
1493         send an update message to the lighting filters
1494         to update its corresponding LightSource objects,
1495         and repaint the filters.
1496
1497         Duplicated 'id' attributes removed from svg-filter-animation.svg.
1498
1499         Existing dynamic-update tests covers this feature.
1500
1501         5x speedup on manual-tests/svg-filter-animation.svg
1502
1503         * manual-tests/svg-filter-animation.svg:
1504         * platform/graphics/filters/DistantLightSource.h:
1505         * platform/graphics/filters/FEDiffuseLighting.cpp:
1506         (WebCore::FEDiffuseLighting::setLightingColor):
1507         (WebCore::FEDiffuseLighting::setSurfaceScale):
1508         (WebCore::FEDiffuseLighting::setDiffuseConstant):
1509         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
1510         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
1511         * platform/graphics/filters/FEDiffuseLighting.h:
1512         * platform/graphics/filters/LightSource.cpp:
1513         (WebCore::PointLightSource::setX):
1514         (WebCore::PointLightSource::setY):
1515         (WebCore::PointLightSource::setZ):
1516         (WebCore::SpotLightSource::setX):
1517         (WebCore::SpotLightSource::setY):
1518         (WebCore::SpotLightSource::setZ):
1519         (WebCore::SpotLightSource::setPointsAtX):
1520         (WebCore::SpotLightSource::setPointsAtY):
1521         (WebCore::SpotLightSource::setPointsAtZ):
1522         (WebCore::SpotLightSource::setSpecularExponent):
1523         (WebCore::SpotLightSource::setLimitingConeAngle):
1524         (WebCore::DistantLightSource::setAzimuth):
1525         (WebCore::DistantLightSource::setElevation):
1526         (WebCore::LightSource::setAzimuth):
1527         (WebCore::LightSource::setElevation):
1528         (WebCore::LightSource::setX):
1529         (WebCore::LightSource::setY):
1530         (WebCore::LightSource::setZ):
1531         (WebCore::LightSource::setPointsAtX):
1532         (WebCore::LightSource::setPointsAtY):
1533         (WebCore::LightSource::setPointsAtZ):
1534         (WebCore::LightSource::setSpecularExponent):
1535         (WebCore::LightSource::setLimitingConeAngle):
1536         * platform/graphics/filters/LightSource.h:
1537         * platform/graphics/filters/PointLightSource.h:
1538         * platform/graphics/filters/SpotLightSource.h:
1539         * rendering/svg/RenderSVGResourceFilter.cpp:
1540         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1541         * svg/SVGFEDiffuseLightingElement.cpp:
1542         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1543         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
1544         (WebCore::SVGFEDiffuseLightingElement::build):
1545         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
1546         (WebCore::SVGFEDiffuseLightingElement::findLight):
1547         * svg/SVGFEDiffuseLightingElement.h:
1548         * svg/SVGFELightElement.cpp:
1549         (WebCore::SVGFELightElement::svgAttributeChanged):
1550         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1551         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
1552         * svg/SVGFilterPrimitiveStandardAttributes.h:
1553
1554 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
1555
1556         Reviewed by Dimitri Glazkov.
1557
1558         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
1559         https://bugs.webkit.org/show_bug.cgi?id=53289
1560
1561         Moving the nested class DocumentOrderedMap from Document into separate files,
1562         updating code where necessary.
1563
1564         No new tests. (refactoring)
1565
1566         * Android.mk:
1567         * CMakeLists.txt:
1568         * GNUMakefile.am:
1569         * WebCore.gypi:
1570         * WebCore.pro:
1571         * WebCore.vcproj/WebCore.vcproj:
1572         * WebCore.xcodeproj/project.pbxproj:
1573         * dom/Document.cpp:
1574         (WebCore::Document::getElementById):
1575         (WebCore::Document::getImageMap):
1576         * dom/Document.h:
1577         * dom/DocumentOrderedMap.cpp: Added.
1578         (WebCore::keyMatchesId):
1579         (WebCore::keyMatchesMapName):
1580         (WebCore::keyMatchesLowercasedMapName):
1581         (WebCore::DocumentOrderedMap::clear):
1582         (WebCore::DocumentOrderedMap::add):
1583         (WebCore::DocumentOrderedMap::remove):
1584         (WebCore::DocumentOrderedMap::get):
1585         (WebCore::DocumentOrderedMap::getElementById):
1586         (WebCore::DocumentOrderedMap::getElementByMapName):
1587         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1588         * dom/DocumentOrderedMap.h: Added.
1589         (WebCore::DocumentOrderedMap::contains):
1590         (WebCore::DocumentOrderedMap::containsMultiple):
1591         * dom/DOMAllInOne.cpp:
1592
1593 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
1594
1595         Reviewed by Martin Robinson.
1596
1597         [Gtk] atk_text_set_caret_offset fails for list items
1598         https://bugs.webkit.org/show_bug.cgi?id=53388
1599
1600         Allow using text ranges across list items.
1601
1602         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1603         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
1604         to the list of accessibility objects supporting text ranges.
1605
1606 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
1607
1608         Reviewed by Martin Robinson.
1609
1610         [GTK] character range extents is off when the end of a wrapped line is included
1611         https://bugs.webkit.org/show_bug.cgi?id=53323
1612
1613         Fixed wrong calculation getting the range extents.
1614
1615         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1616         (webkit_accessible_text_get_range_extents): Removed '+1' since the
1617         requested interval shouldn't include the last character.
1618
1619 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
1620
1621         Reviewed by Martin Robinson.
1622
1623         [GTK] Caret Offset is one off at the end of wrapped lines
1624         https://bugs.webkit.org/show_bug.cgi?id=53300
1625
1626         Consider linebreaks as special cases.
1627
1628         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1629         (objectAndOffsetUnignored): In order to avoid getting wrong values
1630         when around linebreaks, we need to workaround this by explicitly
1631         avoiding those '\n' text nodes from affecting the result of
1632         calling to TextIterator:rangeLength().
1633
1634 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
1635
1636         Unreviewed, rolling out r77229.
1637         http://trac.webkit.org/changeset/77229
1638         https://bugs.webkit.org/show_bug.cgi?id=53289
1639
1640         revert mysterious build breakage
1641
1642         * Android.mk:
1643         * CMakeLists.txt:
1644         * GNUmakefile.am:
1645         * WebCore.gypi:
1646         * WebCore.pro:
1647         * WebCore.vcproj/WebCore.vcproj:
1648         * WebCore.xcodeproj/project.pbxproj:
1649         * dom/DOMAllInOne.cpp:
1650         * dom/Document.cpp:
1651         (WebCore::Document::DocumentOrderedMap::clear):
1652         (WebCore::Document::DocumentOrderedMap::add):
1653         (WebCore::Document::DocumentOrderedMap::remove):
1654         (WebCore::Document::DocumentOrderedMap::get):
1655         (WebCore::keyMatchesId):
1656         (WebCore::Document::getElementById):
1657         (WebCore::keyMatchesMapName):
1658         (WebCore::keyMatchesLowercasedMapName):
1659         (WebCore::Document::getImageMap):
1660         * dom/Document.h:
1661         (WebCore::Document::DocumentOrderedMap::contains):
1662         (WebCore::Document::DocumentOrderedMap::containsMultiple):
1663         * dom/DocumentOrderedMap.cpp: Removed.
1664         * dom/DocumentOrderedMap.h: Removed.
1665
1666 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
1667
1668         Reviewed by James Robinson.
1669
1670         Async event handlers should not fire within a modal dialog
1671         https://bugs.webkit.org/show_bug.cgi?id=53202
1672
1673         Asychronous events that use EventQueue would currently fire while a
1674         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
1675         SuspendableTimer (which automatically gets suspended while dialogs are
1676         up and in other cases where JS execution is not allowed).
1677         
1678         Test: fast/events/scroll-event-during-modal-dialog.html
1679
1680         * dom/Document.cpp:
1681         (WebCore::Document::Document):
1682         * dom/EventQueue.cpp:
1683         (WebCore::EventQueueTimer::EventQueueTimer):
1684         (WebCore::EventQueueTimer::fired):
1685         (WebCore::EventQueue::EventQueue):
1686         (WebCore::EventQueue::enqueueEvent):
1687         (WebCore::EventQueue::pendingEventTimerFired):
1688         * dom/EventQueue.h:
1689         (WebCore::EventQueue::create):
1690
1691 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
1692
1693         Reviewed by Dimitri Glazkov.
1694
1695         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
1696         https://bugs.webkit.org/show_bug.cgi?id=53289
1697
1698         Moving the nested class DocumentOrderedMap from Document into separate files,
1699         updating code where necessary.
1700
1701         No new tests. (refactoring)
1702
1703         * Android.mk:
1704         * CMakeLists.txt:
1705         * GNUMakefile.am:
1706         * WebCore.gypi:
1707         * WebCore.pro:
1708         * WebCore.vcproj/WebCore.vcproj:
1709         * WebCore.xcodeproj/project.pbxproj:
1710         * dom/Document.cpp:
1711         (WebCore::Document::getElementById):
1712         (WebCore::Document::getImageMap):
1713         * dom/Document.h:
1714         * dom/DocumentOrderedMap.cpp: Added.
1715         (WebCore::keyMatchesId):
1716         (WebCore::keyMatchesMapName):
1717         (WebCore::keyMatchesLowercasedMapName):
1718         (WebCore::DocumentOrderedMap::clear):
1719         (WebCore::DocumentOrderedMap::add):
1720         (WebCore::DocumentOrderedMap::remove):
1721         (WebCore::DocumentOrderedMap::get):
1722         (WebCore::DocumentOrderedMap::getElementById):
1723         (WebCore::DocumentOrderedMap::getElementByMapName):
1724         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1725         * dom/DocumentOrderedMap.h: Added.
1726         (WebCore::DocumentOrderedMap::contains):
1727         (WebCore::DocumentOrderedMap::containsMultiple):
1728         * dom/DOMAllInOne.cpp:
1729
1730 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
1731
1732         Reviewed by Darin Fisher.
1733
1734         [Chromium] Autofill should work with HTML5 form elements
1735         https://bugs.webkit.org/show_bug.cgi?id=51809
1736         http://crbug.com/65654
1737
1738         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
1739
1740         * html/InputType.h: Insert comment for canSetSuggestedValue().
1741         * html/TextFieldInputType.cpp:
1742         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
1743         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
1744         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
1745         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
1746
1747 2011-02-01  Kent Tamura  <tkent@chromium.org>
1748
1749         Reviewed by Dan Bernstein.
1750
1751         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
1752         https://bugs.webkit.org/show_bug.cgi?id=53272
1753
1754         * editing/TextIterator.cpp:
1755         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
1756
1757 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
1758
1759         Reviewed by Maciej Stachowiak.
1760
1761         https://bugs.webkit.org/show_bug.cgi?id=53466
1762         Move WebKit2 to printing via API methods
1763
1764         * WebCore.exp.in: Export IntRect::scale().
1765
1766 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
1767
1768         Reviewed by Adam Barth.
1769
1770         Remove obsolete comment after r41871
1771         https://bugs.webkit.org/show_bug.cgi?id=53406
1772
1773         * dom/Document.h:
1774
1775 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
1776
1777         Fix according to reviewer comments: can just use Color::black now.
1778
1779         * platform/graphics/ShadowBlur.cpp:
1780         (WebCore::ShadowBlur::drawInsetShadow):
1781         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1782
1783 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
1784
1785         Reviewed by Sam Weinig.
1786
1787         Clean up ShadowBlur
1788         https://bugs.webkit.org/show_bug.cgi?id=53472
1789
1790         Some minor ShadowBlur cleanup.
1791
1792         * platform/graphics/ShadowBlur.h:
1793         * platform/graphics/ShadowBlur.cpp:
1794         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
1795         paramter.
1796         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
1797         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
1798         layerRect. Make frameSize a float.
1799         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
1800         layerRect rather than calling calculateLayerBoundingRect() to compute
1801         it itself, since we were calling calculateLayerBoundingRect() twice.
1802         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
1803         only once. The shadowRect variable was unused, so two return paths could be
1804         collapsed into one.
1805         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
1806         beginShadowLayer() now.
1807         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
1808         We always used alpha=1, so no need to pass that in.
1809         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
1810         pass that in. Move shadowRect down to first use.
1811         ShadowBlur::clipBounds() was unused.
1812
1813 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
1814
1815         Reviewed by Kenneth Rohde Christiansen.
1816
1817         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
1818         https://bugs.webkit.org/show_bug.cgi?id=46748
1819
1820         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
1821         Added a regression test to tst_QWebFrame.
1822
1823         * bridge/qt/qt_instance.cpp:
1824         (JSC::Bindings::QtInstance::QtInstance):
1825
1826 2011-01-27  MORITA Hajime  <morrita@google.com>
1827
1828         Reviewed by Dimitri Glazkov.
1829         
1830         Convert <progress> shadow DOM to a DOM-based shadow.
1831         https://bugs.webkit.org/show_bug.cgi?id=50660
1832
1833         * Removed RenderProgress::m_valuePart, moved the shadow node
1834           to the shadow root of HTMLProgressElement.
1835         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
1836           ProgressBarValueElement is defined only for overriding
1837           shadowPseudoId().
1838         
1839         No new tests. No behavioral change.
1840
1841         * css/CSSSelector.cpp:
1842         (WebCore::CSSSelector::pseudoId):
1843         (WebCore::nameToPseudoTypeMap):
1844         (WebCore::CSSSelector::extractPseudoType):
1845         * css/CSSSelector.h:
1846         * html/HTMLProgressElement.cpp:
1847         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
1848         (WebCore::ProgressBarValueElement::shadowPseudoId):
1849         (WebCore::ProgressBarValueElement::create):
1850         (WebCore::ProgressBarValueElement::detach):
1851         (WebCore::HTMLProgressElement::parseMappedAttribute):
1852         (WebCore::HTMLProgressElement::attach):
1853         (WebCore::HTMLProgressElement::valuePart):
1854         (WebCore::HTMLProgressElement::didElementStateChange):
1855         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
1856         * html/HTMLProgressElement.h:
1857         * rendering/RenderProgress.cpp:
1858         (WebCore::RenderProgress::~RenderProgress):
1859         (WebCore::RenderProgress::updateFromElement):
1860         (WebCore::RenderProgress::layoutParts):
1861         (WebCore::RenderProgress::shouldHaveParts):
1862         (WebCore::RenderProgress::valuePart):
1863         * rendering/RenderProgress.h:
1864         * rendering/style/RenderStyleConstants.h:
1865
1866 2011-01-31  Charlie Reis  <creis@chromium.org>
1867
1868         Reviewed by Mihai Parparita.
1869
1870         Add sanity check to help diagnose bug 52819
1871         https://bugs.webkit.org/show_bug.cgi?id=53402
1872
1873         Crash early if the children of fromItem look invalid.
1874
1875         * loader/HistoryController.cpp:
1876
1877 2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
1878
1879         Reviewed by Andreas Kling.
1880
1881         [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
1882         https://bugs.webkit.org/show_bug.cgi?id=53325
1883
1884         Reimplement paintCurrentFrameInContext() rather than delegate the
1885         rendering to paint() to make sure we really do get the video frame
1886         content into the GraphicsContext, regardless of accelerated
1887         compositing and the video scene state.
1888
1889         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1890         (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
1891         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1892
1893 2011-01-31  Emil A Eklund  <eae@chromium.org>
1894
1895         Reviewed by Darin Adler.
1896
1897         Setting "selected" attribute to false should have no effect in single line <select>
1898         https://bugs.webkit.org/show_bug.cgi?id=52436
1899
1900         Change SelectElement::setSelectedIndex to select the first selectable
1901         option when the select state of all options is set to false as required
1902         by the HTML5 specification.
1903
1904         Test: fast/dom/HTMLSelectElement/selected-false.html
1905
1906         * dom/SelectElement.cpp:
1907         (WebCore::SelectElement::setSelectedIndex):
1908
1909 2011-01-31  Alexander Pavlov  <apavlov@chromium.org>
1910
1911         Reviewed by Yury Semikhatsky.
1912
1913         Web Inspector: Console source references need a left-margin
1914         https://bugs.webkit.org/show_bug.cgi?id=53308
1915
1916         * inspector/front-end/inspector.css:
1917         (.console-message-url): Added a 4px margin on the left.
1918
1919 2011-01-31  Carol Szabo  <carol.szabo@nokia.com>
1920
1921         Reviewed by David Hyatt.
1922
1923         Code Changes only.
1924
1925         It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
1926         https://bugs.webkit.org/show_bug.cgi?id=53024
1927
1928         No new tests. No change in functionality
1929
1930         * rendering/RenderObject.h:
1931         (WebCore::RenderObject::before):
1932         (WebCore::RenderObject::after):
1933         (WebCore::RenderObject::generatingNode):
1934         Added new accessors for the use of the CSS 2.1 counters code
1935         (mainlyly)
1936         * rendering/RenderObjectChildList.cpp:
1937         (WebCore::beforeAfterContainer):
1938         (WebCore::RenderObjectChildList::invalidateCounters):
1939         (WebCore::RenderObjectChildList::before):
1940         (WebCore::RenderObjectChildList::after):
1941         Refactored the code to take advantage of the new accessors.
1942         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1943         Changed to store the generating node in the :before and :after
1944         renderers.
1945         * rendering/RenderObjectChildList.h:
1946
1947 2011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>
1948
1949         Reviewed by David Hyatt.
1950
1951         Add background-clip to background shorthand
1952         https://bugs.webkit.org/show_bug.cgi?id=52080
1953
1954         Added background-clip to background-shorthand. Also made changes to
1955         include webkitMaskClip to the mask shorthand to keep both in sync.
1956
1957         * css/CSSParser.cpp:
1958         (WebCore::CSSParser::parseValue):
1959         (WebCore::CSSParser::parseFillShorthand):
1960
1961 2011-01-31  Darin Adler  <darin@apple.com>
1962
1963         Reviewed by Adele Peterson.
1964
1965         WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
1966         https://bugs.webkit.org/show_bug.cgi?id=53460
1967
1968         * editing/EditorCommand.cpp:
1969         (WebCore::executeScrollPageBackward): Added.
1970         (WebCore::executeScrollPageForward): Added.
1971         (WebCore::executeScrollToBeginningOfDocument): Added.
1972         (WebCore::executeScrollToEndOfDocument): Added.
1973         (WebCore::createCommandMap): Added the four commands above to the map.
1974
1975 2011-01-31  Dan Bernstein  <mitz@apple.com>
1976
1977         Reviewed by Adele Peterson.
1978
1979         Inter-ideograph justification should apply to hiragana and katakana as well
1980         https://bugs.webkit.org/show_bug.cgi?id=53464
1981
1982         Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
1983
1984         * platform/graphics/Font.cpp:
1985         (WebCore::Font::expansionOpportunityCount):
1986         * platform/graphics/WidthIterator.cpp:
1987         (WebCore::WidthIterator::advance):
1988         * platform/graphics/mac/ComplexTextController.cpp:
1989         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1990
1991 2011-01-31  Dimitri Glazkov  <dglazkov@chromium.org>
1992
1993         Reviewed by James Robinson.
1994
1995         REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
1996         https://bugs.webkit.org/show_bug.cgi?id=53314
1997
1998         Fixes media/controls-strict.html on Chromium.
1999
2000         * css/mediaControlsChromium.css:
2001         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2002             Added proper box-sizing to avoid differences between strict/quirks mode.
2003
2004 2011-01-31  Kent Tamura  <tkent@chromium.org>
2005
2006         Reviewed by Dimitri Glazkov.
2007
2008         Validation message bubble shouldn't inherit text-security style
2009         https://bugs.webkit.org/show_bug.cgi?id=53457
2010
2011         No new tests because the validation message feature depends on timers
2012         and is enabled only in Chromium port.
2013
2014         * css/html.css:
2015         (::-webkit-validation-bubble): Reset -webkit-text-security.
2016
2017 2011-01-31  Michael Saboff  <msaboff@apple.com>
2018
2019         Reviewed by Geoffrey Garen.
2020
2021         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
2022         https://bugs.webkit.org/show_bug.cgi?id=53271
2023
2024         Reapplying this patch again. 
2025         The removal of this patch in <http://trac.webkit.org/changeset/77125>
2026         as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
2027         removed the both the first (failing) patch (r76893) and this fixed 
2028         patch (r76969).  This patch includes slight changes necessitated by
2029         r77151.
2030
2031         Reapplying this patch with the change that the second ASSERT in 
2032         RootObject::removeRuntimeObject was changed to use
2033         .uncheckedGet() instead of the failing .get().  The object in question
2034         could be in the process of being GC'ed.  The get() call will not return
2035         such an object while the uncheckedGet() call will return the (unsafe) 
2036         object.  This is the behavior we want.
2037
2038         Precautionary change.
2039         Changed RootObject to use WeakGCMap instead of HashSet.
2040         Found will looking for another issue, but can't produce a test case
2041         that is problematic.  THerefore there aren't any new tests.
2042
2043         * bridge/runtime_root.cpp:
2044         (JSC::Bindings::RootObject::invalidate):
2045         (JSC::Bindings::RootObject::addRuntimeObject):
2046         (JSC::Bindings::RootObject::removeRuntimeObject):
2047         * bridge/runtime_root.h:
2048
2049 2011-01-31  Andreas Kling  <kling@webkit.org>
2050
2051         Unbreak Qt build after r77151.
2052
2053         * bridge/qt/qt_instance.cpp:
2054         (JSC::Bindings::QtInstance::removeCachedMethod):
2055         (JSC::Bindings::QtInstance::markAggregate):
2056
2057 2011-01-31  takano takumi  <takano@apple.com>
2058
2059         Reviewed by Dave Hyatt.
2060
2061         Implement text-combine rendering code
2062         https://bugs.webkit.org/show_bug.cgi?id=50621
2063
2064         Test: fast/text/international/text-combine-image-test.html
2065
2066         * Android.mk: Added RenderCombineText.cpp/h
2067         * CMakeLists.txt: Added RenderCombineText.cpp/h
2068         * GNUmakefile.am: Added RenderCombineText.cpp/h
2069         * WebCore.exp.in:
2070         * WebCore.gypi: Added RenderCombineText.cpp/h
2071         * WebCore.pro: Added RenderCombineText.cpp/h
2072         * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
2073         * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
2074         * css/CSSFontFaceSource.cpp:
2075         (WebCore::CSSFontFaceSource::getFontData):
2076         - Added fontDescription.widthVariant to SimpleFontData creation.
2077         * css/CSSStyleSelector.cpp:
2078         (WebCore::CSSStyleSelector::applyProperty):
2079         - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
2080         * dom/Text.cpp:
2081         (WebCore::Text::createRenderer):
2082         - Changed to create RenderCombineText in case of TextCombine.
2083         * loader/cache/CachedFont.cpp:
2084         (WebCore::CachedFont::platformDataFromCustomData):
2085         - Added FontWidthVariant as an argument for FontPlatformData creation.
2086         * loader/cache/CachedFont.h:
2087         - Ditto.
2088         * platform/graphics/Font.h:
2089         (WebCore::Font::widthVariant):
2090         - The accessor to FontWidthVariant member variable.
2091         * platform/graphics/FontCache.cpp:
2092         - Made cache to incorporate FontWidthVariant value.
2093         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2094         (WebCore::FontPlatformDataCacheKey::operator==):
2095         (WebCore::computeHash):
2096         (WebCore::FontCache::getCachedFontPlatformData):
2097         * platform/graphics/FontDescription.h:
2098         - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
2099         (WebCore::FontDescription::FontDescription):
2100         (WebCore::FontDescription::widthVariant):
2101         (WebCore::FontDescription::setWidthVariant):
2102         (WebCore::FontDescription::operator==):
2103         * platform/graphics/FontWidthVariant.h: Added.
2104         * platform/graphics/cairo/FontCustomPlatformData.h:
2105         - Changed to carry FontWidthVariant value.
2106         * platform/graphics/cocoa/FontPlatformData.h:
2107         - Changed to carry FontWidthVariant value.
2108         (WebCore::FontPlatformData::FontPlatformData):
2109         (WebCore::FontPlatformData::widthVariant):
2110         (WebCore::FontPlatformData::hash):
2111         (WebCore::FontPlatformData::operator==):
2112         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2113         (WebCore::FontPlatformData::FontPlatformData):
2114         - Changed to carry FontWidthVariant value.
2115         (WebCore::FontPlatformData::operator=):
2116         - Ditto.
2117         (WebCore::mapFontWidthVariantToCTFeatureSelector):
2118         - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
2119         (WebCore::FontPlatformData::ctFont):
2120         - Changed to create CTFont with text spacing variant based on FontWidthVariant.
2121         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
2122         (WebCore::FontCustomPlatformData::fontPlatformData):
2123         - Changed to carry FontWidthVariant value.
2124         * platform/graphics/haiku/FontCustomPlatformData.cpp:
2125         (WebCore::FontCustomPlatformData::fontPlatformData):
2126         - Changed to carry FontWidthVariant value.
2127         * platform/graphics/haiku/FontCustomPlatformData.h:
2128         * platform/graphics/mac/FontCacheMac.mm:
2129         (WebCore::FontCache::createFontPlatformData):
2130         - Changed to carry FontWidthVariant value.
2131         * platform/graphics/mac/FontCustomPlatformData.cpp:
2132         (WebCore::FontCustomPlatformData::fontPlatformData):
2133         - Changed to carry FontWidthVariant value.
2134         * platform/graphics/mac/FontCustomPlatformData.h:
2135         - Ditto.
2136         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2137         (WebCore::shouldUseCoreText):
2138         - Changed to skip CT path when width variant is specified.
2139         * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
2140         (WebCore::FontCustomPlatformData::fontPlatformData):
2141         - Ditto.
2142         * platform/graphics/qt/FontCustomPlatformData.h:
2143         - Ditto.
2144         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
2145         (WebCore::FontCustomPlatformData::fontPlatformData):
2146         - Ditto.
2147         * platform/graphics/skia/FontCustomPlatformData.cpp:
2148         (WebCore::FontCustomPlatformData::fontPlatformData):
2149         - Ditto.
2150         * platform/graphics/skia/FontCustomPlatformData.h:
2151         - Ditto.
2152         * platform/graphics/win/FontCustomPlatformData.cpp:
2153         (WebCore::FontCustomPlatformData::fontPlatformData):
2154         - Ditto.
2155         * platform/graphics/win/FontCustomPlatformData.h:
2156         - Ditto.
2157         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2158         - Ditto.
2159         (WebCore::FontCustomPlatformData::fontPlatformData):
2160         - Ditto.
2161         * platform/graphics/win/FontCustomPlatformDataCairo.h:
2162         - Ditto.
2163         * platform/graphics/wince/FontCustomPlatformData.cpp:
2164         (WebCore::FontCustomPlatformData::fontPlatformData):
2165         - Ditto.
2166         * platform/graphics/wince/FontCustomPlatformData.h:
2167         - Ditto.
2168         * platform/graphics/wx/FontCustomPlatformData.cpp:
2169         (WebCore::FontCustomPlatformData::fontPlatformData):
2170         - Ditto.
2171         * platform/graphics/wx/FontCustomPlatformData.h:
2172         - Ditto.
2173         * rendering/InlineTextBox.cpp:
2174         (WebCore::InlineTextBox::paint):
2175         - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
2176         instead of text returned from text().
2177         * rendering/RenderBlock.cpp:
2178         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2179         - Made to call RenderCombinedText's prepareTextCombine() here.
2180         * rendering/RenderBlockLineLayout.cpp:
2181         (WebCore::textWidth):
2182         - Made to always use the render object's width() in case of TextCombine.
2183         (WebCore::RenderBlock::findNextLineBreak):
2184         - Made to call RenderCombinedText's prepareTextCombine() here.
2185         * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
2186         (WebCore::RenderCombineText::RenderCombineText):
2187         (WebCore::RenderCombineText::styleDidChange):
2188         - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
2189         the next call of RenderBlock::findNextLineBreak().
2190         (WebCore::RenderCombineText::setTextInternal):
2191         - Ditto.
2192         (WebCore::RenderCombineText::width):
2193         - Returns 1-em width in case of font combine.
2194         (WebCore::RenderCombineText::adjustTextOrigin):
2195         - Adjust drawing origin point in case of font combine.
2196         (WebCore::RenderCombineText::charactersToRender):
2197         - Return original text instead of current text in case of font combine.
2198         (WebCore::RenderCombineText::combineText):
2199         - This function tries to pack passed text with; 1) the current font as is, 2) the font created
2200         from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
2201         with quarter-width variant.
2202         - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
2203         we give up text-combine as the CSS spec describes.
2204         - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
2205         behave like a single character against text decorations.
2206         * rendering/RenderCombineText.h: Added.
2207         (WebCore::RenderCombineText::isCombined):
2208         (WebCore::RenderCombineText::combinedTextWidth):
2209         - Returns 1-em width in case of font combine.
2210         (WebCore::RenderCombineText::renderName):
2211         (WebCore::toRenderCombineText):
2212         * rendering/RenderText.cpp:
2213         (WebCore::RenderText::widthFromCache):
2214         - Made to call RenderCombineText's combinedTextWidth when the text is combined.
2215         * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
2216         * rendering/style/RenderStyle.h:
2217         (WebCore::InheritedFlags::hasTextCombine):
2218         - Added for a quick test of TextCombine.
2219
2220 2011-01-31  Oliver Hunt  <oliver@apple.com>
2221
2222         Convert markstack to a slot visitor API
2223         https://bugs.webkit.org/show_bug.cgi?id=53219
2224
2225         rolling r77098, r77099, r77100, r77109, and
2226         r77111 back in, along with a few more Qt fix attempts.
2227
2228         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
2229         * WebCore.exp.in:
2230         * bindings/js/DOMWrapperWorld.h:
2231         (WebCore::DOMWrapperWorld::globalData):
2232         * bindings/js/JSAudioConstructor.cpp:
2233         (WebCore::JSAudioConstructor::JSAudioConstructor):
2234         * bindings/js/JSDOMBinding.cpp:
2235         (WebCore::markDOMNodesForDocument):
2236         (WebCore::markDOMObjectWrapper):
2237         (WebCore::markDOMNodeWrapper):
2238         * bindings/js/JSDOMGlobalObject.cpp:
2239         (WebCore::JSDOMGlobalObject::markChildren):
2240         (WebCore::JSDOMGlobalObject::setInjectedScript):
2241         (WebCore::JSDOMGlobalObject::injectedScript):
2242         * bindings/js/JSDOMGlobalObject.h:
2243         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2244         (WebCore::getDOMConstructor):
2245         * bindings/js/JSDOMWindowCustom.cpp:
2246         (WebCore::JSDOMWindow::setLocation):
2247         (WebCore::DialogHandler::dialogCreated):
2248         * bindings/js/JSDOMWindowShell.cpp:
2249         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2250         (WebCore::JSDOMWindowShell::setWindow):
2251         (WebCore::JSDOMWindowShell::markChildren):
2252         (WebCore::JSDOMWindowShell::unwrappedObject):
2253         * bindings/js/JSDOMWindowShell.h:
2254         (WebCore::JSDOMWindowShell::window):
2255         (WebCore::JSDOMWindowShell::setWindow):
2256         * bindings/js/JSDeviceMotionEventCustom.cpp:
2257         (WebCore::createAccelerationObject):
2258         (WebCore::createRotationRateObject):
2259         * bindings/js/JSEventListener.cpp:
2260         (WebCore::JSEventListener::JSEventListener):
2261         (WebCore::JSEventListener::markJSFunction):
2262         * bindings/js/JSEventListener.h:
2263         (WebCore::JSEventListener::jsFunction):
2264         * bindings/js/JSHTMLDocumentCustom.cpp:
2265         (WebCore::JSHTMLDocument::setAll):
2266         * bindings/js/JSImageConstructor.cpp:
2267         (WebCore::JSImageConstructor::JSImageConstructor):
2268         * bindings/js/JSImageDataCustom.cpp:
2269         (WebCore::toJS):
2270         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2271         (WebCore::JSJavaScriptCallFrame::scopeChain):
2272         (WebCore::JSJavaScriptCallFrame::scopeType):
2273         * bindings/js/JSNodeFilterCondition.cpp:
2274         (WebCore::JSNodeFilterCondition::markAggregate):
2275         (WebCore::JSNodeFilterCondition::acceptNode):
2276         * bindings/js/JSNodeFilterCondition.h:
2277         * bindings/js/JSNodeFilterCustom.cpp:
2278         * bindings/js/JSOptionConstructor.cpp:
2279         (WebCore::JSOptionConstructor::JSOptionConstructor):
2280         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2281         (WebCore::JSSQLResultSetRowList::item):
2282         * bindings/js/ScriptCachedFrameData.cpp:
2283         (WebCore::ScriptCachedFrameData::restore):
2284         * bindings/js/ScriptObject.cpp:
2285         (WebCore::ScriptGlobalObject::set):
2286         * bindings/js/SerializedScriptValue.cpp:
2287         (WebCore::CloneDeserializer::putProperty):
2288         * bindings/scripts/CodeGeneratorJS.pm:
2289         * bridge/qt/qt_class.cpp:
2290         (JSC::Bindings::QtClass::fallbackObject):
2291         * bridge/qt/qt_instance.cpp:
2292         (JSC::Bindings::QtInstance::QtInstance):
2293         (JSC::Bindings::QtInstance::removeCachedMethod):
2294         (JSC::Bindings::QtInstance::markAggregate):
2295         * bridge/qt/qt_instance.h:
2296         * bridge/qt/qt_runtime.cpp:
2297         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2298         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2299         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2300         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2301         * bridge/qt/qt_runtime.h:
2302         * dom/Document.h:
2303
2304 2011-01-31  Dan Winship  <danw@gnome.org>
2305
2306         Reviewed by Gustavo Noronha Silva.
2307
2308         wss (websockets ssl) support for gtk via new gio TLS support
2309         https://bugs.webkit.org/show_bug.cgi?id=50344
2310
2311         Update to use GPollableOutputStream and GTlsConnection to
2312         implement wss URLs
2313
2314         * platform/network/soup/SocketStreamHandle.h:
2315         * platform/network/soup/SocketStreamHandleSoup.cpp:
2316         (WebCore::SocketStreamHandle::SocketStreamHandle):
2317         (WebCore::SocketStreamHandle::connected):
2318         (WebCore::SocketStreamHandle::platformSend):
2319         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
2320         (WebCore::writeReadyCallback):
2321
2322 2011-01-31  Abhishek Arya  <inferno@chromium.org>
2323
2324         Reviewed by Dimitri Glazkov.
2325
2326         Check the textarea node still exists in document before casting
2327         it to HTMLTextAreaElement.
2328         https://bugs.webkit.org/show_bug.cgi?id=53429
2329
2330         Test: fast/forms/textarea-node-removed-from-document-crash.html
2331
2332         * rendering/RenderTextControlMultiLine.cpp:
2333         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
2334
2335 2011-01-27  Abhishek Arya  <inferno@chromium.org>
2336
2337         Reviewed by Dave Hyatt.
2338
2339         If beforeChild is wrapped in an anonymous table section, we need to
2340         go the parent to find it and use it before adding childs to table.
2341         https://bugs.webkit.org/show_bug.cgi?id=53276
2342
2343         We need to make sure that beforeChild's parent is "this" before calling
2344         RenderBox::addChild. The previous condition in while is too restrictive
2345         and fails to calculate the right beforeChild value when its display
2346         style is table caption.
2347         Test: fast/table/before-child-non-table-section-add-table-crash.html
2348
2349         * rendering/RenderTable.cpp:
2350         (WebCore::RenderTable::addChild):
2351
2352 2011-01-31  Shane Stephens  <shanestephens@google.com>
2353
2354         Reviewed by Simon Fraser.
2355
2356         AffineTransform::translateRight incorrectly computes a translateLeft.
2357         https://bugs.webkit.org/show_bug.cgi?id=52551
2358
2359         Removed translateRight and converted all uses to perform standard
2360         matrix multiplication.
2361
2362         No new tests because patch doesn't modify functionality.
2363
2364         * platform/graphics/transforms/AffineTransform.cpp:
2365         * platform/graphics/transforms/AffineTransform.h:
2366         (WebCore::AffineTransform::translation):
2367         * rendering/svg/RenderSVGResourceMarker.cpp:
2368         (WebCore::RenderSVGResourceMarker::localToParentTransform):
2369         * rendering/svg/RenderSVGRoot.cpp:
2370         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
2371         (WebCore::RenderSVGRoot::localToParentTransform):
2372         * rendering/svg/RenderSVGViewportContainer.cpp:
2373         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2374         * rendering/svg/SVGTextLayoutEngine.cpp:
2375         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
2376
2377 2011-01-31  Mario Sanchez Prada  <msanchez@igalia.com>
2378
2379         Reviewed by Martin Robinson.
2380
2381         [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
2382         https://bugs.webkit.org/show_bug.cgi?id=53389
2383
2384         Return FALSE when not able to set the caret at the specified offset.
2385
2386         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2387         (webkit_accessible_text_set_caret_offset): Return FALSE when the
2388         range created is NULL and adjust offset to account for list markers.
2389
2390 2011-01-28  Pavel Feldman  <pfeldman@chromium.org>
2391
2392         Reviewed by Yury Semikhatsky.
2393
2394         Web Inspector: copy HAR to clipboard instead of saving blob on export.
2395         https://bugs.webkit.org/show_bug.cgi?id=53328
2396
2397         * inspector/front-end/NetworkPanel.js:
2398         (WebInspector.NetworkPanel.prototype._exportAll):
2399         (WebInspector.NetworkPanel.prototype._exportResource):
2400
2401 2011-01-30  Pavel Feldman  <pfeldman@chromium.org>
2402
2403         Reviewed by Timothy Hatcher.
2404
2405         Web Inspector: speed up network panel rendering.
2406         https://bugs.webkit.org/show_bug.cgi?id=53397
2407
2408         * inspector/front-end/DataGrid.js:
2409         (WebInspector.DataGrid.prototype.get scrollContainer):
2410         * inspector/front-end/NetworkPanel.js:
2411         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
2412         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2413         (WebInspector.NetworkPanel.prototype._createTable):
2414         (WebInspector.NetworkPanel.prototype._exportResource):
2415         (WebInspector.NetworkPanel.prototype._onScroll):
2416         * inspector/front-end/networkPanel.css:
2417         (.network-sidebar .data-grid.small tr.offscreen):
2418         (.network-sidebar .data-grid tr.offscreen):
2419         (.network-sidebar .data-grid tr.offscreen td):
2420
2421 2011-01-31  Peter Varga  <pvarga@webkit.org>
2422
2423         Reviewed by Andreas Kling.
2424
2425         Remove wrec from WebCore
2426         https://bugs.webkit.org/show_bug.cgi?id=53298
2427
2428         No new tests needed.
2429
2430         * Android.jscbindings.mk:
2431         * ForwardingHeaders/wrec/WREC.h: Removed.
2432         * WebCore.vcproj/WebCore.vcproj:
2433         * WebCore.vcproj/copyForwardingHeaders.cmd:
2434
2435 2011-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2436
2437         Unreviewed, rolling out r76969.
2438         http://trac.webkit.org/changeset/76969
2439         https://bugs.webkit.org/show_bug.cgi?id=53418
2440
2441         "It is causing crashes in GTK+ and Leopard bots" (Requested by
2442         alexg__ on #webkit).
2443
2444         * bridge/runtime_root.cpp:
2445         (JSC::Bindings::RootObject::invalidate):
2446         (JSC::Bindings::RootObject::addRuntimeObject):
2447         (JSC::Bindings::RootObject::removeRuntimeObject):
2448         * bridge/runtime_root.h:
2449
2450 2011-01-31  Antti Koivisto  <antti@apple.com>
2451
2452         Not reviewed.
2453
2454         Spelling.
2455
2456         * css/CSSSelectorList.h:
2457         (WebCore::CSSSelectorList::next):
2458
2459 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
2460
2461         Unreviewed. Fix Chromium compilation on Linux.
2462
2463         * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
2464         * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
2465
2466 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
2467
2468         Unreviewed. Fix Chromium compilation on Mac broken by r77101.
2469
2470         * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
2471
2472 2011-01-31  Mikhail Naganov  <mnaganov@chromium.org>
2473
2474         Reviewed by Yury Semikhatsky.
2475
2476         WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
2477
2478         https://bugs.webkit.org/show_bug.cgi?id=53309
2479
2480         * English.lproj/localizedStrings.js:
2481         * inspector/front-end/ProfilesPanel.js:
2482         (WebInspector.ProfilesPanel):
2483
2484 2011-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2485
2486         Unreviewed, fix the build with current GTK+ 3.x.
2487
2488         * plugins/gtk/gtk2xtbin.c:
2489         * plugins/gtk/gtk2xtbin.h:
2490
2491 2011-01-30  Kenichi Ishibashi  <bashi@google.com>
2492
2493         Reviewed by Kent Tamura.
2494
2495         Dangling form associated elements should not be registered on the document
2496         https://bugs.webkit.org/show_bug.cgi?id=53223
2497
2498         Adds insertedIntoDocument() and remvoedFromDocument() to
2499         FormAssociatedElement class to register the element on the document
2500         if and only if it actually inserted into (removed from) the document.
2501
2502         Test: fast/forms/dangling-form-element-crash.html
2503
2504         * html/FormAssociatedElement.cpp:
2505         (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
2506         (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
2507         (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
2508         the element to a document.
2509         (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
2510         the element from a document.
2511         * html/FormAssociatedElement.h:
2512         * html/HTMLFormControlElement.cpp:
2513         (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
2514         (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
2515         * html/HTMLFormControlElement.h:
2516         * html/HTMLObjectElement.cpp:
2517         (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
2518         FormAssociatedElement::insertedIntoDocument().
2519         (WebCore::HTMLObjectElement::removedFromDocument): Calls
2520         FormAssociatedElement::removedFromDocument().
2521
2522 2011-01-30  Csaba Osztrogon√°c  <ossy@webkit.org>
2523
2524         Unreviewed, rolling out r77098, r77099, r77100, r77109, and
2525         r77111.
2526         http://trac.webkit.org/changeset/77098
2527         http://trac.webkit.org/changeset/77099
2528         http://trac.webkit.org/changeset/77100
2529         http://trac.webkit.org/changeset/77109
2530         http://trac.webkit.org/changeset/77111
2531         https://bugs.webkit.org/show_bug.cgi?id=53219
2532
2533         Qt build is broken
2534
2535         * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
2536         * WebCore.exp.in:
2537         * bindings/js/DOMWrapperWorld.h:
2538         * bindings/js/JSAudioConstructor.cpp:
2539         (WebCore::JSAudioConstructor::JSAudioConstructor):
2540         * bindings/js/JSDOMBinding.cpp:
2541         (WebCore::markDOMNodesForDocument):
2542         (WebCore::markDOMObjectWrapper):
2543         (WebCore::markDOMNodeWrapper):
2544         * bindings/js/JSDOMGlobalObject.cpp:
2545         (WebCore::JSDOMGlobalObject::markChildren):
2546         (WebCore::JSDOMGlobalObject::setInjectedScript):
2547         (WebCore::JSDOMGlobalObject::injectedScript):
2548         * bindings/js/JSDOMGlobalObject.h:
2549         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2550         (WebCore::getDOMConstructor):
2551         * bindings/js/JSDOMWindowCustom.cpp:
2552         (WebCore::JSDOMWindow::setLocation):
2553         (WebCore::DialogHandler::dialogCreated):
2554         * bindings/js/JSDOMWindowShell.cpp:
2555         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2556         (WebCore::JSDOMWindowShell::setWindow):
2557         (WebCore::JSDOMWindowShell::markChildren):
2558         (WebCore::JSDOMWindowShell::unwrappedObject):
2559         * bindings/js/JSDOMWindowShell.h:
2560         (WebCore::JSDOMWindowShell::window):
2561         (WebCore::JSDOMWindowShell::setWindow):
2562         * bindings/js/JSDeviceMotionEventCustom.cpp:
2563         (WebCore::createAccelerationObject):
2564         (WebCore::createRotationRateObject):
2565         * bindings/js/JSEventListener.cpp:
2566         (WebCore::JSEventListener::JSEventListener):
2567         (WebCore::JSEventListener::markJSFunction):
2568         * bindings/js/JSEventListener.h:
2569         (WebCore::JSEventListener::jsFunction):
2570         * bindings/js/JSHTMLDocumentCustom.cpp:
2571         (WebCore::JSHTMLDocument::setAll):
2572         * bindings/js/JSImageConstructor.cpp:
2573         (WebCore::JSImageConstructor::JSImageConstructor):
2574         * bindings/js/JSImageDataCustom.cpp:
2575         (WebCore::toJS):
2576         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2577         (WebCore::JSJavaScriptCallFrame::scopeChain):
2578         (WebCore::JSJavaScriptCallFrame::scopeType):
2579         * bindings/js/JSNodeFilterCondition.cpp:
2580         (WebCore::JSNodeFilterCondition::markAggregate):
2581         (WebCore::JSNodeFilterCondition::acceptNode):
2582         * bindings/js/JSNodeFilterCondition.h:
2583         * bindings/js/JSNodeFilterCustom.cpp:
2584         * bindings/js/JSOptionConstructor.cpp:
2585         (WebCore::JSOptionConstructor::JSOptionConstructor):
2586         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2587         (WebCore::JSSQLResultSetRowList::item):
2588         * bindings/js/ScriptCachedFrameData.cpp:
2589         (WebCore::ScriptCachedFrameData::restore):
2590         * bindings/js/ScriptObject.cpp:
2591         (WebCore::ScriptGlobalObject::set):
2592         * bindings/js/SerializedScriptValue.cpp:
2593         (WebCore::CloneDeserializer::putProperty):
2594         * bindings/scripts/CodeGeneratorJS.pm:
2595         * bridge/qt/qt_instance.cpp:
2596         (JSC::Bindings::QtInstance::QtInstance):
2597         (JSC::Bindings::QtInstance::removeCachedMethod):
2598         (JSC::Bindings::QtInstance::markAggregate):
2599         * bridge/qt/qt_instance.h:
2600         * bridge/qt/qt_runtime.cpp:
2601         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2602         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2603         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2604         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2605         * bridge/qt/qt_runtime.h:
2606         * bridge/runtime_root.cpp:
2607         (JSC::Bindings::RootObject::invalidate):
2608         * bridge/runtime_root.h:
2609         * dom/Document.h:
2610
2611 2011-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2612
2613         Unreviewed, rolling out r77107.
2614         http://trac.webkit.org/changeset/77107
2615         https://bugs.webkit.org/show_bug.cgi?id=53412
2616
2617         Caused 5 new form-related test crashes (Requested by smfr on
2618         #webkit).
2619
2620         * css/CSSSelector.cpp:
2621         (WebCore::CSSSelector::pseudoId):
2622         (WebCore::nameToPseudoTypeMap):
2623         (WebCore::CSSSelector::extractPseudoType):
2624         * css/CSSSelector.h:
2625         * html/HTMLProgressElement.cpp:
2626         (WebCore::HTMLProgressElement::parseMappedAttribute):
2627         (WebCore::HTMLProgressElement::attach):
2628         * html/HTMLProgressElement.h:
2629         * rendering/RenderProgress.cpp:
2630         (WebCore::RenderProgress::~RenderProgress):
2631         (WebCore::RenderProgress::updateFromElement):
2632         (WebCore::RenderProgress::layoutParts):
2633         (WebCore::RenderProgress::shouldHaveParts):
2634         * rendering/RenderProgress.h:
2635         * rendering/style/RenderStyleConstants.h:
2636
2637 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
2638
2639         Reviewed by Sam Weinig.
2640
2641         Enhance ShadowBlur to render inset box shadows
2642         https://bugs.webkit.org/show_bug.cgi?id=51567
2643         
2644         Use ShadowBlur for inset box-shadows with CG. It 
2645         currently lacks a tiled version, but is still much
2646         faster than CG shadows.
2647
2648         Test: fast/box-shadow/inset-box-shadow-radius.html
2649
2650         * platform/graphics/ShadowBlur.cpp:
2651         * platform/graphics/ShadowBlur.h: New method for inset
2652         shadows.
2653         (WebCore::ShadowBlur::drawInsetShadow): 
2654
2655         * platform/graphics/GraphicsContext.cpp: #ifdef out
2656         fillRectWithRoundedHole() for CG.
2657
2658         * platform/graphics/cg/GraphicsContextCG.cpp:
2659         (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
2660         a shadow with a radius > 0, use ShadowBlur.
2661
2662 2011-01-28  Kenneth Russell  <kbr@google.com>
2663
2664         Reviewed by Chris Marrin.
2665
2666         WebGL shows PNG Textures with indexed colors too dark
2667         https://bugs.webkit.org/show_bug.cgi?id=47477
2668
2669         Properly handle indexed PNG images by re-rendering them as RGBA
2670         images before upload. Verified with this layout test and the test
2671         cases from bugs 47477 and 53269.
2672
2673         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2674         (WebCore::GraphicsContext3D::getImageData):
2675
2676 2011-01-27  MORITA Hajime  <morrita@google.com>
2677
2678         Reviewed by Dimitri Glazkov.
2679         
2680         Convert <progress> shadow DOM to a DOM-based shadow.
2681         https://bugs.webkit.org/show_bug.cgi?id=50660
2682
2683         * Removed RenderProgress::m_valuePart, moved the shadow node
2684           to the shadow root of HTMLProgressElement.
2685         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
2686           ProgressBarValueElement is defined only for overriding
2687           shadowPseudoId().
2688         
2689         No new tests. No behavioral change.
2690
2691         * css/CSSSelector.cpp:
2692         (WebCore::CSSSelector::pseudoId):
2693         (WebCore::nameToPseudoTypeMap):
2694         (WebCore::CSSSelector::extractPseudoType):
2695         * css/CSSSelector.h:
2696         * html/HTMLProgressElement.cpp:
2697         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
2698         (WebCore::ProgressBarValueElement::shadowPseudoId):
2699         (WebCore::ProgressBarValueElement::create):
2700         (WebCore::HTMLProgressElement::parseMappedAttribute):
2701         (WebCore::HTMLProgressElement::attach):
2702         (WebCore::HTMLProgressElement::valuePart):
2703         (WebCore::HTMLProgressElement::didElementStateChange):
2704         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
2705         * html/HTMLProgressElement.h:
2706         * rendering/RenderProgress.cpp:
2707         (WebCore::RenderProgress::~RenderProgress):
2708         (WebCore::RenderProgress::updateFromElement):
2709         (WebCore::RenderProgress::layoutParts):
2710         (WebCore::RenderProgress::shouldHaveParts):
2711         (WebCore::RenderProgress::valuePart):
2712         * rendering/RenderProgress.h:
2713         * rendering/style/RenderStyleConstants.h:
2714
2715 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
2716
2717         Reviewed by Ariya Hidayat.
2718
2719         Enhance ShadowBlur to render inset box shadows; Part 1.
2720         https://bugs.webkit.org/show_bug.cgi?id=51567
2721         
2722         Add a new method to GraphicsContext to render a rect with a rounded hole,
2723         for use by inset box-shadow code. Knowledge that we're rendering a rounded
2724         hole will enable ShadowBlur to be used here in future.
2725
2726         * platform/graphics/GraphicsContext.cpp:
2727         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2728         * platform/graphics/GraphicsContext.h:
2729         * rendering/RenderBoxModelObject.cpp:
2730         (WebCore::RenderBoxModelObject::paintBoxShadow):
2731
2732 2011-01-23  MORITA Hajime  <morrita@google.com>
2733
2734         Reviewed by Eric Seidel.
2735
2736         REGRESSION: Inset shadow with too large border radius misses rounded corner.
2737         https://bugs.webkit.org/show_bug.cgi?id=52800
2738
2739         The refactoring on r76083 broke the invariant between border
2740         IntRect and its radii because RoundedIntRect::setRect() is called
2741         after getRoundedInnerBorderWithBorderWidths(), which enforces the
2742         invariant. Th rounded-rect clipping code verifies the invariant,
2743         and discard the invalid radii, that results broken paintings.
2744         
2745         This change moved setRect() before
2746         getRoundedInnerBorderWithBorderWidths() not to modify the valid
2747         RoundedIntRect value.
2748         
2749         Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
2750
2751         * rendering/RenderBoxModelObject.cpp:
2752         (WebCore::RenderBoxModelObject::paintBoxShadow):
2753
2754 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
2755
2756         Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
2757         vcproj.
2758
2759         * WebCore.vcproj/WebCore.vcproj:
2760
2761 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
2762
2763         Reviewed by Dan Bernstein.
2764
2765         -webkit-box-shadow causes awful scroll/resize/redraw performance
2766         https://bugs.webkit.org/show_bug.cgi?id=22102
2767         
2768         Use ShadowBlur for CG, whe rendering shadows on rects and
2769         rounded rects outside of canvas.
2770         
2771         CG shadows with a radius of more than 8px do not render
2772         correctly. We preserve this incorrect rendering by compensating
2773         for it when rending -webkit-box-shadow. Calls that should use
2774         this deprecated radius behavior now use setLegacyShadow().
2775
2776         Test: fast/box-shadow/box-shadow-transformed.html
2777         
2778         * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
2779         for canvas, to indicate that it should use the deprecated radius
2780         behavior.
2781         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
2782         (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
2783         (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
2784         
2785         * platform/graphics/GraphicsContext.cpp:
2786         (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
2787         
2788         * platform/graphics/GraphicsContext.h:
2789         (WebCore::GraphicsContextState::GraphicsContextState): Add a 
2790         shadowsUseLegacyRadius bit to the state.
2791         
2792         * platform/graphics/cg/GraphicsContextCG.cpp:
2793         (WebCore::radiusToLegacyRadius): Map from the actual radius to one
2794         that approximates CG behavior.
2795         (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
2796         with a non-zero blur radius.
2797         (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
2798         (WebCore::GraphicsContext::fillRoundedRect): Ditto.
2799         (WebCore::GraphicsContext::setPlatformShadow): Comment.
2800
2801         * rendering/RenderBoxModelObject.cpp:
2802         (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
2803         for -webkit-box-shadow.
2804
2805         * platform/graphics/ShadowBlur.cpp: 
2806         (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
2807         by rounding up the blur radius.
2808         (WebCore::ShadowBlur::drawRectShadow): Ditto
2809         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
2810
2811 2011-01-30  Oliver Hunt  <oliver@apple.com>
2812
2813         Try to fix Qt build (again).
2814
2815         * bridge/qt/qt_runtime.cpp:
2816         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2817         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2818
2819 2011-01-30  Oliver Hunt  <oliver@apple.com>
2820
2821         Try to fix Qt build.
2822
2823         * bridge/qt/qt_instance.cpp:
2824         (JSC::Bindings::QtInstance::QtInstance):
2825         (JSC::Bindings::QtInstance::removeCachedMethod):
2826         (JSC::Bindings::QtInstance::markAggregate):
2827         * bridge/qt/qt_instance.h:
2828
2829 2011-01-30  Oliver Hunt  <oliver@apple.com>
2830
2831         Convert markstack to a slot visitor API
2832         https://bugs.webkit.org/show_bug.cgi?id=53219
2833
2834         rolling r77006 and r77020 back in.
2835
2836         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
2837         * WebCore.exp.in:
2838         * bindings/js/DOMWrapperWorld.h:
2839         (WebCore::DOMWrapperWorld::globalData):
2840         * bindings/js/JSAudioConstructor.cpp:
2841         (WebCore::JSAudioConstructor::JSAudioConstructor):
2842         * bindings/js/JSDOMBinding.cpp:
2843         (WebCore::markDOMNodesForDocument):
2844         (WebCore::markDOMObjectWrapper):
2845         (WebCore::markDOMNodeWrapper):
2846         * bindings/js/JSDOMGlobalObject.cpp:
2847         (WebCore::JSDOMGlobalObject::markChildren):
2848         (WebCore::JSDOMGlobalObject::setInjectedScript):
2849         (WebCore::JSDOMGlobalObject::injectedScript):
2850         * bindings/js/JSDOMGlobalObject.h:
2851         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2852         (WebCore::getDOMConstructor):
2853         * bindings/js/JSDOMWindowCustom.cpp:
2854         (WebCore::JSDOMWindow::setLocation):
2855         (WebCore::DialogHandler::dialogCreated):
2856         * bindings/js/JSDOMWindowShell.cpp:
2857         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2858         (WebCore::JSDOMWindowShell::setWindow):
2859         (WebCore::JSDOMWindowShell::markChildren):
2860         (WebCore::JSDOMWindowShell::unwrappedObject):
2861         * bindings/js/JSDOMWindowShell.h:
2862         (WebCore::JSDOMWindowShell::window):
2863         (WebCore::JSDOMWindowShell::setWindow):
2864         * bindings/js/JSDeviceMotionEventCustom.cpp:
2865         (WebCore::createAccelerationObject):
2866         (WebCore::createRotationRateObject):
2867         * bindings/js/JSEventListener.cpp:
2868         (WebCore::JSEventListener::JSEventListener):
2869         (WebCore::JSEventListener::markJSFunction):
2870         * bindings/js/JSEventListener.h:
2871         (WebCore::JSEventListener::jsFunction):
2872         * bindings/js/JSHTMLDocumentCustom.cpp:
2873         (WebCore::JSHTMLDocument::setAll):
2874         * bindings/js/JSImageConstructor.cpp:
2875         (WebCore::JSImageConstructor::JSImageConstructor):
2876         * bindings/js/JSImageDataCustom.cpp:
2877         (WebCore::toJS):
2878         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2879         (WebCore::JSJavaScriptCallFrame::scopeChain):
2880         (WebCore::JSJavaScriptCallFrame::scopeType):
2881         * bindings/js/JSNodeFilterCondition.cpp:
2882         (WebCore::JSNodeFilterCondition::markAggregate):
2883         (WebCore::JSNodeFilterCondition::acceptNode):
2884         * bindings/js/JSNodeFilterCondition.h:
2885         * bindings/js/JSNodeFilterCustom.cpp:
2886         * bindings/js/JSOptionConstructor.cpp:
2887         (WebCore::JSOptionConstructor::JSOptionConstructor):
2888         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2889         (WebCore::JSSQLResultSetRowList::item):
2890         * bindings/js/ScriptCachedFrameData.cpp:
2891         (WebCore::ScriptCachedFrameData::restore):
2892         * bindings/js/ScriptObject.cpp:
2893         (WebCore::ScriptGlobalObject::set):
2894         * bindings/js/SerializedScriptValue.cpp:
2895         (WebCore::CloneDeserializer::putProperty):
2896         * bindings/scripts/CodeGeneratorJS.pm:
2897         * bridge/qt/qt_runtime.cpp:
2898         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2899         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
2900         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2901         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2902         * bridge/qt/qt_runtime.h:
2903         * bridge/runtime_root.cpp:
2904         (JSC::Bindings::RootObject::invalidate):
2905         * bridge/runtime_root.h:
2906         * dom/Document.h:
2907
2908 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
2909
2910         Reviewed by Sam Weinig.
2911
2912         Make ContextShadow code cross-platform
2913         https://bugs.webkit.org/show_bug.cgi?id=51312
2914
2915         Add a new class, ShadowBlur, that contains most of the
2916         code from ContextShadow, but is fully cross-platform.
2917         It depends on one new method, GraphicsContext::clipBounds(),
2918         which platforms will have to implement.
2919         
2920         Add ShadowBlur to the Mac Xcode project, but don't use it
2921         anywhere yet.
2922
2923         * WebCore.xcodeproj/project.pbxproj:
2924         * platform/graphics/GraphicsContext.cpp:
2925         (WebCore::GraphicsContext::clipBounds):
2926         * platform/graphics/GraphicsContext.h:
2927         * platform/graphics/ShadowBlur.cpp: Added.
2928         (WebCore::roundUpToMultipleOf32):
2929         (WebCore::ScratchBuffer::ScratchBuffer):
2930         (WebCore::ScratchBuffer::getScratchBuffer):
2931         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
2932         (WebCore::ScratchBuffer::timerFired):
2933         (WebCore::ScratchBuffer::clearScratchBuffer):
2934         (WebCore::ScratchBuffer::shared):
2935         (WebCore::ShadowBlur::ShadowBlur):
2936         (WebCore::ShadowBlur::blurLayerImage):
2937         (WebCore::ShadowBlur::adjustBlurDistance):
2938         (WebCore::ShadowBlur::calculateLayerBoundingRect):
2939         (WebCore::ShadowBlur::beginShadowLayer):
2940         (WebCore::ShadowBlur::endShadowLayer):
2941         (WebCore::ShadowBlur::drawRectShadow):
2942         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2943         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2944         (WebCore::ShadowBlur::clipBounds):
2945         * platform/graphics/ShadowBlur.h: Added.
2946         (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
2947         (WebCore::ShadowBlur::shadowsIgnoreTransforms):
2948         * platform/graphics/cg/GraphicsContextCG.cpp:
2949         (WebCore::GraphicsContext::clipBounds):
2950
2951 2011-01-29  Simon Fraser  <simon.fraser@apple.com>
2952
2953         Reviewed by Dan Bernstein.
2954
2955         CSS3 gradients with em-based stops fail to repaint when font size changes
2956         https://bugs.webkit.org/show_bug.cgi?id=51845
2957         
2958         Mark as uncacheable gradidients whose color stops depend on font size,
2959         and don't attempt to put these into CSSImageGeneratorValue's image cache.
2960         This means we return a new gradient each time, which is fairly cheap, and
2961         fixes repaint issues under changing font size.
2962
2963         Test: fast/repaint/gradients-em-stops-repaint.html
2964
2965         * css/CSSGradientValue.cpp:
2966         (WebCore::CSSGradientValue::image):
2967         (WebCore::CSSGradientValue::isCacheable):
2968         * css/CSSGradientValue.h:
2969
2970 2011-01-29  Geoffrey Garen  <ggaren@apple.com>
2971
2972         Undo try to fix the Qt build.
2973         
2974         My guess didn't work.
2975
2976         * WebCore.pro:
2977
2978 2011-01-29  Geoffrey Garen  <ggaren@apple.com>
2979
2980         Try to fix the Qt build.
2981
2982         * WebCore.pro: Added platform/text/CharacterNames.h.
2983
2984 2011-01-28  Geoffrey Garen  <ggaren@apple.com>
2985
2986         Reviewed by Maciej Stachowiak.
2987
2988         Some more Heap cleanup.
2989         https://bugs.webkit.org/show_bug.cgi?id=53357
2990         
2991         Updated for JavaScriptCore changes.
2992
2993         * bindings/js/ScriptGCEvent.cpp:
2994         (WebCore::ScriptGCEvent::getHeapSize):
2995
2996 2011-01-29  Adam Barth  <abarth@webkit.org>
2997
2998         Reviewed by Daniel Bates.
2999
3000         Fix XSSFilter crash when extracting the source for a token twice
3001         https://bugs.webkit.org/show_bug.cgi?id=53368
3002
3003         Previously, it was unsafe to extract the source for the same token
3004         twice because the HTMLSourceTracker would advance its internal
3005         representation of the SegmentedString.  This patch introduces a cache
3006         to make calling HTMLSourceTracker::sourceForToken multiple times safe.
3007
3008         * html/parser/HTMLSourceTracker.cpp:
3009         (WebCore::HTMLSourceTracker::end):
3010         (WebCore::HTMLSourceTracker::sourceForToken):
3011         * html/parser/HTMLSourceTracker.h:
3012
3013 2011-01-29  Maciej Stachowiak  <mjs@apple.com>
3014
3015         Reviewed by Dan Bernstein.
3016
3017         Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
3018         https://bugs.webkit.org/show_bug.cgi?id=53386
3019
3020         * platform/mac/ScrollAnimatorMac.mm:
3021         (WebCore::elasticDeltaForReboundDelta):
3022         (WebCore::scrollWheelMultiplier):
3023         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3024         (WebCore::ScrollAnimatorMac::beginScrollGesture):
3025         (WebCore::roundTowardZero):
3026         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3027
3028 2011-01-29  Daniel Bates  <dbates@rim.com>
3029
3030         Reviewed by Maciej Stachowiak.
3031
3032         Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
3033         https://bugs.webkit.org/show_bug.cgi?id=53382
3034
3035         Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
3036         So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
3037         Therefore, we should remove such references.
3038
3039         * CMakeLists.txt:
3040
3041 2011-01-29  Sam Weinig  <sam@webkit.org>
3042
3043         Reviewed by Jon Honeycutt.
3044
3045         Fix 32-bit build on the Mac.
3046
3047         * platform/mac/ScrollAnimatorMac.mm:
3048         (WebCore::roundTowardZero):
3049         (WebCore::roundToDevicePixelTowardZero):
3050         Use floats instead of doubles to avoid double-to-float conversion
3051         issues.
3052
3053 2011-01-29  Simon Fraser  <simon.fraser@apple.com>
3054
3055         Reviewed by Adam Barth.
3056
3057         Use clampToInteger() functions in a few places
3058         https://bugs.webkit.org/show_bug.cgi?id=53363
3059         
3060         * css/CSSStyleSelector.cpp:
3061         (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
3062         (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
3063         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
3064         (WebCore::PerspectiveTransformOperation::blend): Ditto.
3065
3066 2011-01-29  Patrick Gansterer  <paroga@webkit.org>
3067
3068         Reviewed by David Kilzer.
3069
3070         Move CharacterNames.h into WTF directory
3071         https://bugs.webkit.org/show_bug.cgi?id=49618
3072
3073         * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
3074         * GNUmakefile.am:
3075         * WebCore.gypi:
3076         * WebCore.vcproj/WebCore.vcproj:
3077         * WebCore.xcodeproj/project.pbxproj:
3078         * accessibility/AccessibilityObject.cpp:
3079         * accessibility/AccessibilityRenderObject.cpp:
3080         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
3081         * bindings/js/JSHTMLDocumentCustom.cpp:
3082         * dom/Position.cpp:
3083         * dom/SelectElement.cpp:
3084         * editing/CompositeEditCommand.cpp:
3085         * editing/Editor.cpp:
3086         * editing/HTMLInterchange.cpp:
3087         * editing/InsertTextCommand.cpp:
3088         * editing/MarkupAccumulator.cpp:
3089         * editing/TextIterator.cpp:
3090         * editing/VisibleSelection.cpp:
3091         * editing/htmlediting.cpp:
3092         * editing/htmlediting.h:
3093         * editing/markup.cpp:
3094         * html/FTPDirectoryDocument.cpp:
3095         * html/HTMLFormControlElement.cpp:
3096         * html/parser/HTMLTreeBuilder.cpp:
3097         * loader/appcache/ManifestParser.cpp:
3098         * platform/chromium/PopupMenuChromium.cpp:
3099         * platform/graphics/Font.h:
3100         * platform/graphics/FontFastPath.cpp:
3101         * platform/graphics/GlyphPageTreeNode.cpp:
3102         * platform/graphics/StringTruncator.cpp:
3103         * platform/graphics/mac/ComplexTextController.cpp:
3104         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
3105         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3106         * platform/mac/PasteboardMac.mm:
3107         * platform/text/TextCodecICU.cpp:
3108         * platform/text/mac/TextCodecMac.cpp:
3109         * platform/text/transcoder/FontTranscoder.cpp:
3110         * rendering/RenderBlockLineLayout.cpp:
3111         * rendering/RenderFlexibleBox.cpp:
3112         * rendering/RenderListMarker.cpp:
3113         * rendering/RenderText.cpp:
3114         * rendering/RenderTextControl.cpp:
3115         * rendering/RenderTreeAsText.cpp:
3116         * rendering/break_lines.cpp:
3117         * rendering/mathml/RenderMathMLOperator.h:
3118         * websockets/WebSocketHandshake.cpp:
3119         * wml/WMLTableElement.cpp:
3120
3121 2011-01-29  Dan Winship  <danw@gnome.org>
3122
3123         Reviewed by Xan Lopez.
3124
3125         [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
3126         libsoup 2.33.1 now.
3127         https://bugs.webkit.org/show_bug.cgi?id=50675
3128
3129         * platform/network/soup/CookieJarSoup.cpp:
3130         (WebCore::defaultCookieJar):
3131         (WebCore::setCookies):
3132         * platform/network/soup/ResourceHandleSoup.cpp:
3133         (WebCore::ResourceHandle::prepareForURL):
3134         (WebCore::restartedCallback):
3135         (WebCore::startHttp):
3136         * platform/network/soup/ResourceRequestSoup.cpp:
3137         (WebCore::ResourceRequest::updateSoupMessage):
3138         (WebCore::ResourceRequest::toSoupMessage):
3139         (WebCore::ResourceRequest::updateFromSoupMessage):
3140
3141 2011-01-29  Adam Barth  <abarth@webkit.org>
3142
3143         Reviewed by Daniel Bates.
3144
3145         XSSFilter should replace URLs with about:blank instead of the empty string
3146         https://bugs.webkit.org/show_bug.cgi?id=53370
3147
3148         Using the empty string will make the URL complete to the current
3149         document's URL, which isn't really what we want.  Instead, we want to
3150         use about:blank, which is safe.
3151
3152         * html/parser/XSSFilter.cpp:
3153         (WebCore::XSSFilter::filterObjectToken):
3154         (WebCore::XSSFilter::filterEmbedToken):
3155
3156 2011-01-29  Adam Barth  <abarth@webkit.org>
3157
3158         Reviewed by Daniel Bates.
3159
3160         XSSFilter should pass xssAuditor/script-tag-addslashes*
3161         https://bugs.webkit.org/show_bug.cgi?id=53365
3162
3163         We need to canonicalize strings to avoid being tricked by addslashes.
3164
3165         * html/parser/XSSFilter.cpp:
3166         (WebCore::HTMLNames::isNonCanonicalCharacter):
3167             - This function is copied from the XSSAuditor (with some tweaks).
3168               We'll eventually remove the XSSAuditor once we've got XSSFilter
3169               working properly.
3170         (WebCore::HTMLNames::canonicalize):
3171         (WebCore::HTMLNames::decodeURL):
3172         (WebCore::XSSFilter::isContainedInRequest):
3173
3174 2011-01-29  Adam Barth  <abarth@webkit.org>
3175
3176         Reviewed by Daniel Bates.
3177
3178         XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
3179         and xssAuditor/script-tag-post-*
3180         https://bugs.webkit.org/show_bug.cgi?id=53364
3181
3182         We're supposed to allow loading same-origin resources even if they
3183         appear as part of the request.
3184
3185         Also, we're supposed to look at the POST data too.  :)
3186
3187         * html/parser/XSSFilter.cpp:
3188         (WebCore::XSSFilter::eraseAttributeIfInjected):
3189         (WebCore::XSSFilter::isSameOriginResource):
3190             - Copy/paste from XSSAuditor::isSameOriginResource.  We'll
3191               eventually remove the XSSAuditor version when XSSFilter is done.
3192         * html/parser/XSSFilter.h:
3193
3194 2011-01-29  Adam Barth  <abarth@webkit.org>
3195
3196         Reviewed by Daniel Bates.
3197
3198         XSSFilter should pass 16 of the xssAuditor/script-tag* tests
3199         https://bugs.webkit.org/show_bug.cgi?id=53362
3200
3201         Turns out we need to replace the src attribute of script tags with
3202         about:blank to avoid loading the main document URL as a script.  Also,
3203         move misplaced return statement that was triggering the console message
3204         too often.
3205
3206         * html/parser/HTMLToken.h:
3207         (WebCore::HTMLToken::appendToAttributeValue):
3208         * html/parser/XSSFilter.cpp:
3209         (WebCore::XSSFilter::filterScriptToken):
3210         (WebCore::XSSFilter::eraseAttributeIfInjected):
3211         * html/parser/XSSFilter.h:
3212
3213 2011-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
3214
3215         Downloads in WK2 on Windows should write resume data to bundle
3216         https://bugs.webkit.org/show_bug.cgi?id=53282
3217         <rdar://problem/8753077>
3218
3219         Reviewed by Alice Liu.
3220
3221         * WebCore.vcproj/WebCore.vcproj:
3222         Added new files to project.
3223
3224         * platform/network/cf/DownloadBundle.h: Added.
3225         * platform/network/win/DownloadBundleWin.cpp: Added.
3226         (WebCore::DownloadBundle::magicNumber):
3227         Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
3228         it.
3229         (WebCore::DownloadBundle::fileExtension):
3230         Ditto.
3231         (WebCore::DownloadBundle::appendResumeData):
3232         Ditto - but modified to return bool rather than HRESULT and to clean up
3233         whitespace.
3234         (WebCore::DownloadBundle::extractResumeData):
3235         Ditto - modified to clean up whitespace.
3236
3237 2011-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3238
3239         Unreviewed, rolling out r77050.
3240         http://trac.webkit.org/changeset/77050
3241         https://bugs.webkit.org/show_bug.cgi?id=53371
3242
3243         Caused a crash in Chromium's test_shell_tests (Requested by
3244         rniwa on #webkit).
3245
3246         * html/parser/HTMLTreeBuilder.cpp:
3247         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3248         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
3249         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3250         * html/parser/HTMLTreeBuilder.h:
3251
3252 2011-01-28  Eric Seidel  <eric@webkit.org>
3253
3254         Reviewed by Darin Adler.
3255
3256         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3257         https://bugs.webkit.org/show_bug.cgi?id=48719
3258
3259         It's unclear exactly what the Peacekeeper benchmark is testing,
3260         because I haven't found a way to run it myself.
3261
3262         However, I constructed a benchmark which shows at least one possible slow point.
3263         The HTML5 spec talks about creating a new document for every time we use
3264         the fragment parsing algorithm.  Document() it turns out, it a huge bloated
3265         mess, and the constructor and destructor do a huge amount of work.
3266         To avoid constructing (or destructing) documents for each innerHTML call,
3267         this patch adds a shared dummy document used by all innerHTML calls.
3268
3269         This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
3270         to only 1.5x slower than Safari 5.  I'm sure there is more work to do here.
3271
3272         Saving a shared Document like this is error prone.  Currently
3273         DummyDocumentFactory::releaseDocument() calls removeAllChildren()
3274         in an attempt to clear the Document's state. However it's possible
3275         that that call is not sufficient and we'll have future bugs here.
3276
3277         * html/parser/HTMLTreeBuilder.cpp:
3278         (WebCore::DummyDocumentFactory::createDummyDocument):
3279         (WebCore::DummyDocumentFactory::releaseDocument):
3280         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3281         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
3282         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3283         * html/parser/HTMLTreeBuilder.h:
3284
3285 2011-01-28  Johnny Ding  <jnd@chromium.org>
3286
3287         Reviewed by Adam Barth.
3288
3289         Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
3290         The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
3291         https://bugs.webkit.org/show_bug.cgi?id=53244
3292
3293         Test: fast/events/popup-blocked-from-iframe-src.html
3294
3295         * bindings/ScriptControllerBase.cpp:
3296         (WebCore::ScriptController::executeIfJavaScriptURL):
3297
3298 2011-01-28  Simon Fraser  <simon.fraser@apple.com>
3299
3300         Reviewed by Gavin Barraclough.
3301
3302         Add various clampToInt() methods to MathExtras.h
3303         https://bugs.webkit.org/show_bug.cgi?id=52910
3304
3305         Use clampToInteger() from MathExtras.h
3306
3307         * css/CSSParser.cpp:
3308         (WebCore::CSSParser::parseCounter):
3309
3310 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3311
3312         Unreviewed, rolling out r77006 and r77020.
3313         http://trac.webkit.org/changeset/77006
3314         http://trac.webkit.org/changeset/77020
3315         https://bugs.webkit.org/show_bug.cgi?id=53360
3316
3317         "Broke Windows tests" (Requested by rniwa on #webkit).
3318
3319         * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
3320         * WebCore.exp.in:
3321         * bindings/js/DOMWrapperWorld.h:
3322         * bindings/js/JSAudioConstructor.cpp:
3323         (WebCore::JSAudioConstructor::JSAudioConstructor):
3324         * bindings/js/JSDOMBinding.cpp:
3325         (WebCore::markDOMNodesForDocument):
3326         (WebCore::markDOMObjectWrapper):
3327         (WebCore::markDOMNodeWrapper):
3328         * bindings/js/JSDOMGlobalObject.cpp:
3329         (WebCore::JSDOMGlobalObject::markChildren):
3330         (WebCore::JSDOMGlobalObject::setInjectedScript):
3331         (WebCore::JSDOMGlobalObject::injectedScript):
3332         * bindings/js/JSDOMGlobalObject.h:
3333         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3334         (WebCore::getDOMConstructor):
3335         * bindings/js/JSDOMWindowCustom.cpp:
3336         (WebCore::JSDOMWindow::setLocation):
3337         (WebCore::DialogHandler::dialogCreated):
3338         * bindings/js/JSDOMWindowShell.cpp:
3339         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3340         (WebCore::JSDOMWindowShell::setWindow):
3341         (WebCore::JSDOMWindowShell::markChildren):
3342         (WebCore::JSDOMWindowShell::unwrappedObject):
3343         * bindings/js/JSDOMWindowShell.h:
3344         (WebCore::JSDOMWindowShell::window):
3345         (WebCore::JSDOMWindowShell::setWindow):
3346         * bindings/js/JSDeviceMotionEventCustom.cpp:
3347         (WebCore::createAccelerationObject):
3348         (WebCore::createRotationRateObject):
3349         * bindings/js/JSEventListener.cpp:
3350         (WebCore::JSEventListener::JSEventListener):
3351         (WebCore::JSEventListener::markJSFunction):
3352         * bindings/js/JSEventListener.h:
3353         (WebCore::JSEventListener::jsFunction):
3354         * bindings/js/JSHTMLDocumentCustom.cpp:
3355         (WebCore::JSHTMLDocument::setAll):
3356         * bindings/js/JSImageConstructor.cpp:
3357         (WebCore::JSImageConstructor::JSImageConstructor):
3358         * bindings/js/JSImageDataCustom.cpp:
3359         (WebCore::toJS):
3360         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3361         (WebCore::JSJavaScriptCallFrame::scopeChain):
3362         (WebCore::JSJavaScriptCallFrame::scopeType):
3363         * bindings/js/JSNodeFilterCondition.cpp:
3364         (WebCore::JSNodeFilterCondition::markAggregate):
3365         (WebCore::JSNodeFilterCondition::acceptNode):
3366         * bindings/js/JSNodeFilterCondition.h:
3367         * bindings/js/JSNodeFilterCustom.cpp:
3368         * bindings/js/JSOptionConstructor.cpp:
3369         (WebCore::JSOptionConstructor::JSOptionConstructor):
3370         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3371         (WebCore::JSSQLResultSetRowList::item):
3372         * bindings/js/ScriptCachedFrameData.cpp:
3373         (WebCore::ScriptCachedFrameData::restore):
3374         * bindings/js/ScriptObject.cpp:
3375         (WebCore::ScriptGlobalObject::set):
3376         * bindings/js/SerializedScriptValue.cpp:
3377         (WebCore::CloneDeserializer::putProperty):
3378         * bindings/scripts/CodeGeneratorJS.pm:
3379         * bridge/qt/qt_runtime.cpp:
3380         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3381         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3382         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3383         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3384         * bridge/qt/qt_runtime.h:
3385         * bridge/runtime_root.cpp:
3386         (JSC::Bindings::RootObject::invalidate):
3387         * bridge/runtime_root.h:
3388         * dom/Document.h:
3389
3390 2011-01-28  Adam Barth  <abarth@webkit.org>
3391
3392         Reviewed by Eric Seidel.
3393
3394         XSSFilter should log to the console when it blocks something
3395         https://bugs.webkit.org/show_bug.cgi?id=53354
3396
3397         This patch refactors a bunch of methods in XSSFilter to return a bool
3398         indicating whether they blocked anything.  Using this bool, we decide
3399         whether to log to the console.  We're using the same log message as the
3400         XSSAuditor, but it seems likely we can improve this message in the
3401         future (especially by piping in the correct line number, which is now
3402         accessible via the parser).
3403
3404         * html/parser/XSSFilter.cpp:
3405         (WebCore::HTMLNames::isNameOfInlineEventHandler):
3406         (WebCore::XSSFilter::filterToken):
3407         (WebCore::XSSFilter::filterTokenInitial):
3408         (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
3409         (WebCore::XSSFilter::filterScriptToken):
3410         (WebCore::XSSFilter::filterObjectToken):
3411         (WebCore::XSSFilter::filterEmbedToken):
3412         (WebCore::XSSFilter::filterAppletToken):
3413         (WebCore::XSSFilter::filterMetaToken):
3414         (WebCore::XSSFilter::filterBaseToken):
3415         (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
3416         * html/parser/XSSFilter.h:
3417
3418 2011-01-28  Adam Barth  <abarth@webkit.org>
3419
3420         Reviewed by Daniel Bates.
3421
3422         Wire up settings->xssAuditorEnabled to XSSFilter
3423         https://bugs.webkit.org/show_bug.cgi?id=53345
3424
3425         * html/parser/XSSFilter.cpp:
3426         (WebCore::XSSFilter::XSSFilter):
3427         (WebCore::XSSFilter::filterToken):
3428         * html/parser/XSSFilter.h:
3429
3430 2011-01-28  Adam Barth  <abarth@webkit.org>
3431
3432         Reviewed by Daniel Bates.
3433
3434         Teach XSSFilter about <meta> and <base> tags
3435         https://bugs.webkit.org/show_bug.cgi?id=53339
3436
3437         I'm not 100% sure we need to block <meta http-equiv>, but it seems
3438         prudent given how powerful that attribute is.  We definitely need to
3439         block injection of <base href> because that can redirect script tags
3440         that use relative URLs.
3441
3442         * html/parser/XSSFilter.cpp:
3443         (WebCore::XSSFilter::filterToken):
3444         (WebCore::XSSFilter::filterMetaToken):
3445         (WebCore::XSSFilter::filterBaseToken):
3446         * html/parser/XSSFilter.h:
3447
3448 2011-01-28  Adam Barth  <abarth@webkit.org>
3449
3450         Reviewed by Daniel Bates.
3451
3452         Teach XSSFilter about <applet>
3453         https://bugs.webkit.org/show_bug.cgi?id=53338
3454
3455         HTML5 is pretty light on information about how the <applet> tag works.
3456         According to this site:
3457
3458         http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
3459
3460         The "code" and "object" attributes are the essential attributes for
3461         determining which piece of Java to run.  We might need to expand to the
3462         codebase and archive attributes at some point, but hopefully code and
3463         object will be sufficient.
3464
3465         * html/parser/XSSFilter.cpp:
3466         (WebCore::XSSFilter::filterToken):
3467         (WebCore::XSSFilter::filterAppletToken):
3468         * html/parser/XSSFilter.h:
3469
3470 2011-01-28  Adam Barth  <abarth@webkit.org>
3471
3472         Reviewed by Daniel Bates.
3473
3474         Teach the XSSFilter about object and embed tags
3475         https://bugs.webkit.org/show_bug.cgi?id=53336
3476
3477         For <object> and <embed>, we filter out attribute values that either
3478         indicate which piece of media to load or which plugin to load.  In a
3479         perfect world, we'd only need to filter out the URLs of the media, but
3480         some plug-ins (like Flash) have lots of fun places you can hide the
3481         URL (e.g., the "movie" <param>).
3482
3483         * html/parser/XSSFilter.cpp:
3484         (WebCore::XSSFilter::filterToken):
3485         (WebCore::XSSFilter::filterScriptToken):
3486         (WebCore::XSSFilter::filterObjectToken):
3487         (WebCore::XSSFilter::filterEmbedToken):
3488         (WebCore::XSSFilter::eraseAttributeIfInjected):
3489         * html/parser/XSSFilter.h:
3490
3491 2011-01-28  Oliver Hunt  <oliver@apple.com>
3492
3493         Fix Qt build.
3494
3495         * bridge/qt/qt_runtime.cpp:
3496         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3497         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
3498         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
3499         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):