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