03ba7d06873f4eb13506562344f63ef61d3f9946
[WebKit-https.git] / WebCore / ChangeLog
1 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         SVGFontFaceElement::rebuildFontFace() should exit when not in document
6         https://bugs.webkit.org/show_bug.cgi?id=51571
7
8         We were hitting a NULL deref crash. Since most of the callers checked
9         inDocument() anyway, I moved it into the start of rebuildFontFace.
10
11         Test: svg/custom/use-invalid-font-face.svg
12
13         * svg/SVGFontFaceElement.cpp:
14         (WebCore::SVGFontFaceElement::parseMappedAttribute):
15         (WebCore::SVGFontFaceElement::rebuildFontFace):
16         (WebCore::SVGFontFaceElement::childrenChanged):
17
18 2010-12-24  Justin Schuh  <jschuh@chromium.org>
19
20         Reviewed by Darin Adler.
21
22         Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
23         https://bugs.webkit.org/show_bug.cgi?id=51564
24
25         This check was duplicating an ASSERT for a case fixed in r73927.
26         Now that the bug is fixed the check is no longer necessary.
27
28         Removing dead code, so no new tests needed.
29
30         * css/CSSCanvasValue.cpp:
31         (WebCore::CSSCanvasValue::canvasDestroyed):
32
33 2010-12-23  Evan Martin  <evan@chromium.org>
34
35         Reviewed by Darin Adler.
36
37         ViewportArguments.h uses an enum to intialize a bool
38         https://bugs.webkit.org/show_bug.cgi?id=50982
39
40         Initialize userScalable to true, rather than -1.
41         No tests; fixes a compiler warning.
42
43         * dom/ViewportArguments.h:
44         (WebCore::ViewportArguments::ViewportArguments):
45
46 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
47
48         Reviewed by Adam Barth.
49
50         [Qt] User name/password stripped from URLs
51         https://bugs.webkit.org/show_bug.cgi?id=36232
52
53         If a username but no password or no username but a password is present
54         in a URL, QtWebKit won't send any authentication information down to Qt
55         as it should.
56
57         Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
58                http/tests/xmlhttprequest/basic-auth-nouser.html
59
60         * platform/network/qt/ResourceHandleQt.cpp:
61         (WebCore::ResourceHandle::start):
62         (WebCore::ResourceHandle::loadResourceSynchronously):
63
64 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
65
66         Reviewed by Darin Adler.
67
68         queryCommandValue("FormatBlock") does not respect editing boundaries
69         https://bugs.webkit.org/show_bug.cgi?id=51219
70
71         Fixed the bug by checking the element we found in elementForFormatBlockCommand
72         does not contain the editable root.
73
74         * editing/FormatBlockCommand.cpp:
75         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
76
77 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
78
79         Reviewed by Darin Adler.
80
81         FormatBlock doesn't preserve typing style but it should
82         https://bugs.webkit.org/show_bug.cgi?id=51140
83
84         Fixed the bug by making preserveTypingStyle return true.
85
86         Test: editing/execCommand/format-block-typing-style.html
87
88         * editing/FormatBlockCommand.h:
89         (WebCore::FormatBlockCommand::preservesTypingStyle):
90
91 2010-12-23  Jessie Berlin  <jberlin@apple.com>
92
93         Reviewed by Sam Weinig.
94
95         Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
96         https://bugs.webkit.org/show_bug.cgi?id=51563
97
98         Add SecurityOrigin::create(const String& protocol, const String& host, int port).
99
100         * WebCore.exp.in:
101         Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
102
103         * page/SecurityOrigin.cpp:
104         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
105         Use the constant MaxAllowedPort.
106         (WebCore::SecurityOrigin::create):
107         Sanitizing based off of that done in createFromDatabaseIdentifier.
108         * page/SecurityOrigin.h:
109
110 2010-12-23  Patrick Gansterer  <paroga@webkit.org>
111
112         Unreviewed build fix for WinCE after r73802.
113
114         Reapply r70812:
115         Port ContextMenuItemWin.cpp to WinCE
116         https://bugs.webkit.org/show_bug.cgi?id=48407
117
118         * platform/win/ContextMenuItemWin.cpp:
119
120 2010-12-23  Adam Barth  <abarth@webkit.org>
121
122         Remove include of non-existant file.
123
124         * bindings/v8/custom/V8DOMWindowCustom.cpp:
125
126 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
127
128         Reviewed by Darin Adler.
129
130         Selection becomes stale when CharacterData is manipulated directly
131         https://bugs.webkit.org/show_bug.cgi?id=51389
132
133         The bug was caused by SelectionController's not adjusting selection when CharacterData's
134         m_data is modified by its API.
135
136         Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
137         CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
138         textWillBeReplaced because inserting, replacing, or removing data may require moving
139         the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
140
141         Also fixed the condition for determining whether or not a node intersects the selection
142         in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
143         failed to recognize certain cases when selection started and ended with non-zero offsets.
144
145         Tests: editing/selection/character-data-mutation-crash.html
146                editing/selection/character-data-mutation.html
147
148         * dom/CharacterData.cpp:
149         (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
150         (WebCore::CharacterData::appendData): Ditto.
151         (WebCore::CharacterData::insertData): Ditto.
152         (WebCore::CharacterData::deleteData): Ditto.
153         (WebCore::CharacterData::replaceData): Ditto.
154         (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
155         and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
156         * dom/CharacterData.h:
157         * editing/SelectionController.cpp:
158         (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
159         (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
160         (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
161         fixed the logic to figure out whether a node is inside the range or not.
162         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
163         (WebCore::SelectionController::textWillBeReplaced): Added.
164         * editing/SelectionController.h:
165
166 2010-12-23  Adam Barth  <abarth@webkit.org>
167
168         Reviewed by Darin Adler.
169
170         Remove unneeded V8 bindings files
171         https://bugs.webkit.org/show_bug.cgi?id=51570
172
173         * WebCore.gypi:
174         * bindings/generic/BindingDOMWindow.h: Removed.
175         * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
176
177 2010-12-23  Dan Bernstein  <mitz@apple.com>
178
179         Build fix.
180
181         * editing/EditorCommand.cpp:
182         (WebCore::enabledDismissCorrectionPanel):
183
184 2010-12-23  Darin Adler  <darin@apple.com>
185
186         Try to fix crash seen on GTK bot.
187
188         * editing/EditorCommand.cpp:
189         (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
190
191         * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
192
193 2010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>
194
195         Unreviewed, rolling out r74561.
196         http://trac.webkit.org/changeset/74561
197         https://bugs.webkit.org/show_bug.cgi?id=51565
198
199         "Broke Chromium UI tests on Vista" (Requested by kbr_google on
200         #webkit).
201
202         * platform/graphics/chromium/ImageLayerChromium.cpp:
203         (WebCore::ImageLayerChromium::updateContentsIfDirty):
204         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
205         (WebCore::GraphicsContext3D::getImageData):
206
207 2010-12-23  Mihai Parparita  <mihaip@chromium.org>
208
209         Reviewed by Kent Tamura.
210
211         [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
212         https://bugs.webkit.org/show_bug.cgi?id=51507
213         
214         Adds WebThemeEngine for the Mac (it already has parallel definitions for
215         Windows and Linux) so that scrollbar thumb rendering can be overridden
216         for the DRT (to be consistent with the NSScroller-based rendering
217         used by the Mac port).
218
219         No new tests since the functionality is not exposed yet. Eventually will
220         result in the Chromium/Mac port being able to use the same pixel
221         baselines for layout tests as the Mac port.
222
223         * platform/chromium/ChromiumBridge.h:
224         * platform/chromium/ScrollbarThemeChromiumMac.mm:
225         (WebCore::scrollbarStateToThemeState):
226         (WebCore::ScrollbarThemeChromiumMac::paint):
227
228 2010-12-23  Darin Adler  <darin@apple.com>
229
230         Reviewed by Sam Weinig.
231
232         WKView should not try to do asynchronous validation for selectors that are not editor commands
233         https://bugs.webkit.org/show_bug.cgi?id=51555
234
235         * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
236         * editing/Editor.h: Reordered arguments in the Editor::Command constructor
237         and the data members too so the frame is last. Added
238         commandIsSupportedFromMenuOrKeyBinding.
239
240         * editing/EditorCommand.cpp:
241         (WebCore::supported): Removed the EditorCommandSource argument. These
242         functions are now only used when called from DOM.
243         (WebCore::supportedFromMenuOrKeyBinding): Ditto.
244         (WebCore::supportedCopyCut): Ditto.
245         (WebCore::supportedPaste): Ditto.
246         (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
247         an enabled function. It was incorrect to say that this is "supported" only
248         when the correction panel is up. Correct to say that it is "enabled" only
249         then. And also probably OK to enable it even when the selection is not in
250         editable text, as long as the panel is up.
251         (WebCore::createCommandMap): Moved conditional commands out of the main
252         array into a separate section at the end.
253         (WebCore::internalCommand): Added.
254         (WebCore::Editor::command): Changed to use the new internalCommand function
255         and simplified by relying on the null check in the Command constructor.
256         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
257         (WebCore::Editor::Command::Command): Removed unneeded initialization of
258         m_source, which is never looked at if m_command is 0. Added feature of
259         passing a null command pointer to the non-default constructor.
260         (WebCore::Editor::Command::isSupported): Changed to only call the
261         per-command isSupported function when the command source is DOM.
262         Accordingly that function is now called isSupportedFromDOM.
263
264 2010-12-23  Matthew Delaney  <mdelaney@apple.com>
265
266         Reviewed by Simon Fraser.
267
268         Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
269         https://bugs.webkit.org/show_bug.cgi?id=51560
270
271         No new tests.
272
273         * platform/graphics/ca/GraphicsLayerCA.cpp:
274         (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
275
276 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
277
278         Reviewed by Andreas Kling.
279
280         [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
281         https://bugs.webkit.org/show_bug.cgi?id=35635
282
283         Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
284         tag informing the OS that the data is in UTF-8 format.
285
286         * platform/qt/PasteboardQt.cpp:
287         (WebCore::Pasteboard::writeSelection):
288
289 2010-12-23  Justin Schuh  <jschuh@chromium.org>
290
291         Reviewed by Eric Seidel.
292
293         CSSCursorImageValue destructor should clear referenced element.
294         https://bugs.webkit.org/show_bug.cgi?id=51417
295
296         Calls correct method to clear image and renames method to avoid future confusion.
297
298         Test: svg/css/cursor-image-replace.svg
299
300         * css/CSSCursorImageValue.cpp:
301         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
302         * svg/SVGElement.cpp:
303         (WebCore::SVGElement::cursorImageValueRemoved):
304         * svg/SVGElement.h:
305
306 2010-12-22  Sam Weinig  <sam@webkit.org>
307
308         Reviewed by Darin Adler.
309
310         WebKit2 needs to mirror the frame tree in the UIProcess
311         https://bugs.webkit.org/show_bug.cgi?id=51546
312
313         - Add client functions to notify that a frame has been added or
314           removed from the page cache.
315
316         * history/CachedFrame.cpp:
317         (WebCore::CachedFrameBase::restore):
318         (WebCore::CachedFrame::CachedFrame):
319         * history/CachedFrame.h:
320         * loader/EmptyClients.h:
321         (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
322         (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
323         * loader/FrameLoaderClient.h:
324
325 2010-12-22  Matthew Delaney  <mdelaney@apple.com>
326
327         Reviewed by Simon Fraser.
328
329         Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
330         This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
331         https://bugs.webkit.org/show_bug.cgi?id=51279
332
333         * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
334         * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
335         * platform/graphics/ImageBuffer.h: Use new flag
336         * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
337
338 2010-12-20  Adrienne Walker  <enne@google.com>
339
340         Reviewed by Kenneth Russell.
341
342         [chromium] Tile root layer of the compositor.
343         https://bugs.webkit.org/show_bug.cgi?id=49947
344
345         Refactor root layer update and drawing from LayerRendererChromium into
346         LayerTilerChromium.  The root layer is now drawn as multiple tiles
347         rather than as one single large texture.  Scrollbars are now drawn
348         separately rather than as part of the root layer.
349
350         Test: LayoutTests/compositing/
351
352         * WebCore.gypi:
353         * page/FrameView.cpp:
354         (WebCore::FrameView::repaintContentRectangle):
355         * platform/ScrollView.cpp:
356         (WebCore::ScrollView::ScrollView):
357         (WebCore::ScrollView::setClipsRepaints):
358         * platform/ScrollView.h:
359         (WebCore::ScrollView::clipsRepaints):
360         * platform/graphics/chromium/LayerChromium.h:
361         * platform/graphics/chromium/LayerRendererChromium.cpp:
362         (WebCore::LayerRendererChromium::LayerRendererChromium):
363         (WebCore::LayerRendererChromium::~LayerRendererChromium):
364         (WebCore::LayerRendererChromium::useShader):
365         (WebCore::LayerRendererChromium::verticalScrollbarRect):
366         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
367         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
368         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
369         (WebCore::LayerRendererChromium::drawLayers):
370         (WebCore::LayerRendererChromium::setRootLayer):
371         (WebCore::LayerRendererChromium::initializeSharedObjects):
372         (WebCore::LayerRendererChromium::cleanupSharedObjects):
373         * platform/graphics/chromium/LayerRendererChromium.h:
374         * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
375         (WebCore::LayerTilerChromium::create):
376         (WebCore::LayerTilerChromium::LayerTilerChromium):
377         (WebCore::LayerTilerChromium::~LayerTilerChromium):
378         (WebCore::LayerTilerChromium::layerRendererContext):
379         (WebCore::LayerTilerChromium::setTileSize):
380         (WebCore::LayerTilerChromium::reset):
381         (WebCore::LayerTilerChromium::createTile):
382         (WebCore::LayerTilerChromium::invalidateTiles):
383         (WebCore::LayerTilerChromium::contentRectToTileIndices):
384         (WebCore::LayerTilerChromium::contentRectToLayerRect):
385         (WebCore::LayerTilerChromium::layerRectToContentRect):
386         (WebCore::LayerTilerChromium::tileIndex):
387         (WebCore::LayerTilerChromium::tileContentRect):
388         (WebCore::LayerTilerChromium::tileLayerRect):
389         (WebCore::LayerTilerChromium::invalidateRect):
390         (WebCore::LayerTilerChromium::invalidateEntireLayer):
391         (WebCore::LayerTilerChromium::update):
392         (WebCore::LayerTilerChromium::setLayerPosition):
393         (WebCore::LayerTilerChromium::draw):
394         (WebCore::LayerTilerChromium::resizeLayer):
395         (WebCore::LayerTilerChromium::growLayerToContain):
396         (WebCore::LayerTilerChromium::Tile::~Tile):
397         (WebCore::LayerTilerChromium::Tile::releaseTextureId):
398         * platform/graphics/chromium/LayerTilerChromium.h: Added.
399         (WebCore::LayerTilerChromium::Tile::Tile):
400         (WebCore::LayerTilerChromium::Tile::textureId):
401         (WebCore::LayerTilerChromium::Tile::dirty):
402         (WebCore::LayerTilerChromium::Tile::clearDirty):
403         (WebCore::LayerTilerChromium::layerRenderer):
404
405 2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
406
407         Reviewed by Eric Seidel.
408
409         Editor.h doesn't need to include SelectionController.h
410         https://bugs.webkit.org/show_bug.cgi?id=51441
411
412         Removed #include <Selection.h> from Editor.h.
413         Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
414         to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
415
416         * WebCore.exp.in: Signature changes.
417         * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
418         * accessibility/AccessibilityRenderObject.cpp:
419         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
420         * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
421         * editing/Editor.cpp:
422         (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
423         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
424         (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
425         * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
426         and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
427         * editing/EditorCommand.cpp:
428         (WebCore::executeDeleteBackward): Change due to SelectionDirection.
429         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
430         (WebCore::executeDeleteForward): Ditto.
431         (WebCore::executeDeleteToBeginningOfLine): Ditto.
432         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
433         (WebCore::executeDeleteToEndOfLine): Ditto.
434         (WebCore::executeDeleteToEndOfParagraph): Ditto.
435         (WebCore::executeDeleteWordBackward): Ditto.
436         (WebCore::executeDeleteWordForward): Ditto.
437         (WebCore::executeForwardDelete): Ditto.
438         (WebCore::executeMoveBackward): Ditto.
439         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
440         (WebCore::executeMoveDown): Ditto.
441         (WebCore::executeMoveDownAndModifySelection): Ditto.
442         (WebCore::executeMoveForward): Ditto.
443         (WebCore::executeMoveForwardAndModifySelection): Ditto.
444         (WebCore::executeMoveLeft): Ditto.
445         (WebCore::executeMoveLeftAndModifySelection): Ditto.
446         (WebCore::executeMoveRight): Ditto.
447         (WebCore::executeMoveRightAndModifySelection): Ditto.
448         (WebCore::executeMoveToBeginningOfDocument): Ditto.
449         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
450         (WebCore::executeMoveToBeginningOfLine): Ditto.
451         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
452         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
453         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
454         (WebCore::executeMoveToBeginningOfSentence): Ditto.
455         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
456         (WebCore::executeMoveToEndOfDocument): Ditto.
457         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
458         (WebCore::executeMoveToEndOfSentence): Ditto.
459         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
460         (WebCore::executeMoveToEndOfLine): Ditto.
461         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
462         (WebCore::executeMoveToEndOfParagraph): Ditto.
463         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
464         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
465         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
466         (WebCore::executeMoveUp): Ditto.
467         (WebCore::executeMoveUpAndModifySelection): Ditto.
468         (WebCore::executeMoveWordBackward): Ditto.
469         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
470         (WebCore::executeMoveWordForward): Ditto.
471         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
472         (WebCore::executeMoveWordLeft): Ditto.
473         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
474         (WebCore::executeMoveWordRight): Ditto.
475         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
476         (WebCore::executeMoveToLeftEndOfLine): Ditto.
477         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
478         (WebCore::executeMoveToRightEndOfLine): Ditto.
479         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
480         * editing/SelectionController.cpp:
481         (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
482         (WebCore::SelectionController::modify): Ditto.
483         * editing/SelectionController.h: Change due to SelectionDirection.
484         * editing/TypingCommand.cpp:
485         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
486         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
487         * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
488         in SelectionController.h
489         * editing/WritingDirection.h: Added.
490         * page/DOMSelection.cpp:
491         (WebCore::DOMSelection::modify): Change due to SelectionDirection.
492         (WebCore::DOMSelection::deleteFromDocument): Ditto.
493         * page/EventHandler.cpp:
494         (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
495         * page/Frame.h: Includes SelectionController.h.
496
497 2010-12-23  Adam Barth  <abarth@webkit.org>
498
499         Reviewed by Darin Adler.
500
501         Move V8 to WebCore's implementation of showModalDialog
502         https://bugs.webkit.org/show_bug.cgi?id=51527
503
504         This code is basically verbatim translation from the JavaScriptCore
505         bindings.  The only intentional difference is in the world selection
506         for the dialog's frame.  I suspect JavaScriptCore's bindings have a
507         subtle bug there.
508
509         In this patch, I also remove a bunch of now-unneeded code in the
510         generic bindings.
511
512         * bindings/generic/BindingDOMWindow.h:
513         * bindings/js/JSDOMWindowCustom.cpp:
514         (WebCore::DialogHandler::dialogCreated):
515         (WebCore::setUpDialog):
516         * bindings/v8/custom/V8DOMWindowCustom.cpp:
517         (WebCore::DialogHandler::DialogHandler):
518         (WebCore::DialogHandler::dialogCreated):
519         (WebCore::DialogHandler::returnValue):
520         (WebCore::setUpDialog):
521         (WebCore::V8DOMWindow::showModalDialogCallback):
522         (WebCore::V8DOMWindow::openCallback):
523         * bindings/v8/specialization/V8BindingDOMWindow.h:
524
525 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
526
527         Reviewed by Joseph Pecoraro.
528
529         Web Inspector: Can't backspace from CSS value to CSS key field
530         https://bugs.webkit.org/show_bug.cgi?id=51476
531
532         * inspector/front-end/StylesSidebarPane.js:
533         (WebInspector.StylePropertyTreeElement.prototype.):
534         (WebInspector.StylePropertyTreeElement.prototype):
535
536 2010-12-23  W. James MacLean  <wjmaclean@chromium.org>
537
538         Reviewed by Kenneth Russell.
539
540         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
541         https://bugs.webkit.org/show_bug.cgi?id=51186
542
543         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
544
545         * platform/graphics/chromium/ImageLayerChromium.cpp:
546         (WebCore::ImageLayerChromium::updateContentsIfDirty):
547         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
548         (WebCore::GraphicsContext3D::getImageData):
549
550 2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
551
552         Reviewed by Kenneth Rohde Christiansen.
553
554         Fix check by undefined macro
555         https://bugs.webkit.org/show_bug.cgi?id=51531
556
557         Fix check by undefined macro
558
559         When building EFL port with libsoup, BUILDING_GTK__ is not defined,
560         leading to warnings during compile. We actually have to use an #ifdef
561         instead of an #if.
562
563         No change in functionality so no new tests.
564
565         * platform/network/soup/cache/webkit/soup-cache.h:
566
567 2010-12-23  Jonathan Dixon  <joth@chromium.org>
568
569         Reviewed by Steve Block.
570
571         TouchEvents does not support multi-touch on a page with multiple touch targets
572         https://bugs.webkit.org/show_bug.cgi?id=51258
573
574         Test: fast/events/touch/multi-touch-grouped-targets.html
575
576         * page/EventHandler.cpp:
577         (WebCore::eventNameForTouchPointState):
578         (WebCore::EventHandler::handleTouchEvent):
579         Redesigned event handler to ensure all event targets involved in a given
580         multitouch event get the appropriate event(s) fired.
581
582         * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
583
584 2010-12-23  Philippe Normand  <pnormand@igalia.com>
585
586         Reviewed by Xan Lopez.
587
588         [GTK] media/audio-data-url.html fails since r75504
589         https://bugs.webkit.org/show_bug.cgi?id=51525
590
591         Make the GStreamer media-player advertize 3gpp mime-types as
592         supported if the 3gp caps are in the typefind factories.
593
594         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
595         (WebCore::mimeTypeCache):
596
597 2010-12-23  Kent Tamura  <tkent@chromium.org>
598
599         Reviewed by Dimitri Glazkov.
600
601         Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
602         to InputTypes.
603         https://bugs.webkit.org/show_bug.cgi?id=51093
604
605         Move BeforeTextInserted and Wheel event handling, event forwarding to
606         renderers, and the isindex form submission quirk code to InputTypes.
607         Also, change the return types of InputType event handlers from 'bool'
608         to 'void'. We use Event::defaultHandled() to decide whether event
609         handling should be stopped.
610
611         No new tests because this is just a refactoring.
612
613         * html/BaseButtonInputType.cpp: bool->void changes
614         (WebCore::BaseButtonInputType::handleKeydownEvent):
615         (WebCore::BaseButtonInputType::handleKeypressEvent):
616         (WebCore::BaseButtonInputType::handleKeyupEvent):
617         * html/BaseButtonInputType.h: ditto.
618         * html/BaseCheckableInputType.cpp: ditto.
619         (WebCore::BaseCheckableInputType::handleKeydownEvent):
620         (WebCore::BaseCheckableInputType::handleKeypressEvent):
621         * html/BaseCheckableInputType.h: ditto.
622         * html/BaseDateAndTimeInputType.cpp:
623         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
624         (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
625         * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
626         * html/CheckboxInputType.cpp: bool->void change
627         (WebCore::CheckboxInputType::handleKeyupEvent):
628         * html/CheckboxInputType.h: ditto.
629         * html/FileInputType.cpp: ditto.
630         (WebCore::FileInputType::handleDOMActivateEvent):
631         * html/FileInputType.h: ditto.
632         * html/HTMLInputElement.cpp:
633         (WebCore::HTMLInputElement::defaultEventHandler):
634          - Change return-value handling of InputType event handlers
635          - Move out beforeTextInserted/wheel event handling and isindex form quirk.
636         * html/HTMLInputElement.h:
637         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
638          Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
639         * html/ImageInputType.cpp: bool->void change
640         (WebCore::ImageInputType::handleDOMActivateEvent):
641         * html/ImageInputType.h: ditto.
642         * html/InputType.cpp: ditto.
643         (WebCore::InputType::handleClickEvent):
644         (WebCore::InputType::handleDOMActivateEvent):
645         (WebCore::InputType::handleKeydownEvent):
646         (WebCore::InputType::handleKeypressEvent):
647         (WebCore::InputType::handleKeyupEvent):
648         (WebCore::InputType::handleBeforeTextInsertedEvent):
649         (WebCore::InputType::handleWheelEvent): Added default implementation.
650         (WebCore::InputType::forwardEvent): ditto.
651         (WebCore::InputType::formForSubmission): ditto.
652         * html/InputType.h:
653         * html/IsIndexInputType.cpp:
654         (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
655         * html/IsIndexInputType.h:
656         * html/NumberInputType.cpp:
657         (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
658         (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
659         (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
660         (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
661         * html/NumberInputType.h:
662         * html/RadioInputType.cpp: bool->void changes.
663         (WebCore::RadioInputType::handleClickEvent):
664         (WebCore::RadioInputType::handleKeydownEvent):
665         (WebCore::RadioInputType::handleKeyupEvent):
666         * html/RadioInputType.h:
667         * html/RangeInputType.cpp:
668         (WebCore::RangeInputType::handleKeydownEvent): ditto.
669         (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
670         * html/RangeInputType.h:
671         * html/ResetInputType.cpp: bool->void change.
672         (WebCore::ResetInputType::handleDOMActivateEvent):
673         * html/ResetInputType.h: ditto.
674         * html/SubmitInputType.cpp: ditto.
675         (WebCore::SubmitInputType::handleDOMActivateEvent):
676         * html/SubmitInputType.h: ditto.
677         * html/TextFieldInputType.cpp:
678         (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
679         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
680         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
681         (WebCore::TextFieldInputType::forwardEvent): ditto.
682         * html/TextFieldInputType.h:
683
684 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
685
686         Reviewed by Joseph Pecoraro.
687
688         Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
689         https://bugs.webkit.org/show_bug.cgi?id=51390
690
691         * inspector/front-end/StylesSidebarPane.js:
692         (WebInspector.StylePropertyTreeElement.prototype):
693
694 2010-12-23  Noel Gordon  <noel.gordon@gmail.com>
695
696         Reviewed by Adam Barth.
697
698         [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
699         https://bugs.webkit.org/show_bug.cgi?id=51455
700
701         Chromium uses the libpng compression defaults.  Good compression results,
702         but at much larger run-time cost compared to other browsers.  Chrome is 2
703         times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
704
705         libpng has supported alternative compression methods for some time, they
706         better meet the dual goals of good compression and run-time cost for the
707         on-line case, and are well-documented.  Here use Huffman encoding.  It's
708         2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
709         size is within 1% of the Safari 5.0.3 result independent of image size.
710
711         No change in behaviour, so no new tests.
712
713         * platform/image-encoders/skia/PNGImageEncoder.cpp:
714         (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
715
716 2010-12-22  Noel Gordon  <noel.gordon@gmail.com>
717
718         Reviewed by Darin Fisher.
719
720         [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
721         https://bugs.webkit.org/show_bug.cgi?id=51321
722
723         Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
724         the "image/png" encoder case viz., compute the unpremultiplication in-place.
725         See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
726
727         No new tests: canvas.toDataURL() is covered by existing tests.
728
729         * platform/image-encoders/skia/PNGImageEncoder.cpp:
730         (WebCore::preMultipliedBGRAtoRGBA):
731
732 2010-12-22  Ariya Hidayat  <ariya@sencha.com>
733
734         Reviewed by Simon Fraser.
735
736         Implement skewX() and skewY() for CSSMatrix.
737         https://bugs.webkit.org/show_bug.cgi?id=38335
738
739         * css/WebKitCSSMatrix.cpp:
740         (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
741         * css/WebKitCSSMatrix.h: Added skewX() and skewY().
742         * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
743
744 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
745
746         Reviewed by Dan Bernstein.
747
748         Support unprefixed box-shadow property
749         https://bugs.webkit.org/show_bug.cgi?id=51448
750         
751         Add support for the box-shadow CSS property. We'll currently render this
752         similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
753         handling to match the spec.
754
755         Test: fast/css/box-shadow.html
756
757         * css/CSSComputedStyleDeclaration.cpp:
758         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
759         for box-shadow
760         
761         * css/CSSParser.cpp:
762         (WebCore::CSSParser::parseValue):
763         (WebCore::ShadowParseContext::ShadowParseContext):
764         (WebCore::ShadowParseContext::commitValue):
765         (WebCore::ShadowParseContext::commitLength):
766         (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
767
768         * css/CSSPropertyNames.in: add box-shadow
769
770         * css/CSSStyleSelector.cpp:
771         (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
772         store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
773         to adjust radii later.
774
775         * css/SVGCSSStyleSelector.cpp:
776         (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
777         
778         * page/animation/AnimationBase.cpp:
779         (WebCore::blendFunc):
780         (WebCore::PropertyWrapperShadow::blend):
781         (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
782         
783         * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
784         (WebCore::ShadowData::ShadowData):
785         (WebCore::ShadowData::operator==):
786         * rendering/style/ShadowData.h:
787         (WebCore::ShadowData::ShadowData):
788         (WebCore::ShadowData::isWebkitBoxShadow):
789
790 2010-12-22  Michael Saboff  <msaboff@apple.com>
791
792         Reviewed by Sam Weinig.
793
794         REGRESSION: Can't shadow/overwrite window.constructor 
795         (causes TypeError exception)
796         https://bugs.webkit.org/show_bug.cgi?id=48953
797
798         Added code in the javascript code generator to create a setter for
799         a constructor if the new extended attribute ReplaceableConstructor
800         is present for the interface.
801
802         * bindings/scripts/CodeGeneratorJS.pm:
803         * page/DOMWindow.idl:
804
805 2010-12-22  Steve Lacey  <sjl@chromium.org>
806
807         Reviewed by David Levin.
808
809         Change css for chromium media controls to deal with the timeline
810         not expanding when the current time disappears. This happens when
811         the width of the control drops below 240px.
812
813         This change results in a minor pixel difference - the timebar now
814         aligns better with the time and when the time is not displayed is
815         now perfectly centered. Disabling the affected tests for now
816         and will rebaseline.
817
818         https://bugs.webkit.org/show_bug.cgi?id=51500
819
820         * css/mediaControlsChromium.css:
821         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
822         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
823         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
824         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
825
826 2010-12-22  Mihai Parparita  <mihaip@chromium.org>
827
828         Reviewed by Simon Fraser.
829
830         the shadow direction is negated in canvas context shadowOffsetY.
831         https://bugs.webkit.org/show_bug.cgi?id=25619
832         
833         Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
834         if we're not transforming shadows (i.e. are rendering in a canvas). Also
835         use CG shadows if there's a non-translate/flip transform applied
836         (shadow offsets are supposed to ignore transforms, but the naive/simple
837         implementation was taking them into account).
838         
839         Also does the equivalent changes to FontCGWin.
840
841         Test: fast/canvas/fillText-shadow.html
842
843         * platform/graphics/GraphicsContext.cpp:
844         (WebCore::GraphicsContext::shadowsIgnoreTransforms):
845         * platform/graphics/GraphicsContext.h:
846         * platform/graphics/mac/FontMac.mm:
847         (WebCore::Font::drawGlyphs):
848         * platform/graphics/win/FontCGWin.cpp:
849         (WebCore::Font::drawGlyphs):
850
851 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
852
853         Unreviewed, rolling out r74503.
854         http://trac.webkit.org/changeset/74503
855         https://bugs.webkit.org/show_bug.cgi?id=51513
856
857         breaks chromium mac debug compile (Requested by tonyg-cr on
858         #webkit).
859
860         * platform/graphics/chromium/ImageLayerChromium.cpp:
861         (WebCore::ImageLayerChromium::updateContentsIfDirty):
862         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
863         (WebCore::GraphicsContext3D::getImageData):
864
865 2010-12-22  Dan Bernstein  <mitz@apple.com>
866
867         Reviewed by Darin Adler.
868
869         Replace runtime checks for hyphenation API availability with compile-time checks.
870
871         * platform/text/cf/HyphenationCF.cpp:
872         (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
873         search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
874         (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
875         It is identical to the implementation in Hyphenation.cpp.
876         (WebCore::lastHyphenLocation): Ditto.
877
878 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
879
880         Reviewed by Darin Adler.
881
882         Cache snapshots of plug-ins before painting, to avoid script running during painting
883         https://bugs.webkit.org/show_bug.cgi?id=51493
884         
885         When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
886         or when printing), plug-ins which otherwise use the CA rendering model
887         are sent a paint event. Some plug-ins may run script while handling this event,
888         or out of process plug-ins may process queued requests at this time. Running
889         script while inside layout or painting can have bad consequences, because it
890         can result in arbitrary changes to the render tree.
891         
892         This patch avoids sending plug-ins paint events inside of painting. Instead,
893         we ask the plug-ins to cache a snapshot before we paint, and then the software
894         paint simply draws that snapshot.
895         
896         Requires manual test, because the bug happens when Safari does
897         a page snapshot. It's not possible to tell the Test Netscape Plug-in
898         to paint without laying out, making an automated test impossible.
899
900         * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
901
902         * page/FrameView.h:
903         * page/FrameView.cpp:
904         (WebCore::FrameView::paintContents): Notify all enclosed widgets
905         that a flattening paint is going to happen.
906         (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
907         that tells the RenderView in all subframes to notify their widgets.
908
909         * platform/Widget.h:
910         (WebCore::Widget::notifyWidget): Generic method that can be used
911         to send messages to widgets. Current messages are just 'before flattening paint'
912         and 'after flattening paint'. Message has no payload.
913
914         * rendering/RenderView.h:
915         * rendering/RenderView.cpp:
916         (WebCore::RenderView::getRetainedWidgets):
917         (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
918         since we use it in two places now.
919         
920         (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
921         (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
922         them all the message.
923
924         * rendering/RenderWidget.h:
925         * rendering/RenderWidget.cpp:
926         (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
927
928 2010-12-22  Adrienne Walker  <enne@google.com>
929
930         Reviewed by Kenneth Russell.
931
932         Fix null pointer deref when restoring a lost WebGL context.
933         https://bugs.webkit.org/show_bug.cgi?id=51494
934
935         No new tests, as context restored events are not currently testable.
936
937         * html/canvas/WebGLRenderingContext.cpp:
938         (WebCore::WebGLRenderingContext::initializeNewContext):
939         (WebCore::WebGLRenderingContext::restoreContext):
940
941 2010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
942
943         Reviewed by Martin Robinson.
944
945         [GTK] Building with Blob support fails again
946         https://bugs.webkit.org/show_bug.cgi?id=51392
947
948         Build fix.
949
950         * GNUmakefile.am:
951
952 2010-12-22  Dan Bernstein  <mitz@apple.com>
953
954         Reviewed by Anders Carlsson.
955
956         canHyphenate() always returns true for the default locale
957         https://bugs.webkit.org/show_bug.cgi?id=51506
958
959         No test, since this change only affects performance.
960
961         * platform/text/cf/HyphenationCF.cpp:
962         (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
963         (WebCore::::createValueForKey): Removed whitespace.
964
965 2010-12-22  Yury Semikhatsky  <yurys@chromium.org>
966
967         Reviewed by Joseph Pecoraro.
968
969         Web Inspector: script name gets parsed as HTML in Call stack panel
970         https://bugs.webkit.org/show_bug.cgi?id=51468
971
972         * inspector/front-end/Placard.js:
973         (WebInspector.Placard.prototype.set subtitle):
974
975 2010-12-22  Eric Carlson  <eric.carlson@apple.com>
976
977         Reviewed by Darin Adler.
978
979         MediaPlayer should look for MIME type in data: URL
980         https://bugs.webkit.org/show_bug.cgi?id=51195
981
982         If no MIME type is passed from the media element for a data: URL, try to get it from
983         the URL itself.
984
985         No new tests are possible because the MIME type is just passed to the media engine.
986
987         * platform/graphics/MediaPlayer.cpp:
988         (WebCore::MediaPlayer::load):
989
990 2010-12-22  W. James MacLean  <wjmaclean@chromium.org>
991
992         Reviewed by Kenneth Russell.
993
994         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
995         https://bugs.webkit.org/show_bug.cgi?id=51186
996
997         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
998
999         * platform/graphics/chromium/ImageLayerChromium.cpp:
1000         (WebCore::ImageLayerChromium::updateContentsIfDirty):
1001         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1002         (WebCore::GraphicsContext3D::getImageData):
1003
1004 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
1005
1006         Reviewed by Darin Adler.
1007
1008         WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
1009         https://bugs.webkit.org/show_bug.cgi?id=51488
1010
1011         Test: platform/mac/accessibility/aria-menubar.html
1012
1013         * accessibility/AccessibilityObject.cpp:
1014         (WebCore::createARIARoleMap):
1015
1016 2010-12-22  Zhenyao Mo  <zmo@google.com>
1017
1018         Reviewed by Kenneth Russell.
1019
1020         CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
1021         https://bugs.webkit.org/show_bug.cgi?id=51423
1022
1023         * html/canvas/WebGLRenderingContext.cpp:
1024         (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
1025         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
1026         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
1027         * html/canvas/WebGLRenderingContext.h:
1028
1029 2010-12-22  Xan Lopez  <xlopez@igalia.com>
1030
1031         Reviewed by Gustavo Noronha.
1032
1033         [GTK] Compilation fixes with GTK+ 2.91.7
1034         https://bugs.webkit.org/show_bug.cgi?id=51487
1035
1036         * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
1037         backwards compatibility, it's now defined again in GTK+ 3.x.
1038         * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
1039         initialize global static variables (!). These are called when the
1040         .so is loaded, and they now require GType to be initialized and
1041         will crash. Initialize them once from the ctor, which is a more
1042         common pattern anyway.
1043         (WebCore::initGdkAtoms): new method to initialize static variables.
1044         (WebCore::PasteboardHelper::PasteboardHelper): call it.
1045         * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
1046         using GTK+ 3.x, since it's no longer installed.
1047
1048 2010-12-22  Dirk Schulze  <krit@wbekit.org>
1049
1050         Reviewed by Nikolas Zimmermann.
1051
1052         Cleanup SVG code according to the webkit style rules 2
1053         https://bugs.webkit.org/show_bug.cgi?id=51461
1054
1055         Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
1056
1057         No changes of functionality, so no new tests. 
1058
1059         * svg/SVGFEDisplacementMapElement.cpp:
1060         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
1061         * svg/SVGFEDistantLightElement.h:
1062         * svg/SVGFEFuncAElement.h:
1063         * svg/SVGFEFuncBElement.h:
1064         * svg/SVGFEFuncGElement.h:
1065         * svg/SVGFEFuncRElement.h:
1066         * svg/SVGFEMergeElement.cpp:
1067         (WebCore::SVGFEMergeElement::build):
1068         * svg/SVGFEMorphologyElement.cpp:
1069         * svg/SVGFEPointLightElement.h:
1070         * svg/SVGFESpecularLightingElement.cpp:
1071         (WebCore::SVGFESpecularLightingElement::findLights):
1072         * svg/SVGFESpotLightElement.h:
1073         * svg/SVGFitToViewBox.cpp:
1074         (WebCore::SVGFitToViewBox::parseViewBox):
1075         (WebCore::SVGFitToViewBox::isKnownAttribute):
1076         * svg/SVGFontFaceElement.cpp:
1077         (WebCore::cssPropertyIdForSVGAttributeName):
1078         * svg/SVGFontFaceElement.h:
1079         (WebCore::SVGFontFaceElement::associatedFontElement):
1080         * svg/SVGFontFaceNameElement.h:
1081         * svg/SVGFontFaceSrcElement.cpp:
1082         * svg/SVGFontFaceSrcElement.h:
1083         * svg/SVGFontFaceUriElement.h:
1084         * svg/SVGForeignObjectElement.h:
1085         * svg/SVGGlyphElement.cpp:
1086         (WebCore::parseArabicForm):
1087         (WebCore::parseOrientation):
1088         * svg/SVGGlyphElement.h:
1089         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
1090         (WebCore::SVGGlyphIdentifier::inheritedValue):
1091         (WebCore::SVGGlyphIdentifier::operator==):
1092         (WebCore::SVGGlyphElement::rendererIsNeeded):
1093         * svg/SVGGlyphMap.h:
1094         (WebCore::GlyphMapNode::GlyphMapNode):
1095         (WebCore::GlyphMapNode::create):
1096         (WebCore::SVGGlyphMap::SVGGlyphMap):
1097         (WebCore::SVGGlyphMap::add):
1098         (WebCore::SVGGlyphMap::compareGlyphPriority):
1099         (WebCore::SVGGlyphMap::get):
1100         (WebCore::SVGGlyphMap::clear):
1101         * svg/SVGGradientElement.cpp:
1102         * svg/SVGHKernElement.cpp:
1103         * svg/SVGHKernElement.h:
1104         (WebCore::SVGHKernElement::rendererIsNeeded):
1105         * svg/SVGImageElement.h:
1106         * svg/SVGImageLoader.cpp:
1107         * svg/SVGImageLoader.h:
1108         * svg/SVGLangSpace.cpp:
1109         (WebCore::SVGLangSpace::parseMappedAttribute):
1110         (WebCore::SVGLangSpace::isKnownAttribute):
1111         * svg/SVGLangSpace.h:
1112         (WebCore::SVGLangSpace::xmllang):
1113         * svg/SVGMetadataElement.h:
1114         * svg/SVGMissingGlyphElement.h:
1115         (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
1116         * svg/SVGPaint.cpp:
1117         (WebCore::SVGPaint::cssText):
1118         * svg/SVGPaint.h:
1119         (WebCore::SVGPaint::create):
1120         (WebCore::SVGPaint::paintType):
1121         (WebCore::SVGPaint::isSVGPaint):
1122         * svg/SVGParserUtilities.cpp:
1123         * svg/SVGParserUtilities.h:
1124         (WebCore::isWhitespace):
1125         (WebCore::skipOptionalSpaces):
1126         (WebCore::skipOptionalSpacesOrDelimiter):
1127         * svg/SVGPathElement.cpp:
1128         * svg/SVGPathParserFactory.h:
1129         * svg/SVGPathSegList.h:
1130
1131 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
1132
1133         Reviewed by Sam Weinig.
1134
1135         AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
1136         https://bugs.webkit.org/show_bug.cgi?id=51481
1137
1138         Support aria-multiline and use it to change the role of an ARIA "textbox" 
1139         from AXTextArea to AXTextField.
1140
1141         Test: platform/mac/accessibility/aria-multiline.html
1142
1143         * accessibility/AccessibilityObject.cpp:
1144         (WebCore::AccessibilityObject::ariaIsMultiline):
1145         * accessibility/AccessibilityObject.h:
1146         (WebCore::AccessibilityObject::isPasswordField):
1147         (WebCore::AccessibilityObject::isTextControl):
1148         * accessibility/AccessibilityRenderObject.cpp:
1149         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1150         * accessibility/AccessibilityRenderObject.h:
1151         * html/HTMLAttributeNames.in:
1152
1153 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
1154
1155         Reviewed by Dan Bernstein.
1156
1157         CSS 2.1 failure: counter-increment-013 fails
1158         https://bugs.webkit.org/show_bug.cgi?id=51483
1159         
1160         Clamp the counter-increment property to the valid range of signed
1161         integers.
1162
1163         Test: fast/css/counters/counter-increment-overflow.html
1164
1165         * css/CSSParser.cpp:
1166         (WebCore::clampToSignedInteger):
1167         (WebCore::CSSParser::parseCounter):
1168
1169 2010-12-22  Dan Bernstein  <mitz@apple.com>
1170
1171         Rubber-stamped by Mark Rowe.
1172
1173         Changed WebKitTools to Tools in script build phases.
1174
1175         * WebCore.xcodeproj/project.pbxproj:
1176
1177 2010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>
1178
1179         Reviewed by Kenneth Russell.
1180
1181         [chromium] Fixing crash with empty render surfaces.
1182         https://bugs.webkit.org/show_bug.cgi?id=51432
1183
1184         Test: platform/chromium/compositing/empty-render-surface-crasher.html
1185
1186         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1187         (WebCore::RenderSurfaceChromium::draw):
1188
1189 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
1190
1191         Reviewed by Yury Semikhatsky.
1192
1193         Web Inspector: persist JavaScript breakpoints in frontend settings.
1194         https://bugs.webkit.org/show_bug.cgi?id=48434
1195
1196         * bindings/js/ScriptDebugServer.cpp:
1197         (WebCore::ScriptDebugServer::setBreakpoint):
1198         (WebCore::ScriptDebugServer::removeBreakpoint):
1199         * bindings/js/ScriptDebugServer.h:
1200         * bindings/v8/DebuggerScript.js:
1201         ():
1202         * bindings/v8/ScriptDebugServer.cpp:
1203         (WebCore::ScriptDebugServer::setBreakpoint):
1204         (WebCore::ScriptDebugServer::removeBreakpoint):
1205         * bindings/v8/ScriptDebugServer.h:
1206         * inspector/Inspector.idl:
1207         * inspector/InspectorBackend.cpp:
1208         * inspector/InspectorController.cpp:
1209         (WebCore::InspectorController::InspectorController):
1210         (WebCore::InspectorController::enableDebuggerFromFrontend):
1211         (WebCore::InspectorController::setStickyBreakpoints):
1212         (WebCore::InspectorController::restoreStickyBreakpoint):
1213         * inspector/InspectorController.h:
1214         * inspector/InspectorDebuggerAgent.cpp:
1215         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1216         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
1217         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1218         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1219         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
1220         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
1221         (WebCore::InspectorDebuggerAgent::didParseSource):
1222         * inspector/InspectorDebuggerAgent.h:
1223         * inspector/front-end/Breakpoint.js:
1224         (WebInspector.Breakpoint):
1225         (WebInspector.Breakpoint.prototype.remove):
1226         * inspector/front-end/BreakpointManager.js:
1227         (WebInspector.BreakpointManager):
1228         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
1229         (WebInspector.JavaScriptBreakpoint):
1230         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
1231         * inspector/front-end/DebuggerModel.js:
1232         (WebInspector.DebuggerModel):
1233         * inspector/front-end/ScriptsPanel.js:
1234         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1235         * inspector/front-end/SourceFrame.js:
1236
1237 2010-12-20  Antti Koivisto  <antti@apple.com>
1238
1239         Reviewed by Alexey Proskuryakov.
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=51354
1242         Don't block rendering and script execution on deferred stylesheets
1243         
1244         - Don't add low priority stylesheets to the document pending sheet count.
1245         - Resolve media attribute fully for the link element stylesheet load.
1246
1247         Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
1248
1249         * html/HTMLLinkElement.cpp:
1250         (WebCore::HTMLLinkElement::HTMLLinkElement):
1251         (WebCore::HTMLLinkElement::~HTMLLinkElement):
1252         (WebCore::HTMLLinkElement::setDisabledState):
1253         (WebCore::HTMLLinkElement::process):
1254         (WebCore::HTMLLinkElement::sheetLoaded):
1255         (WebCore::HTMLLinkElement::addPendingSheet):
1256         (WebCore::HTMLLinkElement::removePendingSheet):
1257         * html/HTMLLinkElement.h:
1258
1259 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1260
1261         Unreviewed, rolling out r74473.
1262         http://trac.webkit.org/changeset/74473
1263         https://bugs.webkit.org/show_bug.cgi?id=51463
1264
1265         broke compilation on leopard intel release (Requested by
1266         podivilov on #webkit).
1267
1268         * bindings/js/ScriptDebugServer.cpp:
1269         (WebCore::ScriptDebugServer::setBreakpoint):
1270         (WebCore::ScriptDebugServer::removeBreakpoint):
1271         * bindings/js/ScriptDebugServer.h:
1272         * bindings/v8/DebuggerScript.js:
1273         ():
1274         * bindings/v8/ScriptDebugServer.cpp:
1275         (WebCore::ScriptDebugServer::setBreakpoint):
1276         (WebCore::ScriptDebugServer::removeBreakpoint):
1277         * bindings/v8/ScriptDebugServer.h:
1278         * inspector/Inspector.idl:
1279         * inspector/InspectorBackend.cpp:
1280         * inspector/InspectorController.cpp:
1281         (WebCore::InspectorController::InspectorController):
1282         (WebCore::InspectorController::enableDebuggerFromFrontend):
1283         (WebCore::InspectorController::setStickyBreakpoints):
1284         (WebCore::InspectorController::restoreStickyBreakpoint):
1285         (WebCore::InspectorController::breakpointsSettingKey):
1286         (WebCore::InspectorController::loadBreakpoints):
1287         (WebCore::InspectorController::saveBreakpoints):
1288         * inspector/InspectorController.h:
1289         * inspector/InspectorDebuggerAgent.cpp:
1290         (WebCore::formatBreakpointId):
1291         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1292         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1293         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1294         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
1295         (WebCore::InspectorDebuggerAgent::md5Base16):
1296         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
1297         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
1298         (WebCore::InspectorDebuggerAgent::didParseSource):
1299         * inspector/InspectorDebuggerAgent.h:
1300         * inspector/front-end/Breakpoint.js:
1301         (WebInspector.Breakpoint):
1302         (WebInspector.Breakpoint.jsBreakpointId):
1303         (WebInspector.Breakpoint.prototype.set enabled):
1304         (WebInspector.Breakpoint.prototype.get id):
1305         (WebInspector.Breakpoint.prototype.set condition):
1306         (WebInspector.Breakpoint.prototype.remove):
1307         * inspector/front-end/BreakpointManager.js:
1308         (WebInspector.BreakpointManager):
1309         (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
1310         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
1311         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
1312         (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
1313         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
1314         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
1315         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
1316         (WebInspector.BreakpointManager.prototype._projectChanged):
1317         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
1318         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1319         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
1320         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
1321         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
1322         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
1323         (WebInspector.NativeBreakpointView.prototype.set enabled):
1324         (WebInspector.NativeBreakpointView.prototype.remove):
1325         * inspector/front-end/DebuggerModel.js:
1326         (WebInspector.DebuggerModel):
1327         (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
1328         (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
1329         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1330         (WebInspector.DebuggerModel.prototype.findBreakpoint):
1331         (WebInspector.DebuggerModel.prototype.reset):
1332         (WebInspector.DebuggerModel.prototype._setBreakpoint):
1333         (WebInspector.DebuggerModel.prototype._breakpointRemoved):
1334         (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
1335         (WebInspector.DebuggerModel.prototype.breakpointRestored):
1336         (WebInspector.DebuggerModel.prototype.pausedScript):
1337         (WebInspector.DebuggerModel.prototype.resumedScript):
1338         * inspector/front-end/ScriptsPanel.js:
1339         (WebInspector.ScriptsPanel.prototype.continueToLine):
1340         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1341         * inspector/front-end/SourceFrame.js:
1342         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
1343         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
1344         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
1345         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
1346         (WebInspector.SourceFrame.prototype._contextMenu):
1347         (WebInspector.SourceFrame.prototype._mouseDown):
1348         (WebInspector.SourceFrame.prototype._continueToLine):
1349         (WebInspector.SourceFrame.prototype._setBreakpoint):
1350
1351 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
1352
1353         Reviewed by Yury Semikhatsky.
1354
1355         Web Inspector: persist JavaScript breakpoints in frontend settings.
1356         https://bugs.webkit.org/show_bug.cgi?id=48434
1357
1358         * bindings/js/ScriptDebugServer.cpp:
1359         (WebCore::ScriptDebugServer::setBreakpoint):
1360         (WebCore::ScriptDebugServer::removeBreakpoint):
1361         * bindings/js/ScriptDebugServer.h:
1362         * bindings/v8/DebuggerScript.js:
1363         ():
1364         * bindings/v8/ScriptDebugServer.cpp:
1365         (WebCore::ScriptDebugServer::setBreakpoint):
1366         (WebCore::ScriptDebugServer::removeBreakpoint):
1367         * bindings/v8/ScriptDebugServer.h:
1368         * inspector/Inspector.idl:
1369         * inspector/InspectorBackend.cpp:
1370         * inspector/InspectorController.cpp:
1371         (WebCore::InspectorController::InspectorController):
1372         (WebCore::InspectorController::enableDebuggerFromFrontend):
1373         (WebCore::InspectorController::setStickyBreakpoints):
1374         (WebCore::InspectorController::restoreStickyBreakpoint):
1375         * inspector/InspectorController.h:
1376         * inspector/InspectorDebuggerAgent.cpp:
1377         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1378         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
1379         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1380         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1381         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
1382         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
1383         (WebCore::InspectorDebuggerAgent::didParseSource):
1384         * inspector/InspectorDebuggerAgent.h:
1385         * inspector/front-end/Breakpoint.js:
1386         (WebInspector.Breakpoint):
1387         (WebInspector.Breakpoint.prototype.remove):
1388         * inspector/front-end/BreakpointManager.js:
1389         (WebInspector.BreakpointManager):
1390         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
1391         (WebInspector.JavaScriptBreakpoint):
1392         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
1393         * inspector/front-end/DebuggerModel.js:
1394         (WebInspector.DebuggerModel):
1395         * inspector/front-end/ScriptsPanel.js:
1396         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1397         * inspector/front-end/SourceFrame.js:
1398
1399 2010-12-22  Dirk Schulze  <krit@wbekit.org>
1400
1401         Reviewed by Nikolas Zimmermann.
1402
1403         Cleanup SVG code according to the webkit style rules 1
1404         https://bugs.webkit.org/show_bug.cgi?id=51411
1405
1406         First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
1407
1408         No change of functionality. 
1409
1410         * svg/ColorDistance.cpp:
1411         (WebCore::ColorDistance::isZero):
1412         * svg/ColorDistance.h:
1413         * svg/ElementTimeControl.h:
1414         (WebCore::ElementTimeControl::~ElementTimeControl):
1415         * svg/LinearGradientAttributes.h:
1416         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
1417         (WebCore::LinearGradientAttributes::x1):
1418         (WebCore::LinearGradientAttributes::y1):
1419         (WebCore::LinearGradientAttributes::x2):
1420         (WebCore::LinearGradientAttributes::y2):
1421         (WebCore::LinearGradientAttributes::setX1):
1422         (WebCore::LinearGradientAttributes::setY1):
1423         (WebCore::LinearGradientAttributes::setX2):
1424         (WebCore::LinearGradientAttributes::setY2):
1425         (WebCore::LinearGradientAttributes::hasX1):
1426         (WebCore::LinearGradientAttributes::hasY1):
1427         (WebCore::LinearGradientAttributes::hasX2):
1428         (WebCore::LinearGradientAttributes::hasY2):
1429         * svg/RadialGradientAttributes.h:
1430         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
1431         (WebCore::RadialGradientAttributes::cx):
1432         (WebCore::RadialGradientAttributes::cy):
1433         (WebCore::RadialGradientAttributes::r):
1434         (WebCore::RadialGradientAttributes::fx):
1435         (WebCore::RadialGradientAttributes::fy):
1436         (WebCore::RadialGradientAttributes::setCx):
1437         (WebCore::RadialGradientAttributes::setCy):
1438         (WebCore::RadialGradientAttributes::setR):
1439         (WebCore::RadialGradientAttributes::setFx):
1440         (WebCore::RadialGradientAttributes::setFy):
1441         (WebCore::RadialGradientAttributes::hasCx):
1442         (WebCore::RadialGradientAttributes::hasCy):
1443         (WebCore::RadialGradientAttributes::hasR):
1444         (WebCore::RadialGradientAttributes::hasFx):
1445         (WebCore::RadialGradientAttributes::hasFy):
1446         * svg/SVGAngle.cpp:
1447         * svg/SVGAnimateColorElement.h:
1448         * svg/SVGAnimateElement.cpp:
1449         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1450         (WebCore::SVGAnimateElement::calculateDistance):
1451         * svg/SVGAnimateElement.h:
1452         * svg/SVGAnimateMotionElement.cpp:
1453         * svg/SVGAnimateMotionElement.h:
1454         * svg/SVGAnimatedNumber.h:
1455         * svg/SVGAnimationElement.cpp:
1456         (WebCore::parseKeyTimes):
1457         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
1458         (WebCore::SVGAnimationElement::updateAnimation):
1459         * svg/SVGClipPathElement.cpp:
1460         (WebCore::SVGClipPathElement::svgAttributeChanged):
1461         * svg/SVGColor.h:
1462         (WebCore::SVGColor::create):
1463         (WebCore::SVGColor::createCurrentColor):
1464         (WebCore::SVGColor::colorType):
1465         (WebCore::SVGColor::setRGBColor):
1466         (WebCore::SVGColor::color):
1467         (WebCore::SVGColor::isSVGColor):
1468         * svg/SVGCursorElement.cpp:
1469         (WebCore::SVGCursorElement::svgAttributeChanged):
1470         * svg/SVGCursorElement.h:
1471         * svg/SVGDescElement.h:
1472         (WebCore::SVGDescElement::rendererIsNeeded):
1473         * svg/SVGDocument.cpp:
1474         * svg/SVGDocument.h:
1475         (WebCore::SVGDocument::create):
1476         (WebCore::SVGDocument::isSVGDocument):
1477         * svg/SVGElement.h:
1478         (WebCore::SVGElement::isStyled):
1479         (WebCore::SVGElement::isStyledTransformable):
1480         (WebCore::SVGElement::isStyledLocatable):
1481         (WebCore::SVGElement::isSVG):
1482         (WebCore::SVGElement::isFilterEffect):
1483         (WebCore::SVGElement::isGradientStop):
1484         (WebCore::SVGElement::isTextContent):
1485         (WebCore::SVGElement::isValid):
1486         (WebCore::SVGElement::svgAttributeChanged):
1487         (WebCore::SVGElement::synchronizeProperty):
1488         (WebCore::SVGElement::supplementalTransform):
1489         (WebCore::SVGElement::invalidateSVGAttributes):
1490         (WebCore::SVGElement::rendererIsNeeded):
1491         (WebCore::SVGElement::needsPendingResourceHandling):
1492         (WebCore::SVGElement::buildPendingResource):
1493         * svg/SVGElementInstance.h:
1494         (WebCore::SVGElementInstance::create):
1495         (WebCore::SVGElementInstance::correspondingElement):
1496         (WebCore::SVGElementInstance::correspondingUseElement):
1497         (WebCore::SVGElementInstance::shadowTreeElement):
1498         (WebCore::SVGElementInstance::parentNode):
1499         (WebCore::SVGElementInstance::previousSibling):
1500         (WebCore::SVGElementInstance::nextSibling):
1501         (WebCore::SVGElementInstance::firstChild):
1502         (WebCore::SVGElementInstance::lastChild):
1503         (WebCore::SVGElementInstance::ownerDocument):
1504         (WebCore::SVGElementInstance::toNode):
1505         (WebCore::SVGElementInstance::toSVGElementInstance):
1506         (WebCore::SVGElementInstance::hasChildNodes):
1507         (WebCore::SVGElementInstance::setFirstChild):
1508         (WebCore::SVGElementInstance::setLastChild):
1509         (WebCore::SVGElementInstance::setNextSibling):
1510         (WebCore::SVGElementInstance::setPreviousSibling):
1511         (WebCore::SVGElementInstance::refEventTarget):
1512         (WebCore::SVGElementInstance::derefEventTarget):
1513         * svg/SVGElementInstanceList.h:
1514         (WebCore::SVGElementInstanceList::create):
1515         * svg/SVGException.h:
1516         (WebCore::SVGException::create):
1517         (WebCore::SVGException::SVGException):
1518         * svg/SVGFEColorMatrixElement.cpp:
1519         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
1520         * svg/SVGFEComponentTransferElement.cpp:
1521         (WebCore::SVGFEComponentTransferElement::build):
1522         * svg/SVGFEDiffuseLightingElement.cpp:
1523         (WebCore::SVGFEDiffuseLightingElement::findLights):
1524         * svg/SVGFont.cpp:
1525         (WebCore::convertEmUnitToPixel):
1526         * svg/SVGUseElement.cpp:
1527         (WebCore::isDirectReference):
1528
1529 2010-12-22  Dai Mikurube  <dmikurube@google.com>
1530
1531         Reviewed by Kent Tamura.
1532
1533         https://bugs.webkit.org/show_bug.cgi?id=51289
1534         Initial state of checkValidity() and :invalid are incorrect with <select required>
1535
1536         * html/HTMLSelectElement.cpp:
1537         (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
1538
1539 2010-12-22  Alexander Pavlov  <apavlov@chromium.org>
1540
1541         Reviewed by Joseph Pecoraro.
1542
1543         Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
1544         https://bugs.webkit.org/show_bug.cgi?id=51405
1545
1546         Invoke markPropertyStart() after the parser has restored after an error.
1547
1548         * css/CSSGrammar.y:
1549
1550 2010-12-22  Dai Mikurube  <dmikurube@google.com>
1551
1552         Reviewed by Kent Tamura.
1553
1554         Assertion failure with <select multiple required>
1555         https://bugs.webkit.org/show_bug.cgi?id=51260
1556
1557         Test: fast/css/pseudo-valid-select-click.html
1558
1559         * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
1560         (WebCore::SelectElement::updateListBoxSelection):
1561
1562 2010-12-21  Darin Adler  <darin@apple.com>
1563
1564         Unreviewed correction to unreviewed build fix for r74447.
1565
1566         Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
1567
1568         * html/HTMLImageLoader.cpp:
1569         (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
1570         logic is inside the #ifdef.
1571
1572 2010-12-21  Simon Fraser  <simon.fraser@apple.com>
1573
1574         Reviewed by Darin Adler.
1575
1576         Include the shadow color space as part of the GraphicsContext state
1577         https://bugs.webkit.org/show_bug.cgi?id=51420
1578         
1579         Include the ColorSpace for the shadow color as part of the graphics
1580         state. This will be used later for a shadow implementation that
1581         does not rely on platform shadow code.
1582
1583         * platform/graphics/GraphicsContext.cpp:
1584         (WebCore::GraphicsContext::setShadow):
1585         (WebCore::GraphicsContext::clearShadow):
1586         (WebCore::GraphicsContext::getShadow):
1587         * platform/graphics/GraphicsContext.h:
1588         (WebCore::GraphicsContextState::GraphicsContextState):
1589         * platform/graphics/chromium/FontChromiumWin.cpp:
1590         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1591         (WebCore::Font::drawComplexText):
1592         * platform/graphics/mac/FontMac.mm:
1593         (WebCore::Font::drawGlyphs):
1594         * platform/graphics/skia/SkiaFontWin.cpp:
1595         (WebCore::windowsCanHandleDrawTextShadow):
1596         * platform/graphics/win/FontCGWin.cpp:
1597         (WebCore::drawGDIGlyphs):
1598         (WebCore::Font::drawGlyphs):
1599         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1600         (WebCore::GraphicsContext::fillRoundedRect):
1601         (WebCore::GraphicsContext::drawText):
1602
1603 2010-12-21  Dan Bernstein  <mitz@apple.com>
1604
1605         Reviewed by Sam Weinig.
1606
1607         <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
1608         https://bugs.webkit.org/show_bug.cgi?id=51413
1609
1610         71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
1611         scheduling, which is host-dependent, before calling willSendRequest, because the latter can
1612         change the host.
1613
1614         * loader/NetscapePlugInStreamLoader.cpp:
1615         (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
1616         and return 0 if it is false.
1617         * loader/ResourceLoader.cpp:
1618         (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
1619         from start() into here. Return false if willSendRequest() canceled the request.
1620         (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
1621         * loader/ResourceLoader.h:
1622         * loader/SubresourceLoader.cpp:
1623         (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
1624         and return 0 if it is false.
1625
1626 2010-12-21  Benjamin Kalman  <kalman@chromium.org>
1627
1628         Reviewed by Darin Adler.
1629
1630         Shift-End does not select to the end of the line
1631         https://bugs.webkit.org/show_bug.cgi?id=50610
1632
1633         Let the VisiblePosition affinity for end of line selection to be set by
1634         visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
1635
1636         Test: editing/selection/extend-to-line-boundary.html
1637
1638         * editing/SelectionController.cpp:
1639         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
1640         start/end.
1641         (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
1642
1643 2010-12-21  Jan Erik Hanssen  <jhanssen@sencha.com>
1644
1645         Reviewed by Simon Fraser.
1646
1647         matrix3d() must take the zoom factor into account
1648         https://bugs.webkit.org/show_bug.cgi?id=51408
1649
1650         Test: transforms/3d/general/matrix-with-zoom-3d.html
1651
1652         * css/CSSStyleSelector.cpp:
1653         (WebCore::CSSStyleSelector::createTransformOperations):
1654
1655 2010-12-21  Adam Barth  <abarth@webkit.org>
1656
1657         Reviewed by Darin Adler.
1658
1659         Move V8 to common implementation of window.open
1660         https://bugs.webkit.org/show_bug.cgi?id=51385
1661
1662         I also changed some function names to match WebKit style.  There's a
1663         bunch of code we can remove in the generic bindings now.  I'll do that
1664         in the next patch.
1665
1666         * bindings/generic/BindingDOMWindow.h:
1667         (WebCore::::open):
1668         * bindings/generic/BindingFrame.h:
1669         (WebCore::::navigateIfAllowed):
1670         * bindings/generic/BindingSecurity.h:
1671         (WebCore::::canAccessWindow):
1672         (WebCore::::allowPopUp):
1673         (WebCore::::shouldAllowNavigation):
1674         * bindings/generic/GenericBinding.h:
1675         (WebCore::completeURL):
1676         * bindings/js/JSDOMBinding.cpp:
1677         (WebCore::toLexicalFrame):
1678         (WebCore::toDynamicFrame):
1679         * bindings/js/specialization/JSBindingState.cpp:
1680         (WebCore::::activeFrame):
1681         (WebCore::::firstFrame):
1682         * bindings/js/specialization/JSBindingState.h:
1683         * bindings/v8/V8Utilities.cpp:
1684         (WebCore::callingOrEnteredFrame):
1685         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1686         (WebCore::V8DOMWindow::locationAccessorSetter):
1687         (WebCore::V8DOMWindow::openCallback):
1688         * bindings/v8/specialization/V8BindingState.cpp:
1689         (WebCore::::activeWindow):
1690         (WebCore::::firstWindow):
1691         (WebCore::::activeFrame):
1692         (WebCore::::firstFrame):
1693         * bindings/v8/specialization/V8BindingState.h:
1694
1695 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
1696
1697         Unreviewed build fix for r74447.
1698
1699         Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
1700
1701         * html/HTMLImageLoader.cpp:
1702         (WebCore::HTMLImageLoader::sourceURI):
1703
1704 2010-12-21  Dan Bernstein  <mitz@apple.com>
1705
1706         Reviewed by John Sullivan.
1707
1708         <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
1709
1710         Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
1711
1712         The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
1713         URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
1714         the wrong function to parse URL attributes (last named deprecatedParseURL).
1715
1716         * html/HTMLImageLoader.cpp:
1717         (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
1718         and ends with '")', and if so, strip those away.
1719
1720 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
1721
1722         Reviewed by Darin Adler.
1723
1724         CharacterData needs cleanup
1725         https://bugs.webkit.org/show_bug.cgi?id=51426
1726
1727         Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
1728
1729         * dom/CharacterData.cpp:
1730         (WebCore::CharacterData::setData): Calls setDataAndUpdate.
1731         (WebCore::CharacterData::parserAppendData): Ditto.
1732         (WebCore::CharacterData::appendData): Ditto.
1733         (WebCore::CharacterData::insertData): Ditto.
1734         (WebCore::CharacterData::deleteData): Ditto.
1735         (WebCore::CharacterData::replaceData): Ditto.
1736         (WebCore::CharacterData::setDataAndUpdate): Added.
1737         (WebCore::CharacterData::updateRenderer): Added.
1738         (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
1739         * dom/CharacterData.h:
1740
1741 2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1742
1743         Unreviewed, rolling out r74420.
1744         http://trac.webkit.org/changeset/74420
1745         https://bugs.webkit.org/show_bug.cgi?id=51436
1746
1747         causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
1748         (Requested by tonyg-cr on #webkit).
1749
1750         * dom/DocumentParser.cpp:
1751         * dom/DocumentParser.h:
1752         * html/parser/HTMLDocumentParser.cpp:
1753         * html/parser/HTMLDocumentParser.h:
1754         * html/parser/HTMLParserScheduler.cpp:
1755         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
1756         * html/parser/HTMLParserScheduler.h:
1757         (WebCore::HTMLParserScheduler::isScheduledForResume):
1758         * page/PageGroupLoadDeferrer.cpp:
1759         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1760         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1761
1762 2010-12-21  Kenneth Russell  <kbr@google.com>
1763
1764         Reviewed by Darin Fisher.
1765
1766         Enable extensions used in accelerated 2D canvas implementation
1767         https://bugs.webkit.org/show_bug.cgi?id=51433
1768
1769         Call Extensions3D::ensureEnabled() for all supported extensions
1770         the accelerated 2D Canvas implementation uses. Tested with a few
1771         layout tests previously failing when run in Chromium due to OpenGL
1772         INVALID_ENUM and other errors.
1773
1774         * platform/graphics/gpu/DrawingBuffer.cpp:
1775         (WebCore::DrawingBuffer::create):
1776         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1777         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1778         (WebCore::SharedGraphicsContext3D::supportsBGRA):
1779         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1780
1781 2010-12-21  Zhenyao Mo  <zmo@google.com>
1782
1783         Reviewed by Kenneth Russell.
1784
1785         WebGLRenderingContext needs to zero textures and renderbuffers
1786         https://bugs.webkit.org/show_bug.cgi?id=49355
1787
1788         Test: fast/canvas/webgl/uninitialized-test.html
1789
1790         * html/canvas/WebGLFramebuffer.cpp:
1791         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
1792         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
1793         * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
1794         * html/canvas/WebGLRenderingContext.cpp:
1795         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
1796         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
1797         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
1798         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
1799         (WebCore::WebGLRenderingContext::drawElements): Ditto.
1800         (WebCore::WebGLRenderingContext::readPixels): Ditto.
1801         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
1802         * platform/graphics/GraphicsContext3D.cpp:
1803         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
1804         * platform/graphics/GraphicsContext3D.h:
1805         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1806         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
1807         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1808         (WebCore::generateColorTexture): Ditto.
1809         * platform/graphics/chromium/LayerRendererChromium.cpp:
1810         (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
1811         * platform/graphics/chromium/TextureManager.cpp:
1812         (WebCore::TextureManager::requestTexture): Ditto.
1813         * platform/graphics/chromium/VideoLayerChromium.cpp:
1814         (WebCore::VideoLayerChromium::allocateTexture): Ditto.
1815         * platform/graphics/gpu/DrawingBuffer.cpp:
1816         (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
1817         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1818         (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
1819         * platform/graphics/gpu/Texture.cpp:
1820         (WebCore::Texture::create): Ditto.
1821         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1822         (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
1823
1824 2010-12-21  Chris Rogers  <crogers@google.com>
1825
1826         Reviewed by Kenneth Russell.
1827
1828         Add AudioBusChromium for decoding audio file data
1829         https://bugs.webkit.org/show_bug.cgi?id=51430
1830
1831         No new tests since audio API is not yet implemented.
1832
1833         * platform/audio/chromium: Added.
1834         * platform/audio/chromium/AudioBusChromium.cpp: Added.
1835         (WebCore::createBusFromInMemoryAudioFile):
1836
1837 2010-12-21  Chris Rogers  <crogers@google.com>
1838
1839         Reviewed by Kenneth Russell.
1840
1841         Add web audio spatialization resource files
1842         https://bugs.webkit.org/show_bug.cgi?id=50998
1843
1844         No new tests since audio API is not yet implemented.
1845
1846         * platform/audio/HRTFElevation.cpp:
1847         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
1848         * platform/audio/mac/AudioBusMac.mm:
1849         (WebCore::AudioBus::loadPlatformResource):
1850         * platform/audio/resources: Added.
1851         * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
1852         * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
1853         * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
1854         * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
1855         * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
1856         * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
1857         * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
1858         * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
1859         * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
1860         * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
1861         * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
1862         * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
1863         * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
1864         * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
1865         * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
1866         * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
1867         * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
1868         * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
1869         * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
1870         * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
1871         * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
1872         * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
1873         * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
1874         * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
1875         * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
1876         * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
1877         * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
1878         * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
1879         * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
1880         * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
1881         * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
1882         * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
1883         * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
1884         * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
1885         * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
1886         * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
1887         * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
1888         * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
1889         * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
1890         * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
1891         * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
1892         * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
1893         * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
1894         * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
1895         * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
1896         * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
1897         * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
1898         * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
1899         * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
1900         * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
1901         * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
1902         * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
1903         * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
1904         * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
1905         * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
1906         * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
1907         * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
1908         * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
1909         * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
1910         * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
1911         * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
1912         * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
1913         * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
1914         * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
1915         * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
1916         * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
1917         * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
1918         * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
1919         * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
1920         * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
1921         * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
1922         * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
1923         * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
1924         * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
1925         * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
1926         * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
1927         * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
1928         * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
1929         * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
1930         * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
1931         * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
1932         * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
1933         * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
1934         * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
1935         * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
1936         * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
1937         * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
1938         * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
1939         * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
1940         * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
1941         * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
1942         * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
1943         * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
1944         * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
1945         * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
1946         * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
1947         * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
1948         * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
1949         * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
1950         * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
1951         * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
1952         * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
1953         * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
1954         * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
1955         * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
1956         * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
1957         * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
1958         * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
1959         * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
1960         * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
1961         * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
1962         * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
1963         * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
1964         * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
1965         * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
1966         * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
1967         * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
1968         * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
1969         * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
1970         * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
1971         * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
1972         * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
1973         * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
1974         * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
1975         * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
1976         * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
1977         * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
1978         * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
1979         * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
1980         * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
1981         * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
1982         * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
1983         * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
1984         * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
1985         * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
1986         * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
1987         * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
1988         * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
1989         * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
1990         * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
1991         * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
1992         * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
1993         * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
1994         * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
1995         * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
1996         * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
1997         * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
1998         * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
1999         * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
2000         * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
2001         * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
2002         * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
2003         * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
2004         * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
2005         * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
2006         * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
2007         * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
2008         * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
2009         * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
2010         * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
2011         * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
2012         * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
2013         * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
2014         * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
2015         * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
2016         * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
2017         * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
2018         * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
2019         * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
2020         * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
2021         * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
2022         * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
2023         * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
2024         * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
2025         * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
2026         * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
2027         * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
2028         * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
2029         * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
2030         * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
2031         * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
2032         * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
2033         * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
2034         * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
2035         * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
2036         * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
2037         * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
2038         * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
2039         * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
2040         * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
2041         * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
2042         * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
2043         * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
2044         * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
2045         * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
2046         * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
2047         * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
2048         * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
2049         * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
2050         * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
2051         * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
2052         * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
2053         * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
2054         * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
2055         * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
2056         * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
2057         * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
2058         * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
2059         * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
2060         * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
2061         * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
2062         * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
2063         * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
2064         * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
2065         * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
2066         * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
2067         * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
2068         * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
2069         * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
2070         * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
2071         * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
2072         * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
2073         * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
2074         * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
2075         * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
2076         * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
2077         * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
2078         * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
2079         * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
2080         * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
2081         * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
2082         * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
2083         * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
2084         * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
2085         * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
2086         * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
2087         * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
2088         * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
2089         * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
2090         * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.
2091
2092 2010-12-21  Geoffrey Garen  <ggaren@apple.com>
2093
2094         Reviewed by Gavin Barraclough & Oliver Hunt.
2095
2096         Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
2097         https://bugs.webkit.org/show_bug.cgi?id=51359
2098
2099         * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
2100
2101 2010-12-21  Ariya Hidayat  <ariya@sencha.com>
2102
2103         Reviewed by Simon Fraser.
2104
2105         https://bugs.webkit.org/show_bug.cgi?id=49774
2106         Need to scale translation values in matrix() by the zoom factor.
2107
2108         Test: fast/transforms/matrix-with-zoom.html
2109
2110         * css/CSSStyleSelector.cpp:
2111         (WebCore::CSSStyleSelector::createTransformOperations):
2112
2113 2010-12-21  Jian Li  <jianli@chromium.org>
2114
2115         Reviewed by Darin Adler.
2116
2117         Fix bug 51366: REGRESSION (r66452): Form data no longer contains
2118         'Content-Type' header for files with unrecognized extensions
2119         https://bugs.webkit.org/show_bug.cgi?id=51366
2120
2121         Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
2122
2123         * platform/network/FormData.cpp:
2124         (WebCore::FormData::appendKeyValuePairItems):
2125
2126 2010-12-21  Darin Adler  <darin@apple.com>
2127
2128         Reviewed by Sam Weinig.
2129
2130         Mac WebKit delivers an extra didCommit when loading web archives
2131         https://bugs.webkit.org/show_bug.cgi?id=51419
2132
2133         Could not find a simple way to test this in WebKit1, but in WebKit2
2134         it leads to an immediate failure when loading a web archive. Tested
2135         that making the Mac share the same code path with other platforms
2136         works fine in WebKit1.
2137
2138         * loader/FrameLoader.cpp:
2139         (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
2140         the Mac platform. Also removed the call to isArchiveMimeType since we
2141         get a 0 from ArchiveFactory::create in that case.
2142
2143         * loader/archive/ArchiveFactory.cpp:
2144         (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
2145         adding a special case for null and empty strings, since hash tables can't
2146         handle null strings.
2147         (WebCore::ArchiveFactory::create): Ditto.
2148
2149 2010-12-21  Yong Li  <yoli@rim.com>
2150
2151         Reviewed by Adam Barth.
2152
2153         Suspend HTMLParserScheduler when page load is deferred to
2154         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
2155         from an external script or by events, and is blocked by a modal dialog,
2156         WebKit can parse more HTML source and also start another JS execution.
2157         
2158         https://bugs.webkit.org/show_bug.cgi?id=48077
2159
2160         Test case: WebCore/manual-tests/bugzilla-48077.html.
2161
2162         * dom/DocumentParser.cpp:
2163         (WebCore::DocumentParser::suspendParsing):
2164         (WebCore::DocumentParser::resumeParsing):
2165         * dom/DocumentParser.h:
2166         * html/parser/HTMLDocumentParser.cpp:
2167         (WebCore::HTMLDocumentParser::suspendParsing):
2168         (WebCore::HTMLDocumentParser::resumeParsing):
2169         * html/parser/HTMLParserScheduler.cpp:
2170         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
2171         (WebCore::HTMLParserScheduler::suspend):
2172         (WebCore::HTMLParserScheduler::resume):
2173         * html/parser/HTMLParserScheduler.h:
2174         (WebCore::HTMLParserScheduler::isScheduledForResume):
2175         * page/PageGroupLoadDeferrer.cpp:
2176         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2177         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2178
2179 2010-12-21  Anders Carlsson  <andersca@apple.com>
2180
2181         Reviewed by John Sullivan.
2182
2183         Clicking missing plug-in text does not show a sheet
2184         https://bugs.webkit.org/show_bug.cgi?id=51403
2185
2186         * WebCore.exp.in:
2187         Export symbols needed by WebKit2.
2188
2189         * WebCore.xcodeproj/project.pbxproj:
2190         Make HTMLPlugInImageElement.h a private header.
2191
2192         * html/HTMLPlugInImageElement.h:
2193         (WebCore::HTMLPlugInImageElement::serviceType):
2194         (WebCore::HTMLPlugInImageElement::url):
2195         Make these member functions public.
2196
2197 2010-12-21  Andras Becsi  <abecsi@webkit.org>
2198
2199         Unreviewed build fix.
2200
2201         [Qt] Fix the build with USE_GSTREAMER=1
2202
2203         No new tests needed.
2204
2205         * WebCore.pro: remove nonexisting DataSourceGStreamer sources.
2206
2207 2010-12-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2208
2209         Reviewed by Andreas Kling.
2210
2211         [Qt] QtWebKit doesn't build in debug on Windows
2212         https://bugs.webkit.org/show_bug.cgi?id=41930
2213
2214         Disable incremental linking in windows 32bit debug version as webkit is so 
2215         big it fails to link incremental. 
2216
2217         Build fix. No new test cases added. 
2218
2219         * WebCore.pro:
2220
2221 2010-12-21  Dominic Cooney  <dominicc@google.com>
2222
2223         Reviewed by Adam Barth.
2224
2225         Rename Node::isShadowNode to isShadowRoot
2226         https://bugs.webkit.org/show_bug.cgi?id=51060
2227
2228         The method gets whether the node is the root of a shadow tree;
2229         renamed to reflect intent.
2230
2231         A simple rename--no new tests needed.
2232
2233         * css/CSSStyleSelector.cpp:
2234         (WebCore::CSSStyleSelector::initForStyleResolve):
2235         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2236         * dom/Node.cpp:
2237         (WebCore::Node::shadowTreeRootNode):
2238         (WebCore::Node::isInShadowTree):
2239         (WebCore::eventTargetRespectingSVGTargetRules):
2240         (WebCore::Node::getEventAncestors):
2241         * dom/Node.h:
2242         (WebCore::Node::isShadowRoot):
2243         * dom/Range.cpp:
2244         (WebCore::Range::checkNodeBA):
2245         * page/DragController.cpp:
2246         (WebCore::asFileInput):
2247         * page/EventHandler.cpp:
2248         (WebCore::EventHandler::handleMousePressEvent):
2249         (WebCore::EventHandler::dispatchMouseEvent):
2250         * rendering/RenderBlock.cpp:
2251         (WebCore::RenderBlock::hasLineIfEmpty):
2252         * rendering/TextControlInnerElements.cpp:
2253         (WebCore::TextControlInnerElement::attachInnerElement):
2254         * svg/SVGStyledElement.cpp:
2255         (WebCore::SVGStyledElement::title):
2256         * svg/SVGUseElement.cpp:
2257         (WebCore::ShadowTreeUpdateBlocker::while):
2258         * svg/animation/SVGSMILElement.cpp:
2259         (WebCore::SVGSMILElement::insertedIntoDocument):
2260
2261 2010-12-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2262
2263         Reviewed by Andreas Kling.
2264
2265         Qt port of geolocation, geoposition objects timestamp was in seconds
2266         instead of miliseconds as per HTML5 Geolocation standards.
2267         Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface 
2268         http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp 
2269
2270         Implemented by Asheesh Srivastava.
2271
2272         [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
2273         https://bugs.webkit.org/show_bug.cgi?id=51100
2274
2275         Porting code not covered in layout testing. No new tests added.
2276
2277         * platform/qt/GeolocationServiceQt.cpp:
2278         (WebCore::GeolocationServiceQt::positionUpdated):
2279
2280 2010-12-20  Yuzo Fujishima  <yuzo@google.com>
2281
2282         Reviewed by Eric Seidel.
2283
2284         Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
2285         https://bugs.webkit.org/show_bug.cgi?id=26183
2286
2287         Test: fast/css/font-face-font-family-descriptor.html
2288
2289         * css/CSSParser.cpp:
2290         (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
2291         invalid if its font-family descriptor has multiple (or zero) families.
2292
2293 2010-12-20  Pavel Feldman  <pfeldman@chromium.org>
2294
2295         Reviewed by Yury Semikhatsky.
2296
2297         Web Inspector: fall back to object formatting in case dom is not yet loaded.
2298         https://bugs.webkit.org/show_bug.cgi?id=44273
2299
2300         Sometimes DOM is loaded after the inline message is being formatted, so we get
2301         no nodeId for it. Let us fall back to object formatting in such cases.
2302
2303         * inspector/front-end/ConsoleView.js:
2304         (WebInspector.ConsoleView.prototype._formatnode):
2305         (WebInspector.ConsoleMessage):
2306
2307 2010-12-20  Pavel Feldman  <pfeldman@chromium.org>
2308
2309         Reviewed by Joseph Pecoraro.
2310
2311         Web Inspector: cycle through tag name / attributes / new attribute on Tab.
2312
2313         https://bugs.webkit.org/show_bug.cgi?id=38429
2314
2315         * inspector/front-end/ElementsTreeOutline.js:
2316         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
2317
2318 2010-12-20  Yuta Kitamura  <yutak@chromium.org>
2319
2320         Reviewed by Alexey Proskuryakov.
2321
2322         WebSocket errors should be logged to console
2323         https://bugs.webkit.org/show_bug.cgi?id=40945
2324
2325         Test: http/tests/inspector/console-websocket-error.html
2326
2327         * platform/network/SocketStreamErrorBase.cpp:
2328         (WebCore::SocketStreamErrorBase::compare):
2329         * platform/network/SocketStreamErrorBase.h:
2330         (WebCore::SocketStreamErrorBase::failingURL):
2331         (WebCore::SocketStreamErrorBase::localizedDescription):
2332         (WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
2333         * platform/network/cf/SocketStreamError.h:
2334         (WebCore::SocketStreamError::SocketStreamError):
2335         * platform/network/cf/SocketStreamHandle.h:
2336         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2337         (WebCore::SocketStreamHandle::readStreamCallback):
2338         (WebCore::SocketStreamHandle::writeStreamCallback):
2339         (WebCore::SocketStreamHandle::reportErrorToClient):
2340         * websockets/WebSocketChannel.cpp:
2341         (WebCore::WebSocketChannel::didFail):
2342
2343 2010-12-17  MORITA Hajime  <morrita@google.com>
2344
2345         Reviewed by James Robinson.
2346
2347         https://bugs.webkit.org/show_bug.cgi?id=51240
2348         [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.
2349
2350         Even after a shader was set, old color value had been remaining and passed to Skia.
2351         Then Skia refered an alpha component of that color to make pixels transparent.
2352         This change invalidates existing color value when a shader is given, 
2353         which means the renderer will paint shapes with gradients or patterns.
2354         
2355         Test: fast/gradients/gradient-after-transparent-border.html
2356
2357         * platform/graphics/skia/PlatformContextSkia.cpp:
2358         (WebCore::PlatformContextSkia::setStrokeShader):
2359         (WebCore::PlatformContextSkia::setFillShader):
2360
2361 2010-12-20  Xiaomei Ji  <xji@chromium.org>
2362
2363         Reviewed by Dan Bernstein.
2364
2365         Fix move left/right by character hang.
2366         https://bugs.webkit.org/show_bug.cgi?id=51344
2367
2368         Test: editing/selection/51344.html
2369
2370         * editing/VisiblePosition.cpp:
2371         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2372         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2373
2374 2010-12-20  Steve Lacey  <sjl@chromium.org>
2375
2376         Reviewed by David Levin.
2377
2378         Add missing default styles in mediaControlsChromium.css to prevent
2379         user overrides.
2380         https://bugs.webkit.org/show_bug.cgi?id=51360
2381
2382         No new tests needed as functionality is covered by existing layout
2383         tests.
2384
2385
2386         * css/mediaControlsChromium.css:
2387         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2388         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2389
2390 2010-12-20  Jian Li  <jianli@chromium.org>
2391
2392         Reviewed by David Levin.
2393
2394         Add lastModifiedDate attribute to File interface per File API spec
2395         https://bugs.webkit.org/show_bug.cgi?id=49895
2396
2397         lastModifiedDate is not supported for GObject bindings because Date is
2398         not support in code generation.
2399
2400         Test: http/tests/local/fileapi/file-last-modified.html
2401
2402         * fileapi/File.cpp:
2403         (WebCore::File::lastModifiedDate):
2404         * fileapi/File.h:
2405         * fileapi/File.idl:
2406
2407 2010-12-20  Mark Rowe  <mrowe@apple.com>
2408
2409         Reviewed by Dan Bernstein.
2410
2411         <rdar://problem/8757601> Don't install header files in to the Resources directory.
2412
2413         * WebCore.xcodeproj/project.pbxproj:
2414
2415 2010-12-20  Andrei Popescu  <andreip@google.com>
2416
2417         Reviewed by Jeremy Orlow.
2418
2419         [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
2420         https://bugs.webkit.org/show_bug.cgi?id=51338
2421
2422         * bindings/v8/SerializedScriptValue.cpp:
2423         (WebCore::ZigZag::Reader::readUint32):
2424
2425 2010-12-20  Beth Dakin  <bdakin@apple.com>
2426
2427         Reviewed by Ada Chan.
2428
2429         Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 
2430         RenderMathMLSubSup::layout() because of null base
2431         -and corresponding-
2432         <rdar://problem/8712200>
2433
2434         Only use base inside if(base) block.
2435         * mathml/RenderMathMLSubSup.cpp:
2436         (WebCore::RenderMathMLSubSup::layout):
2437
2438 2010-12-20  Enrica Casucci  <enrica@apple.com>
2439
2440         Reviewed by Darin Adler.
2441
2442         Crash at WebCore::SplitElementCommand::SplitElementCommand
2443         https://bugs.webkit.org/show_bug.cgi?id=51278
2444         <rdar://problem/7347139> 
2445
2446         Executing outdent command on an inline blockquote that is
2447         not the first element in a block causes a crash.
2448         The fix consists in chaging the was the start of block is
2449         calculated in case of the inline blockquote.
2450         
2451         Test: editing/execCommand/outdent-inline-blockquote.html
2452               editing/execCommand/outdent-inline-list.html
2453
2454         * editing/IndentOutdentCommand.cpp:
2455         (WebCore::IndentOutdentCommand::outdentParagraph):
2456
2457 2010-12-20  Oliver Hunt  <oliver@apple.com>
2458
2459         Reviewed by Darin Adler.
2460
2461         Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
2462         https://bugs.webkit.org/show_bug.cgi?id=51353
2463
2464         The Internal Structured Clone algorithm has been changed to allow (and
2465         correctly clone) cyclic graphs.  This patch updates our implementation
2466         to provide that functionality.
2467
2468         I've bumped the serialization version number, and added ObjectReferenceTag
2469         to represent references to objects that have already been seen.
2470
2471         * bindings/js/SerializedScriptValue.cpp:
2472         (WebCore::CloneSerializer::startObjectInternal):
2473           Now that we have something a bit more complex than cycle checking
2474           I've replaced the duplicate code in startObject and startArray with
2475           a shared function that implements that logic to plant an object
2476           reference
2477         (WebCore::CloneSerializer::startObject):
2478         (WebCore::CloneSerializer::startArray):
2479           Lift out duplicate code
2480         (WebCore::CloneSerializer::endObject):
2481           Can't remove objects from the gcbuffer now as they need to remain live
2482           so we can identify graphs
2483         (WebCore::CloneSerializer::writeStringIndex):
2484         (WebCore::CloneSerializer::writeObjectIndex):
2485         (WebCore::CloneSerializer::writeConstantPoolIndex):
2486         (WebCore::CloneSerializer::write):
2487         (WebCore::CloneSerializer::serialize):
2488         (WebCore::CloneDeserializer::readStringIndex):
2489         (WebCore::CloneDeserializer::readConstantPoolIndex):
2490         (WebCore::CloneDeserializer::readTerminal):
2491         (WebCore::CloneDeserializer::deserialize):
2492
2493 2010-12-20  Xan Lopez  <xlopez@igalia.com>
2494
2495         Reviewed by Gustavo Noronha.
2496
2497         * GNUmakefile.am: add missing files.
2498
2499 2010-12-20  Abhishek Arya  <inferno@chromium.org>
2500
2501         Reviewed by James Robinson.
2502
2503         Pass the correct beforeChild value when adding a child to an anonymous table part.
2504         https://bugs.webkit.org/show_bug.cgi?id=50932
2505
2506         When a "before" content child was added to an anonymous table part, it was added
2507         after the last child. This patch fixes the behavior by adding it properly before
2508         the first child.
2509
2510         Test: fast/css-generated-content/table-before-child-add.html
2511
2512         * rendering/RenderTableRow.cpp:
2513         (WebCore::RenderTableRow::addChild):
2514
2515 2010-12-18  Gavin Barraclough  <barraclough@apple.com>
2516
2517         Reviewed by Oliver Hunt.
2518
2519         Bug 26276 - Need a mechanism to determine stack extent
2520
2521         Add forwarding header for StackBounds.h.
2522
2523         * ForwardingHeaders/wtf/StackBounds.h: Added.
2524
2525 2010-12-20  James Robinson  <jamesr@chromium.org>
2526
2527         Unreviewed, rolling out r74278.
2528         http://trac.webkit.org/changeset/74278
2529         https://bugs.webkit.org/show_bug.cgi?id=50833
2530
2531         [chromium] Causes many layout tests to crash
2532
2533         * platform/graphics/chromium/LayerRendererChromium.cpp:
2534         (WebCore::LayerRendererChromium::LayerRendererChromium):
2535         (WebCore::LayerRendererChromium::prepareToDrawLayers):
2536         (WebCore::LayerRendererChromium::drawLayers):
2537         (WebCore::LayerRendererChromium::useRenderSurface):
2538         (WebCore::LayerRendererChromium::setScissorToRect):
2539         * platform/graphics/chromium/LayerRendererChromium.h:
2540
2541 2010-12-20  Geoffrey Garen  <ggaren@apple.com>
2542
2543         Reviewed by Sam Weinig.
2544
2545         Factored common page set management into a new PageBlock base class
2546         https://bugs.webkit.org/show_bug.cgi?id=51285
2547
2548         * ForwardingHeaders/wtf/PageBlock.h: Added.
2549
2550 2010-12-20  Steve Block  <steveblock@google.com>
2551
2552         Reviewed by Jeremy Orlow.
2553
2554         GeolocationPositionCache should do database access on background thread
2555         https://bugs.webkit.org/show_bug.cgi?id=50825
2556
2557         Covered by existing Geolocation tests.
2558
2559         * page/Coordinates.h:
2560         (WebCore::Coordinates::threadSafeCopy):
2561         * page/GeolocationPositionCache.cpp:
2562         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
2563         (WebCore::GeolocationPositionCache::addUser):
2564         (WebCore::GeolocationPositionCache::removeUser):
2565         (WebCore::GeolocationPositionCache::setDatabasePath):
2566         (WebCore::GeolocationPositionCache::setCachedPosition):
2567         (WebCore::GeolocationPositionCache::cachedPosition):
2568         (WebCore::GeolocationPositionCache::startBackgroundThread):
2569         (WebCore::GeolocationPositionCache::threadEntryPoint):
2570         (WebCore::GeolocationPositionCache::threadEntryPointImpl):
2571         (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
2572         (WebCore::GeolocationPositionCache::readFromDatabase):
2573         (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
2574         (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
2575         (WebCore::GeolocationPositionCache::writeToDatabase):
2576         (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
2577         * page/GeolocationPositionCache.h:
2578         * page/Geoposition.h:
2579         (WebCore::Geoposition::threadSafeCopy):
2580         (WebCore::Geoposition::Geoposition):
2581
2582 2010-12-20  Andras Becsi  <abecsi@webkit.org>
2583
2584         Unreviewed build fix.
2585
2586         [Qt][V8] Add  missing sources to the pro file and remove duplications to fix linking.
2587
2588         No new tests needed.
2589
2590         * WebCore.pro:
2591
2592 2010-12-20  Alexander Pavlov  <apavlov@chromium.org>
2593
2594         Reviewed by Yury Semikhatsky.
2595
2596         Web Inspector: Make CSSCompletions a real class rather than singleton
2597         https://bugs.webkit.org/show_bug.cgi?id=51332
2598
2599         Drive-by: make use of keywords from re2js in the CSS tokenizer
2600         (apparently, various authors have presumed that re2js is processed at build time).
2601
2602         No new tests, as this is a refactoring.
2603
2604         * inspector/front-end/CSSCompletions.js:
2605         (WebInspector.CSSCompletions):
2606         (WebInspector.CSSCompletions.prototype.startsWith):
2607         (WebInspector.CSSCompletions.prototype.firstStartsWith):
2608         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
2609         (WebInspector.CSSCompletions.prototype.keySet):
2610         (WebInspector.CSSCompletions.prototype.next):
2611         (WebInspector.CSSCompletions.prototype.previous):
2612         (WebInspector.CSSCompletions.prototype._closest):
2613         * inspector/front-end/SourceCSSTokenizer.js:
2614         (WebInspector.SourceCSSTokenizer):
2615         * inspector/front-end/SourceCSSTokenizer.re2js:
2616         * inspector/front-end/StylesSidebarPane.js:
2617         (WebInspector.StylePropertyTreeElement.prototype):
2618         * inspector/front-end/inspector.js:
2619         (WebInspector.doLoadedDone.propertyNamesCallback):
2620         (WebInspector.doLoadedDone):
2621
2622 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
2623
2624         Reviewed by Yury Semikhatsky.
2625
2626         Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
2627         https://bugs.webkit.org/show_bug.cgi?id=50813
2628
2629         * inspector/front-end/SourceFrame.js:
2630         (WebInspector.SourceFrame.prototype._addBreakpoint):
2631         (WebInspector.SourceFrame.prototype._breakpointRemoved):
2632         (WebInspector.SourceFrame.prototype._breakpointChanged):
2633         (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
2634         (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
2635         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
2636         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
2637         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
2638         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
2639         (WebInspector.SourceFrame.prototype._contextMenu):
2640         (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
2641         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
2642         (WebInspector.SourceFrame.prototype._continueToLine):
2643         (WebInspector.SourceFrame.prototype._setBreakpoint):
2644
2645 2010-12-20  Andrei Popescu  <andreip@google.com>
2646
2647         Reviewed by Jeremy Orlow.
2648
2649         IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
2650         https://bugs.webkit.org/show_bug.cgi?id=51112
2651
2652         Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
2653
2654         Test: storage/indexeddb/transaction-crash-on-abort.html
2655
2656         * storage/IDBTransactionBackendImpl.cpp:
2657         (WebCore::IDBTransactionBackendImpl::abort):
2658         (WebCore::IDBTransactionBackendImpl::commit):
2659
2660 2010-12-20  Andrei Popescu  <andreip@google.com>
2661
2662         Reviewed by Jeremy Orlow.
2663
2664         IDBCursor::delete is not implemented.
2665         https://bugs.webkit.org/show_bug.cgi?id=51110
2666
2667         Implement IDBCursor::delete.
2668         See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
2669
2670         Tests: storage/indexeddb/cursor-delete.html
2671                storage/indexeddb/cursor-index-delete.html
2672
2673         * storage/IDBCursor.cpp:
2674         (WebCore::IDBCursor::deleteFunction):
2675         * storage/IDBCursor.h:
2676         * storage/IDBCursor.idl:
2677         * storage/IDBCursorBackendImpl.cpp:
2678         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
2679         (WebCore::IDBCursorBackendImpl::deleteFunction):
2680         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
2681         * storage/IDBCursorBackendImpl.h:
2682         (WebCore::IDBCursorBackendImpl::create):
2683         * storage/IDBCursorBackendInterface.h:
2684         * storage/IDBIndexBackendImpl.cpp:
2685         (WebCore::IDBIndexBackendImpl::openCursorInternal):
2686         * storage/IDBKey.cpp:
2687         (WebCore::IDBKey::fromQuery):
2688         * storage/IDBObjectStoreBackendImpl.cpp:
2689         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2690         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2691
2692 2010-12-20  Yury Semikhatsky  <yurys@chromium.org>
2693
2694         Reviewed by Pavel Feldman.
2695
2696         Web Inspector: After a multiline command execution Console does not show the command prompt
2697         https://bugs.webkit.org/show_bug.cgi?id=51257
2698
2699         * inspector/front-end/TextPrompt.js:
2700         (WebInspector.TextPrompt.prototype._moveBackInHistory):
2701         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
2702
2703 2010-12-19  Helder Correia  <helder@sencha.com>
2704
2705         Reviewed by Ariya Hidayat.
2706
2707         [Qt] Blur distance should not be affected by transformations
2708         https://bugs.webkit.org/show_bug.cgi?id=51161
2709
2710         From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
2711         "The shadowBlur attribute specifies the level of the blurring effect.
2712         (The units do not map to coordinate space units, and are not affected
2713         by the current transformation matrix.)"
2714
2715         Test: fast/canvas/canvas-scale-shadowBlur.html
2716
2717         * platform/graphics/ContextShadow.cpp:
2718         (WebCore::ContextShadow::adjustBlurDistance):
2719         * platform/graphics/ContextShadow.h:
2720         * platform/graphics/cairo/ContextShadowCairo.cpp:
2721         (WebCore::ContextShadow::beginShadowLayer):
2722         * platform/graphics/qt/ContextShadowQt.cpp:
2723         (WebCore::ContextShadow::beginShadowLayer):
2724
2725 2010-12-19  Dan Bernstein  <mitz@apple.com>
2726
2727         Reviewed by Cameron Zwarich.
2728
2729         Text emphasis marks are not repainted correctly in flipped writing modes
2730         https://bugs.webkit.org/show_bug.cgi?id=51307
2731
2732         Tests: fast/repaint/text-emphasis-h.html
2733                fast/repaint/text-emphasis-v.html
2734
2735         * rendering/InlineFlowBox.cpp:
2736         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
2737
2738 2010-12-19  Rob Buis  <rwlbuis@gmail.com>
2739
2740         Reviewed by Andreas Kling.
2741
2742         Remove m_drawsContents from RenderSVGContainer.h
2743         https://bugs.webkit.org/show_bug.cgi?id=51305
2744
2745         Remove m_drawsContents, its getter and setter and the call
2746         sites, since it has no effect anymore.
2747
2748         * WebCore.order:
2749         * rendering/RenderSVGContainer.cpp:
2750         (WebCore::RenderSVGContainer::RenderSVGContainer):
2751         (WebCore::RenderSVGContainer::paint):
2752         * rendering/RenderSVGContainer.h:
2753         * rendering/RenderSVGResourceContainer.h:
2754         * rendering/SVGImageBufferTools.cpp:
2755         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2756
2757 2010-12-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
2758
2759         Reviewed by Kenneth Rohde Christiansen.
2760
2761         WebKit does not build with worker but without the javascript debugger
2762         https://bugs.webkit.org/show_bug.cgi?id=51293
2763
2764         Add missing guard for calls depending on the debugger.
2765
2766         * inspector/InspectorController.cpp:
2767         (WebCore::InspectorController::populateScriptObjects):
2768         (WebCore::InspectorController::postWorkerNotificationToFrontend):
2769
2770 2010-12-18  Tom Sepez  <tsepez@chromium.org>
2771
2772         Reviewed by David Levin.
2773
2774         https://bugs.webkit.org/show_bug.cgi?id=51055
2775         Fix a null de-reference when an XML file contains a malformed entity
2776         of the form "&:;".
2777
2778         Test: fast/parser/xml-colon-entity.html
2779
2780         * html/parser/HTMLEntitySearch.cpp:
2781         (WebCore::HTMLEntitySearch::advance):
2782
2783 2010-12-18  Noel Gordon  <noel.gordon@gmail.com>
2784
2785         Reviewed by David Levin.
2786
2787         [chromium] Simplify the PNG encoder.
2788         https://bugs.webkit.org/show_bug.cgi?id=50905
2789
2790         Remove PNGEncoderState class - it was a proxy for the encoder output, and
2791         that is a Vector<>, so just write into it directly using append() to make
2792         use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
2793         and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
2794         
2795         canvas.toDataURL("image/png") is covered by existing tests.
2796
2797         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2798         (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
2799         (WebCore::preMultipliedBGRAtoRGBA): simplified.
2800         (WebCore::PNGImageEncoder::encode): ditto.
2801
2802 2010-12-18  Dan Bernstein  <mitz@apple.com>
2803
2804         Reviewed by Cameron Zwarich.
2805
2806         Text emphasis marks are not always included in the selection highlight
2807         https://bugs.webkit.org/show_bug.cgi?id=51299
2808
2809         Affects pixel results of fast/text/emphasis.html
2810
2811         Account for annotations in selectionTop() and selectionBottom().
2812
2813         * rendering/RootInlineBox.cpp:
2814         (WebCore::RootInlineBox::selectionTop):
2815         (WebCore::RootInlineBox::selectionBottom):
2816
2817 2010-12-18  Dan Bernstein  <mitz@apple.com>
2818
2819         Reviewed by Cameron Zwarich.
2820
2821         In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
2822         https://bugs.webkit.org/show_bug.cgi?id=51298
2823
2824         Test: fast/text/emphasis-overlap.html
2825
2826         * rendering/RootInlineBox.cpp:
2827         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
2828
2829 2010-12-18  Helder Correia  <helder@sencha.com> and Martin Robinson  <mrobinson@igalia.com>
2830
2831         Reviewed by Ariya Hidayat.
2832
2833         [Qt] Canvas shadow offset should not be affected by any transformation
2834         https://bugs.webkit.org/show_bug.cgi?id=50422
2835
2836         On a canvas context, shadows are currently affected by all
2837         transformations except scaling. According to the spec:
2838         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
2839
2840         "The shadowOffsetX and shadowOffsetY attributes specify the distance
2841         that the shadow will be offset in the positive horizontal and positive
2842         vertical distance respectively. Their values are in coordinate space
2843         units. They are not affected by the current transformation matrix."
2844
2845         NOTE: this applies only to canvas, not to box shadows.
2846
2847         Test: fast/canvas/canvas-transforms-fillRect-shadow.html
2848
2849         * platform/graphics/ContextShadow.cpp:
2850         (WebCore::ContextShadow::ContextShadow):
2851         (WebCore::ContextShadow::calculateLayerBoundingRect):
2852         * platform/graphics/ContextShadow.h:
2853         (WebCore::ContextShadow::setShadowsIgnoreTransforms):
2854         (WebCore::ContextShadow::shadowsIgnoreTransforms):
2855         (WebCore::ContextShadow::offset):
2856         * platform/graphics/qt/ContextShadowQt.cpp:
2857         (WebCore::ContextShadow::beginShadowLayer):
2858         (WebCore::ContextShadow::endShadowLayer):
2859         * platform/graphics/qt/GraphicsContextQt.cpp:
2860         (WebCore::mustUseContextShadow):
2861         (WebCore::GraphicsContext::fillPath):
2862         (WebCore::GraphicsContext::strokePath):
2863         (WebCore::GraphicsContext::fillRect):
2864         (WebCore::GraphicsContext::fillRoundedRect):
2865         (WebCore::GraphicsContext::setPlatformShadow):
2866
2867 2010-12-18  Ariya Hidayat  <ariya@sencha.com>
2868
2869         Reviewed by Andreas Kling.
2870
2871         [Qt] TransparencyLayer should inherit its container render hints
2872         https://bugs.webkit.org/show_bug.cgi?id=51283
2873
2874         * platform/graphics/qt/TransparencyLayer.h:
2875         (WebCore::TransparencyLayer::TransparencyLayer):
2876
2877 2010-12-18  Tony Gentilcore  <tonyg@chromium.org>
2878
2879         Reviewed by Laszlo Gombos.
2880
2881         [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
2882         https://bugs.webkit.org/show_bug.cgi?id=50943
2883
2884         See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
2885
2886         * dom/Document.cpp:
2887         (WebCore::Document::finishedParsing):
2888         * dom/DocumentTiming.h:
2889         (WebCore::DocumentTiming::DocumentTiming):
2890         * page/PerformanceTiming.cpp:
2891         (WebCore::PerformanceTiming::domContentLoadedEventStart):
2892         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
2893         * page/PerformanceTiming.h:
2894         * page/PerformanceTiming.idl:
2895
2896 2010-12-17  Justin Schuh  <jschuh@chromium.org>
2897
2898         Reviewed by Andreas Kling.
2899
2900         Style fix for r73927
2901         https://bugs.webkit.org/show_bug.cgi?id=51194
2902
2903         No functionality change. No new tests needed.
2904
2905         * html/HTMLCanvasElement.h:
2906
2907 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2908
2909         Reviewed by Martin Robinson.
2910
2911         [GTK] Buttons rendering was broken in r74129
2912         https://bugs.webkit.org/show_bug.cgi?id=51173
2913
2914         * platform/gtk/RenderThemeGtk.cpp:
2915         (WebCore::RenderThemeGtk::paintRenderObject):
2916
2917 2010-12-17  Zoltan Herczeg  <zherczeg@webkit.org>
2918
2919         Reviewed by Dirk Schulze.
2920
2921         Improve 'arithmetic' operator on feComposite
2922         https://bugs.webkit.org/show_bug.cgi?id=51105
2923
2924         Fixing style errors and bug description for r74177.
2925
2926         * platform/graphics/filters/FEComposite.cpp:
2927         (WebCore::arithmetic):
2928
2929 2010-12-17  Dan Bernstein  <mitz@apple.com>
2930
2931         Rubber-stamped by Mark Rowe.
2932
2933         Updated for the renaming of WebKitTools to Tools
2934
2935         * WebCore.vcproj/build-generated-files.sh:
2936         * WebCore.vcproj/migrate-scripts.sh:
2937
2938 2010-12-17  Carol Szabo  <carol.szabo@nokia.com>
2939
2940         Reviewed by Darin Adler.
2941
2942         A corrupted counter tree is created when renderers are added to the
2943         tree bypassing RenderObject::addChild
2944         https://bugs.webkit.org/show_bug.cgi?id=51270
2945
2946         This patch replaces the hack introduced for fixing bug 43812
2947         with code that addresses the underlying problem for that bug.
2948         No new layout tests provided as there is no identified scenario when
2949         visible behavior would be different, the internal datastructures
2950         are maintained properly through this fix so the previous hack
2951         introduced for bug 43812 is now removed. The fact that the 
2952         layout test introduced for 43812 continues to pass is proof that the
2953         code works.
2954
2955         * rendering/RenderCounter.cpp:
2956         (WebCore::findPlaceForCounter):
2957           Removed hack.
2958         * rendering/RenderObject.cpp:
2959         (WebCore::RenderObject::addChild):
2960           Moved call to counter nodes updater to lower level
2961           functions to avoid bypass.
2962         * rendering/RenderObjectChildList.cpp:
2963         (WebCore::RenderObjectChildList::appendChildNode):
2964         (WebCore::RenderObjectChildList::insertChildNode):
2965           Changed to update the values of the counters that
2966           may be inserted in the tree.
2967
2968 2010-12-17  Shimeng (Simon) Wang  <swang@google.com>
2969
2970         Reviewed by Steve Block.
2971
2972         Fix V8 JNI binding.
2973         https://bugs.webkit.org/show_bug.cgi?id=51156
2974
2975         There're LayoutTests in:
2976         http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
2977         to exercise these code paths.
2978         Though Chromium don't run them.
2979         Tested on Android fast/events/touch tests.
2980
2981         * bridge/jni/v8/JNIUtilityPrivate.cpp:
2982         (JSC::Bindings::convertNPVariantToJValue):
2983
2984 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
2985
2986         Reviewed by Chris Marrin.
2987
2988         Interrupted accelerated animation can break later transitions
2989         <rdar://problem/8767714>
2990         https://bugs.webkit.org/show_bug.cgi?id=51264
2991         
2992         If we're still waiting for the 'animationDidStart' callback when renderers
2993         get destroyed, then the m_waitingForStartTimeResponse flag could be left
2994         set to 'true', which causes later transitions to never start.
2995         
2996         Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
2997         becomes empty.
2998
2999         Test: transitions/interrupted-accelerated-transition.html
3000
3001         * page/animation/AnimationController.cpp:
3002         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
3003
3004 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
3005
3006         Reviewed by Chris Marrin.
3007
3008         Interrupted accelerated animation can break later transitions
3009         https://bugs.webkit.org/show_bug.cgi?id=51264
3010
3011         Step 1: code cleanup.
3012         Rename "responseWait" variables to "startTimeResponseWait", to make it clear
3013         the kind of response that is being waited for.
3014         
3015         Make a couple of methods private.
3016         
3017         No behavioral changes, so no tests.
3018
3019         * page/animation/AnimationController.cpp:
3020         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3021         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
3022         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
3023         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
3024         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
3025         (WebCore::AnimationControllerPrivate::startTimeResponse):
3026         * page/animation/AnimationControllerPrivate.h:
3027
3028 2010-12-17  Dan Bernstein  <mitz@apple.com>
3029
3030         Reviewed by Dave Hyatt.
3031
3032         Layout and rendering of CSS text-emphasis
3033         Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
3034         https://bugs.webkit.org/show_bug.cgi?id=48539
3035
3036         Tests: fast/text/emphasis-vertical.html
3037                fast/text/emphasis.html
3038
3039         Emphasis marks behave like they are stuck just above the ascender (or just below the
3040         descender). They occupy space in the leading and in padding, and only grow the line space
3041         if they cannot fit.
3042
3043         * rendering/InlineFlowBox.cpp:
3044         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
3045         hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
3046         marks.
3047         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
3048         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
3049         to this and added adjustment for text emphasis marks.
3050         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
3051         but for annotations under the glyphs. These can only be text emphasis marks.
3052         * rendering/InlineFlowBox.h:
3053         * rendering/InlineTextBox.cpp:
3054         (WebCore::paintTextWithShadows): Paint emphasis marks.
3055         (WebCore::InlineTextBox::paint): Ditto.
3056         * rendering/RenderBlockLineLayout.cpp:
3057         (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
3058         ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
3059         flipped writing mode.
3060         * rendering/RenderObject.cpp:
3061         (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
3062         (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
3063         (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
3064         * rendering/RenderObject.h:
3065         * rendering/RootInlineBox.cpp:
3066         (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
3067         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
3068         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
3069         and extended to deal with annotations over and under the line and the previous line. If both lines have
3070         annotations into the space between the lines, maintain separation so that the annotations do not overlap.
3071         * rendering/RootInlineBox.h:
3072         (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
3073         (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
3074
3075 2010-12-17  W. James MacLean  <wjmaclean@chromium.org>
3076
3077         Reviewed by James Robinson.
3078
3079         [chromium] Add support to compositor to composite to offscreen texture.
3080         https://bugs.webkit.org/show_bug.cgi?id=50833
3081
3082         A patch to extend compositor to be able to composite into an offscreen texture instead
3083         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
3084
3085         External behaviour not changed, so no tests.
3086
3087         * platform/graphics/chromium/LayerRendererChromium.cpp:
3088         (WebCore::LayerRendererChromium::LayerRendererChromium):
3089         (WebCore::LayerRendererChromium::prepareToDrawLayers):
3090         (WebCore::LayerRendererChromium::drawLayers):
3091         (WebCore::LayerRendererChromium::setCompositeOffscreen):
3092         (WebCore::LayerRendererChromium::useRenderSurface):
3093         (WebCore::LayerRendererChromium::setScissorToRect):
3094         * platform/graphics/chromium/LayerRendererChromium.h:
3095         (WebCore::LayerRendererChromium::isCompositingOffscreen):
3096         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3097
3098 2010-12-17  Ariya Hidayat  <ariya@sencha.com>
3099
3100         Reviewed by Andreas Kling.
3101
3102         [Qt] Default image interpolation should reset the render hint
3103         https://bugs.webkit.org/show_bug.cgi?id=51233
3104
3105         Save initial SmoothPixmapTransform render hint so that it can be used
3106         with default image interpolation quality to reset back the render hints.
3107
3108         * platform/graphics/qt/GraphicsContextQt.cpp:
3109         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3110         (WebCore::GraphicsContext::setImageInterpolationQuality):
3111
3112 2010-12-17  Hans Wennborg  <hans@chromium.org>
3113
3114         Reviewed by Jeremy Orlow.
3115
3116         IndexedDB: Support Date objects as keys.
3117         https://bugs.webkit.org/show_bug.cgi?id=51193
3118
3119         * bindings/v8/IDBBindingUtilities.cpp:
3120         (WebCore::createIDBKeyFromValue):
3121         Use the new IDBKey factory functions, and support Date objects.
3122         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3123         (WebCore::toV8):
3124         Create Date objects from DateType keys.
3125         * storage/IDBKey.cpp:
3126         (WebCore::IDBKey::fromQuery):
3127         (WebCore::IDBKey::isEqual):
3128         (WebCore::IDBKey::whereSyntax):
3129         (WebCore::IDBKey::lowerCursorWhereFragment):
3130         (WebCore::IDBKey::upperCursorWhereFragment):
3131         (WebCore::IDBKey::bind):
3132         (WebCore::IDBKey::bindWithNulls):
3133         Update all SQL related functions to handle Date keys.
3134         * storage/IDBKey.h:
3135         (WebCore::IDBKey::createNull):
3136         (WebCore::IDBKey::createNumber):
3137         (WebCore::IDBKey::createString):
3138         (WebCore::IDBKey::createDate):
3139         Rename the create factories; since both number and date is just a
3140         double, function overloading can't be used to discriminate between
3141         the factories.
3142         (WebCore::IDBKey::date):
3143         Add getter for the date value.
3144
3145 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
3146
3147         Reviewed by Pavel Feldman.
3148
3149         Web Inspector: add scripts parsed after resource load to SourceFrame.
3150         https://bugs.webkit.org/show_bug.cgi?id=51243
3151
3152         * inspector/front-end/ScriptsPanel.js:
3153         (WebInspector.ScriptsPanel.prototype._addScript):
3154         * inspector/front-end/SourceFrame.js:
3155         (WebInspector.SourceFrame.prototype.addScript):
3156
3157 2010-12-17  Anton Muhin  <antonm@chromium.org>
3158
3159         Reviewed by Yury Semikhatsky.
3160
3161         [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
3162         https://bugs.webkit.org/show_bug.cgi?id=51121
3163
3164         Properly group style elements of HTML links, style elements and processing instructions.
3165
3166         * bindings/v8/V8GCController.cpp:
3167         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
3168         (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
3169
3170 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
3171
3172         Reviewed by Pavel Feldman.
3173
3174         Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
3175         https://bugs.webkit.org/show_bug.cgi?id=51101
3176
3177         * inspector/front-end/ResourceManager.js:
3178         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
3179
3180 2010-12-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
3181
3182         Reviewed by Laszlo Gombos.
3183
3184         The inspector does not compile without JAVASCRIPT_DEBUGGER
3185         https://bugs.webkit.org/show_bug.cgi?id=51246
3186
3187         Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
3188
3189         * inspector/InspectorController.h:
3190
3191 2010-12-17  Andrey Kosyakov  <caseq@chromium.org>
3192
3193         Reviewed by Pavel Feldman.
3194
3195         Web Inspector: clear extra/override headers when front-end is closed
3196         https://bugs.webkit.org/show_bug.cgi?id=51244
3197
3198         * inspector/InspectorController.cpp:
3199         (WebCore::InspectorController::disconnectFrontend):
3200         (WebCore::InspectorController::willSendRequest):
3201
3202 2010-12-17  Pavel Feldman  <pfeldman@chromium.org>
3203
3204         Reviewed by Yury Semikhatsky.
3205
3206         Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
3207         https://bugs.webkit.org/show_bug.cgi?id=50893
3208
3209         Now Mac shortcuts are:
3210         - Cmd F/G = find / next
3211         - Cmd L = go to line
3212
3213         Win/Linux:
3214         - Ctrl+G = go to line
3215
3216         * inspector/front-end/ScriptsPanel.js:
3217         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
3218         * inspector/front-end/inspector.js:
3219         (WebInspector._registerShortcuts):
3220
3221 2010-12-16  Sergio Villar Senin  <svillar@igalia.com>
3222
3223         Reviewed by Martin Robinson.
3224
3225         Wrong check in ResourceHandleSoup in error cases
3226         https://bugs.webkit.org/show_bug.cgi?id=51171
3227
3228         Calling didReceiveData with no data causes a crash in debug
3229         builds. Checking for soupMsg->response_body->data is not correct as libsoup
3230         always creates a buffer for that. Instead we should check for
3231         soupMsg->response_body->length
3232
3233         * platform/network/soup/ResourceHandleSoup.cpp:
3234         (WebCore::sendRequestCallback):
3235
3236 2010-12-17  Andreas Kling  <andreas.kling@nokia.com>
3237
3238         Reviewed by Kenneth Rohde Christiansen.
3239
3240         [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
3241         https://bugs.webkit.org/show_bug.cgi?id=49954
3242
3243         * platform/graphics/qt/GraphicsContextQt.cpp:
3244         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
3245         (WebCore::GraphicsContext::beginTransparencyLayer):
3246
3247 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3248
3249         Reviewed by Martin Robinson.
3250
3251         [GTK] Compile warning introduced in r74129
3252         https://bugs.webkit.org/show_bug.cgi?id=51181
3253
3254         * platform/gtk/RenderThemeGtk.cpp:
3255         (WebCore::RenderThemeGtk::gtkContainer):
3256
3257 2010-12-17  James Simonsen  <simonjam@chromium.org>
3258
3259         Reviewed by Darin Fisher.
3260
3261         [Web Timing] Add sslHandshakeStart to interface
3262
3263         https://bugs.webkit.org/show_bug.cgi?id=50400
3264
3265         Test: http/tests/misc/webtiming-ssl.php
3266
3267         * page/PerformanceTiming.cpp:
3268         (WebCore::PerformanceTiming::connectStart): Update comment.
3269         (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
3270         (WebCore::PerformanceTiming::sslHandshakeStart): Added.
3271         * page/PerformanceTiming.h: Added sslHandshakeStart.
3272         * page/PerformanceTiming.idl: Ditto.
3273
3274 2010-12-17  James Simonsen  <simonjam@chromium.org>
3275
3276         Reviewed by Darin Fisher.
3277
3278         [Web Timing] Navigation type enums should begin with TYPE_
3279         https://bugs.webkit.org/show_bug.cgi?id=51200
3280
3281         * page/PerformanceNavigation.cpp:
3282         (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
3283         * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
3284         * page/PerformanceNavigation.idl: Ditto.
3285
3286 2010-12-17  Steve Block  <steveblock@google.com>
3287
3288         Unreviewed build fix.
3289
3290         Fix build when Geolocation is disabled.
3291
3292         No new tests, build fix only.
3293
3294         * page/Geolocation.h:
3295
3296 2010-12-17  Patrick Gansterer  <paroga@webkit.org>
3297
3298         Unreviewed. WinCE build fix.
3299
3300         * platform/graphics/GraphicsContext.h:
3301
3302 2010-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
3303
3304         Reviewed by Yury Semikhatsky.
3305
3306         Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
3307
3308         InspectorBackendStub is a transport-only thing but it has dependencies with
3309         Callback.js and WebInspector namespace. Callback can be integrated into
3310         InspectorBackendStub because it is the only client.
3311         Without these dependencies InspectorBackendStub can be used as an API
3312         wrapper for Inspector Protocol.
3313
3314         https://bugs.webkit.org/show_bug.cgi?id=51184
3315
3316         * WebCore.gypi:
3317         * inspector/CodeGeneratorInspector.pm:
3318         * inspector/front-end/Callback.js: Removed.
3319         * inspector/front-end/WebKit.qrc:
3320         * inspector/front-end/inspector.html:
3321
3322 2010-12-15  Andrey Kosyakov  <caseq@chromium.org>
3323
3324         Reviewed by Pavel Feldman.
3325
3326         Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
3327         https://bugs.webkit.org/show_bug.cgi?id=50493
3328
3329         Test: http/tests/inspector/extensions-headers.html
3330
3331         * inspector/Inspector.idl:
3332         * inspector/InspectorController.cpp:
3333         (WebCore::InspectorController::willSendRequest): Apply extra headers.
3334         (WebCore::InspectorController::setExtraHeaders):
3335         * inspector/InspectorController.h:
3336         * inspector/front-end/ExtensionAPI.js:
3337         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
3338         (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
3339         * inspector/front-end/ExtensionServer.js:
3340         (WebInspector.ExtensionServer):
3341         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
3342
3343 2010-12-16  Koan-Sin Tan  <koansin.tan@gmail.com>
3344
3345         Reviewed by Kent Tamura.
3346
3347         Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
3348         https://bugs.webkit.org/show_bug.cgi?id=50365
3349
3350         No new tests. But this makes Chromimium Linux show
3351         fast/blockflow/japanese-*-text.html and other vertical
3352         writing text correctly as on WebKit and Chromimum for Mac.
3353
3354         * platform/graphics/chromium/FontCacheLinux.cpp:
3355         (WebCore::FontCache::createFontPlatformData):
3356         * platform/graphics/chromium/FontLinux.cpp:
3357         (WebCore::Font::drawGlyphs):
3358         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3359         (WebCore::FontPlatformData::FontPlatformData):
3360         (WebCore::FontPlatformData::operator=):
3361         (WebCore::FontPlatformData::operator==):
3362         (WebCore::FontPlatformData::hash):
3363         * platform/graphics/chromium/FontPlatformDataLinux.h:
3364         (WebCore::FontPlatformData::FontPlatformData):
3365         (WebCore::FontPlatformData::orientation):
3366         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3367         (WebCore::SimpleFontData::platformInit):
3368         * platform/graphics/skia/FontCustomPlatformData.cpp:
3369         (WebCore::FontCustomPlatformData::fontPlatformData):
3370         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
3371         (WebCore::substituteWithVerticalGlyphs):
3372         (WebCore::GlyphPage::fill):
3373
3374 2010-12-16  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
3375
3376         Reviewed by Eric Carlson.
3377
3378         Provide an interface to require using fullscreen mediaplayer
3379         https://bugs.webkit.org/show_bug.cgi?id=51133
3380
3381         Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
3382         to launch fullscreen video player for playing the html5 video. The 
3383         idea is that a browser vendor can specify this behavior through the
3384         platform plugin or something else by using this interface.
3385
3386         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
3387
3388         * html/HTMLMediaElement.cpp:
3389         (WebCore::HTMLMediaElement::updatePlayState):
3390         (WebCore::HTMLMediaElement::exitFullscreen):
3391         * page/Chrome.cpp:
3392         (WebCore::Chrome::requiresFullscreenForVideoPlayback):
3393         * page/Chrome.h:
3394         * page/ChromeClient.h:
3395         (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
3396
3397 2010-12-16  Steve Block  <steveblock@google.com>
3398
3399         Reviewed by Steve Block.
3400
3401         GeolocationPositionCache needs refactoring
3402         https://bugs.webkit.org/show_bug.cgi?id=50826
3403
3404         No new tests, refactoring only.
3405
3406         * page/Geolocation.cpp:
3407         (WebCore::Geolocation::Geolocation):
3408         (WebCore::Geolocation::makeCachedPositionCallbacks):
3409         (WebCore::Geolocation::haveSuitableCachedPosition):
3410         (WebCore::Geolocation::positionChangedInternal):
3411         * page/Geolocation.h:
3412         * page/GeolocationPositionCache.cpp:
3413         (WebCore::GeolocationPositionCache::instance):
3414         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
3415         (WebCore::GeolocationPositionCache::addUser):
3416         (WebCore::GeolocationPositionCache::removeUser):
3417         (WebCore::GeolocationPositionCache::setDatabasePath):
3418         (WebCore::GeolocationPositionCache::setCachedPosition):
3419         (WebCore::GeolocationPositionCache::cachedPosition):
3420         (WebCore::GeolocationPositionCache::readFromDatabase):
3421         (WebCore::GeolocationPositionCache::writeToDatabase):
3422         * page/GeolocationPositionCache.h:
3423         (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
3424         (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
3425         (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
3426         (WebCore::GeolocationPositionCacheWrapper::cachedPosition):
3427
3428 2010-12-16  Ariya Hidayat  <ariya@sencha.com>
3429
3430         Reviewed by Andreas Kling.
3431
3432         [Qt] GraphicsContext should respect QWebView render hints
3433         https://bugs.webkit.org/show_bug.cgi?id=51208
3434
3435         GraphicsContext does not override SmoothPixmapTransform (see also
3436         r62762). To keep the same behavior, canvas default image interpolation
3437         quality is set to medium and QWebView's render hints by default also
3438         include SmoothPixmapTransform.
3439
3440         * html/HTMLCanvasElement.h:
3441         * platform/graphics/qt/GraphicsContextQt.cpp:
3442         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3443
3444 2010-12-16  Daniel Bates  <dbates@rim.com>
3445
3446         Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
3447         so as to be consistent with the formatting of the rest of this file.
3448
3449         Also, add an empty line between the win32* and wince* conditional include blocks.
3450
3451         * WebCore.pro:
3452
3453 2010-12-16  Daniel Bates  <dbates@rim.com>
3454
3455         Reviewed by Antonio Gomes.
3456
3457         [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
3458         on Windows if ENABLE_SMOOTH_SCROLLING=1
3459         https://bugs.webkit.org/show_bug.cgi?id=51215
3460
3461         Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
3462         the Qt Windows with smooth scrolling enabled.
3463
3464         No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
3465
3466         * WebCore.pro:
3467
3468 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
3469
3470         Reviewed by Darin Adler.
3471
3472         execCommand('JustifyCenter') adds extra BR
3473         https://bugs.webkit.org/show_bug.cgi?id=51082
3474
3475         The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
3476         to new block and not removing it later. Fixed the bug by removing it when the paragraph
3477         moved into the block didn't have a br at the end.
3478
3479         Test: editing/execCommand/justify.html
3480
3481         * editing/CompositeEditCommand.cpp:
3482         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3483
3484 2010-12-16  Jian Li  <jianli@chromium.org>
3485
3486         Unreviewed. Fixed chromium build break caused by r74207.
3487
3488         * platform/ContextMenuItem.h:
3489
3490 2010-12-16  Leandro Pereira  <leandro@profusion.mobi>
3491
3492         [EFL] Unreviewed build fix.
3493
3494         Disable ContextMenu support for now while support for
3495         CROSS_PLATFORM_MENUS is written.
3496
3497         * CMakeListsEfl.txt:
3498         * platform/ContextMenu.h:
3499         * platform/ContextMenuItem.h:
3500         * platform/efl/ContextMenuEfl.cpp:
3501         (WebCore::ContextMenu::ContextMenu):
3502         (WebCore::ContextMenu::getContextMenuItems):
3503         (WebCore::ContextMenu::createNativeMenuFromItems):
3504         (WebCore::ContextMenu::nativeMenu):
3505         * platform/efl/ContextMenuItemEfl.cpp:
3506         (WebCore::ContextMenuItem::ContextMenuItem):
3507         (WebCore::ContextMenuItem::~ContextMenuItem):
3508         (WebCore::ContextMenuItem::nativeMenuItem):
3509         (WebCore::ContextMenuItem::type):
3510         (WebCore::ContextMenuItem::setAction):
3511         (WebCore::ContextMenuItem::action):
3512         (WebCore::ContextMenuItem::setChecked):
3513         (WebCore::ContextMenuItem::checked):
3514         (WebCore::ContextMenuItem::setEnabled):
3515         (WebCore::ContextMenuItem::enabled):
3516         (WebCore::ContextMenuItem::setSubMenu):
3517
3518 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
3519
3520         Reviewed by Darin Adler.
3521
3522         execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
3523         https://bugs.webkit.org/show_bug.cgi?id=51164
3524
3525         Fixed the bug by always enabling the StyleWithCSS command.
3526
3527         Test: editing/style/stylewithcss-without-selection.html
3528
3529         * editing/EditorCommand.cpp:
3530         (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
3531
3532 2010-12-16  Anders Carlsson  <andersca@apple.com>
3533
3534         Reviewed by Darin Adler.
3535
3536         Save the manual plug-in stream data and redeliver it when the plug-in is initialized
3537         https://bugs.webkit.org/show_bug.cgi?id=51201
3538
3539         Export SharedBuffer related symbols.
3540
3541         * WebCore.exp.in:
3542
3543 2010-12-16  Pavel Feldman  <pfeldman@chromium.org>
3544
3545         Reviewed by Yury Semikhatsky.
3546
3547         Web Inspector: timeline records should only operate WebCore time.
3548         https://bugs.webkit.org/show_bug.cgi?id=51127
3549
3550         * inspector/InspectorTimelineAgent.cpp:
3551         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3552         * inspector/TimelineRecordFactory.cpp:
3553         (WebCore::TimelineRecordFactory::createResourceFinishData):
3554         * inspector/TimelineRecordFactory.h:
3555
3556 2010-12-15  Alexey Proskuryakov  <ap@apple.com>
3557
3558         Reviewed by Darin Adler.
3559
3560         https://bugs.webkit.org/show_bug.cgi?id=50996
3561         <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
3562
3563         No new tests, cannot test DNS.
3564
3565         * platform/network/cf/DNSCFNet.cpp:
3566         (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
3567         a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
3568         actual request can go directly to the host if a PAC script says so.
3569         (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
3570         (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
3571
3572 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
3573
3574         Reviewed by Pavel Feldman.
3575
3576         Web Inspector: Console always scroll to the bottom on new events
3577         https://bugs.webkit.org/show_bug.cgi?id=51189
3578
3579         When new messages are added to the console it will auto scroll
3580         only if it was already scrolled down to the last record.
3581
3582         * inspector/front-end/ConsoleView.js:
3583         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
3584         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
3585         (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
3586         (WebInspector.ConsoleView.prototype.addMessage):
3587
3588 2010-12-16  Pavel Podivilov  <podivilov@chromium.org>
3589
3590         Reviewed by Yury Semikhatsky.
3591
3592         Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
3593         https://bugs.webkit.org/show_bug.cgi?id=51174
3594
3595         * inspector/front-end/BreakpointManager.js:
3596         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
3597         (WebInspector.BreakpointManager.prototype._debuggerPaused):
3598         (WebInspector.BreakpointManager.prototype._debuggerResumed):
3599         * inspector/front-end/CallStackSidebarPane.js:
3600         (WebInspector.CallStackSidebarPane):
3601         (WebInspector.CallStackSidebarPane.prototype.update):
3602         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
3603         * inspector/front-end/DebuggerModel.js:
3604         (WebInspector.DebuggerModel.prototype.pausedScript):
3605         * inspector/front-end/ScriptsPanel.js:
3606         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3607
3608 2010-12-16  Hans Wennborg  <hans@chromium.org>
3609
3610         Reviewed by Jeremy Orlow.
3611
3612         IndexedDB: Fix IDBDatabaseError code offset bug
3613         https://bugs.webkit.org/show_bug.cgi?id=51177
3614
3615         IDBDatabaseError::code() needs to return the error code without
3616         offset. But when the IDBDatabaseError is created, the code comes with
3617         an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
3618
3619         However, in Chromium, IDBDatabaseErrors are sometimes also created via
3620         WebIDBDatabaseError when they are sent across IPC, and then the error
3621         code comes *without* offset. Provide a second create() function for
3622         this case.
3623
3624         * storage/IDBDatabaseError.h:
3625         (WebCore::IDBDatabaseError::create):
3626         (WebCore::IDBDatabaseError::createWithoutOffset):
3627         (WebCore::IDBDatabaseError::code):
3628
3629 2010-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3630
3631         Unreviewed, rolling out r74162.
3632         http://trac.webkit.org/changeset/74162
3633         https://bugs.webkit.org/show_bug.cgi?id=51185
3634
3635         More breakage in GTK+ (Requested by xan_ on #webkit).
3636
3637         * platform/text/TextCodecUTF16.cpp:
3638         (WebCore::TextCodecUTF16::registerEncodingNames):
3639
3640 2010-12-16  Alexander Pavlov  <apavlov@chromium.org>
3641
3642         Reviewed by Pavel Feldman.
3643
3644         Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
3645         https://bugs.webkit.org/show_bug.cgi?id=51114
3646
3647         The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
3648         are updated once a stylesheet is reverted.
3649
3650         * inspector/front-end/ElementsPanel.js:
3651         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
3652         (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
3653         (WebInspector.ElementsPanel.prototype._styleSheetChanged):
3654
3655 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
3656
3657         Unreviewed. Fix Chromium Mac Debug Clang compilation.
3658
3659         * platform/graphics/FontFastPath.cpp:
3660         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
3661
3662 2010-12-16  Alejandro G. Castro  <alex@igalia.com>
3663
3664         Unreviewed. Fix GTK3 compilation after 74129.
3665
3666         * platform/gtk/WidgetRenderingContextGtk3.cpp:
3667
3668 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
3669
3670         Unreviewed. Fix Chromium Debug compilation after r74177 
3671
3672         * platform/graphics/filters/FEComposite.cpp:
3673         (WebCore::arithmetic):
3674
3675 2010-12-16  Kent Tamura  <tkent@chromium.org>
3676
3677         Unreviewed, build fix.
3678
3679         Fix a warning on 32-bit Mac.
3680
3681         * platform/graphics/mac/SimpleFontDataMac.mm:
3682         (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
3683
3684 2010-12-16  Zoltan Herczeg  <zherczeg@webkit.org>
3685
3686         Reviewed by Dirk Schulze.
3687
3688         Improve feArithmeticFilter
3689         https://bugs.webkit.org/show_bug.cgi?id=51105
3690
3691         In case of the arithmetic operator on feComposite filter, we could use
3692         different result passing modes depend on its type. Furthermore, the
3693         number of executed multiplications is reduced if k1 or k4 argument is zero.
3694
3695         2% speedup on WebCore/manual-tests/svg-filter-animation.svg
3696
3697         * platform/graphics/filters/FEComposite.cpp:
3698         (WebCore::computeArithmeticPixels):
3699         (WebCore::arithmetic):
3700         (WebCore::FEComposite::apply):
3701
3702 2010-12-15  Brian Weinstein  <bweinstein@apple.com>
3703
3704         Reviewed by Jon Honeycutt.
3705
3706         WebKit2 should exit auto scrolling mode when losing focus
3707         https://bugs.webkit.org/show_bug.cgi?id=49209
3708         
3709         When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
3710         don't want to automatically scroll when a page doesn't have focus.
3711
3712         Updated manual-tests/autoscroll.html with instructions to test this bug.
3713
3714         * manual-tests/autoscroll.html:
3715         * page/FocusController.cpp:
3716         (WebCore::FocusController::setFocused):
3717
3718 2010-12-15  Dan Bernstein  <mitz@apple.com>
3719
3720         Reviewed by Darin Adler.
3721
3722         Font support for the text-emphasis CSS property
3723         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
3724         https://bugs.webkit.org/show_bug.cgi?id=48539
3725
3726         * platform/graphics/Font.cpp:
3727         (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
3728         (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
3729         have an emphasis mark.
3730
3731         * platform/graphics/Font.h:
3732
3733         * platform/graphics/FontFastPath.cpp:
3734         (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
3735         parameter and made this function work with other variants.
3736         (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
3737         the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
3738         of the standard emphasis marks do so.
3739         (WebCore::Font::emphasisMarkAscent): Added.
3740         (WebCore::Font::emphasisMarkDescent): Added.
3741         (WebCore::Font::emphasisMarkHeight): Added.
3742         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
3743         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
3744         WidthIterator.
3745         (WebCore::Font::drawSimpleText): Left the drawing part here.
3746         (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
3747         (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
3748         (WebCore::offsetToMiddleOfGlyph): Added this helper.
3749         (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
3750         (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
3751         one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
3752
3753         * platform/graphics/GraphicsContext.cpp:
3754         (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
3755
3756         * platform/graphics/GraphicsContext.h:
3757
3758         * platform/graphics/SimpleFontData.cpp:
3759         (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
3760         (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
3761         in ~DerivedFontData.
3762         (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
3763         (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
3764         contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
3765         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
3766
3767         * platform/graphics/SimpleFontData.h:
3768         (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
3769
3770         * platform/graphics/WidthIterator.cpp:
3771         (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
3772         (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
3773         if they should not receive an emphasis mark.
3774
3775         * platform/graphics/WidthIterator.h:
3776
3777         * platform/graphics/chromium/FontChromiumWin.cpp:
3778         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3779
3780         * platform/graphics/chromium/FontLinux.cpp:
3781         (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
3782         (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
3783         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3784
3785         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3786         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3787         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3788         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3789
3790         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3791         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3792         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3793         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3794
3795         * platform/graphics/efl/FontEfl.cpp:
3796         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3797
3798         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3799         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3800         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3801         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3802
3803         * platform/graphics/gtk/FontGtk.cpp:
3804         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3805
3806         * platform/graphics/haiku/FontHaiku.cpp:
3807         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3808
3809         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
3810         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3811         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3812         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3813
3814         * platform/graphics/mac/ComplexTextController.cpp:
3815         (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
3816         (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
3817         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
3818         if they should not receive an emphasis mark.
3819
3820         * platform/graphics/mac/ComplexTextController.h:
3821
3822         * platform/graphics/mac/FontComplexTextMac.cpp:
3823         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
3824         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
3825         ComplexTextController.
3826         (WebCore::Font::drawComplexText): Left the drawing part here.
3827         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
3828
3829         * platform/graphics/mac/SimpleFontDataMac.mm:
3830         (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
3831         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3832         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3833         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3834
3835         * platform/graphics/pango/SimpleFontDataPango.cpp:
3836         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
3837         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3838         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3839         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3840
3841         * platform/graphics/qt/FontQt.cpp:
3842         (WebCore::Font::emphasisMarkAscent): Added stub.
3843         (WebCore::Font::emphasisMarkDescent): Ditto.
3844         (WebCore::Font::emphasisMarkHeight): Ditto.
3845         (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
3846         (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
3847
3848         * platform/graphics/win/FontWin.cpp:
3849         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
3850         into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
3851         glyph buffer for text emphasis.
3852         (WebCore::Font::drawComplexText): Left the drawing part here.
3853         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
3854
3855         * platform/graphics/win/SimpleFontDataWin.cpp:
3856         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3857         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3858         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3859
3860         * platform/graphics/win/UniscribeController.cpp:
3861         (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
3862
3863         * platform/graphics/wince/FontWinCE.cpp:
3864         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
3865
3866         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
3867         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
3868         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3869         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3870         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3871
3872         * platform/graphics/wx/FontWx.cpp:
3873         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
3874         (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
3875         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
3876
3877         * platform/graphics/wx/SimpleFontDataWx.cpp:
3878         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
3879         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
3880         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
3881
3882         * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
3883
3884 2010-12-15  Beth Dakin  <bdakin@apple.com>
3885
3886         Reviewed by Darin Adler.
3887
3888         Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 
3889         _scaleWebView SPI doesn't work on pages with compositing layers
3890         -and corresponding-
3891         <rdar://problem/8604713>
3892
3893         paintingGoesToWindow() should return false if the owning layer has 
3894         a transform.
3895         * rendering/RenderLayerBacking.cpp:
3896         (WebCore::RenderLayerBacking::paintingGoesToWindow):
3897
3898         Use docWidth() and docHeight() instead of rightLayoutOverflow() and 
3899         bottomLayoutOverflow() since docWidth/Height are now the preferred 
3900         way to query physical dimensions of the document.
3901         * rendering/RenderLayerCompositor.cpp:
3902         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3903
3904 2010-12-15  Alex Bredariol Grilo  <abgrilo@profusion.mobi>
3905
3906         Reviewed by Eric Seidel.
3907
3908         [EFL] Fix timer calling time in SharedTimerEfl
3909
3910         No new features, so no tests added.
3911
3912         The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
3913         the problem that the timer is not called at the correct time. Since this
3914         code runs in a single thread, all multiple thread operations were
3915         removed.
3916
3917         * platform/efl/SharedTimerEfl.cpp:
3918         (WebCore::stopSharedTimer):
3919         (WebCore::addNewTimer):
3920
3921 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
3922
3923         Reviewed by Ariya Hidayat.
3924
3925         [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
3926         https://bugs.webkit.org/show_bug.cgi?id=49918
3927
3928         Go through GraphicsContext::setCompositeOperation() which does the check for us.
3929
3930         * platform/graphics/qt/StillImageQt.cpp:
3931         (WebCore::StillImage::draw):
3932
3933 2010-12-15  Yong Li  <yoli@rim.com>
3934
3935         Reviewed by Darin Adler.
3936
3937         UTF-16 and its variants should be treated as Big Endian when BOM
3938         is absent.
3939         https://bugs.webkit.org/show_bug.cgi?id=51035
3940
3941         Test: fast/encoding/char-decoding.html (changed)
3942
3943         * platform/text/TextCodecUTF16.cpp:
3944         (WebCore::TextCodecUTF16::registerEncodingNames):
3945
3946 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
3947
3948         Reviewed by Chris Marrin.
3949
3950         Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
3951         https://bugs.webkit.org/show_bug.cgi?id=51070
3952         
3953         Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
3954         or in the third parameter to translate3d().
3955
3956         Test: transforms/3d/general/3dtransform-values.html
3957
3958         * css/CSSParser.cpp:
3959         (WebCore::CSSParser::parseTransform):
3960         (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
3961
3962 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
3963
3964         Reviewed by Chris Marrin.
3965
3966         Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
3967         https://bugs.webkit.org/show_bug.cgi?id=50967
3968         
3969         If a reflection on a compositied, transformed element is toggled on, off and on,
3970         then we pick up a cached layer clone that has the wrong transform set on it.
3971         
3972         The fix is to reset those properties on the layer clones that get changed
3973         when the GraphicsLayer gains a structural layer (for reflection flattening).
3974
3975         Test: compositing/reflections/remove-add-reflection.html
3976
3977         * platform/graphics/ca/GraphicsLayerCA.cpp:
3978         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3979
3980 2010-12-15  Timothy Hatcher  <timothy@apple.com>
3981
3982         Fix a regression where the Web Inspector console would be empty
3983         if the Inspector is localized.
3984
3985         https://bugs.webkit.org/show_bug.cgi?id=51145
3986
3987         Reviewed by Joseph Pecoraro.
3988
3989         * inspector/front-end/ConsoleView.js:
3990         (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
3991         is separate from the classname. Code clean up.
3992         (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
3993         (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
3994
3995 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
3996
3997         Reviewed by Adele Peterson.
3998
3999         WebKit2 in compositing mode no longer has font smoothing
4000         https://bugs.webkit.org/show_bug.cgi?id=50733
4001
4002         Only turn off font smoothing for layers whose contents are
4003         not opaque. This allows the root GraphicsLayer in WebKit2 to
4004         set the opaque flag, and get smoothed text.
4005
4006         * platform/graphics/mac/WebLayer.mm:
4007         (drawLayerContents):
4008
4009 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
4010
4011         Reviewed by Dan Bernstein.
4012
4013         Allow disabling of font smoothing in compositing layers to be overridden by style
4014         https://bugs.webkit.org/show_bug.cgi?id=50732
4015
4016         Add methods to GraphicsContext to get and set font smoothing,
4017         and have them be part of the graphics state.
4018         
4019         Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
4020         to override the current smoothing mode of the context. The global
4021         shouldUseSmoothing() still has final say.
4022         
4023         Turn off smoothing in compositing layers with this, rather than
4024         the non-stateful 'allow' method.
4025         
4026         * manual-tests/compositing/font-smoothing.html: Added.
4027         Manual test because DRT disables font smoothing.
4028         
4029         * platform/graphics/GraphicsContext.cpp:
4030         (WebCore::GraphicsContext::setShouldSmoothFonts):
4031         (WebCore::GraphicsContext::shouldSmoothFonts):
4032         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
4033         * platform/graphics/GraphicsContext.h:
4034         (WebCore::GraphicsContextState::GraphicsContextState):
4035         * platform/graphics/cg/GraphicsContextCG.cpp:
4036         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
4037         * platform/graphics/mac/FontMac.mm:
4038         (WebCore::Font::drawGlyphs):
4039         * platform/graphics/mac/WebLayer.mm:
4040         (drawLayerContents):
4041
4042 2010-12-15  Matthew Delaney  <mdelaney@apple.com>
4043
4044         Reviewed by Simon Fraser.
4045
4046         IOSurface bounds checks on bytesPerRow and allocSize are incorrect
4047         https://bugs.webkit.org/show_bug.cgi?id=51137
4048
4049         No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
4050
4051         * platform/graphics/cg/ImageBufferCG.cpp:
4052
4053 2010-12-15  Kenneth Russell  <kbr@google.com>
4054
4055         Reviewed by James Robinson.
4056
4057         Web Audio API: port FFTFrame to MKL
4058         https://bugs.webkit.org/show_bug.cgi?id=50986
4059
4060         Ported FFTFrame to Intel's MKL. This patch contains the port and
4061         initial, though not complete, build system changes. Tested so far
4062         with a unit test by Chris Rogers (which requires code changes to
4063         AudioContext.cpp and is not being checked in). Further testing to
4064         follow once layout tests are available for the Web Audio API.
4065
4066         * WebCore.gyp/WebCore.gyp:
4067         * WebCore.gypi:
4068         * platform/audio/FFTFrame.h:
4069         * platform/audio/mkl: Added.
4070         * platform/audio/mkl/FFTFrameMKL.cpp: Added.
4071         (WebCore::FFTFrame::FFTFrame):
4072         (WebCore::FFTFrame::~FFTFrame):
4073         (WebCore::FFTFrame::multiply):
4074         (WebCore::FFTFrame::doFFT):
4075         (WebCore::FFTFrame::doInverseFFT):
4076         (WebCore::FFTFrame::cleanup):
4077         (WebCore::FFTFrame::realData):
4078         (WebCore::FFTFrame::imagData):
4079         (WebCore::FFTFrame::getUpToDateComplexData):
4080         (WebCore::FFTFrame::descriptorHandleForSize):
4081
4082 2010-12-15  Yong Li  <yoli@rim.com>
4083
4084         Reviewed by Darin Adler.
4085
4086         Fix stack overflow when there are too many sibling inline boxes by using
4087         a loop to traverse children instead of calling each sibling from the first child.
4088         https://bugs.webkit.org/show_bug.cgi?id=48255
4089
4090         Test: fast/overflow/lots-of-sibling-inline-boxes.html
4091
4092         * rendering/InlineBox.h:
4093         (WebCore::InlineBox::setConstructed):
4094         (WebCore::InlineBox::next):
4095         * rendering/InlineFlowBox.h:
4096         (WebCore::InlineFlowBox::setConstructed):
4097
4098 2010-12-15  Sam Weinig  <sam@webkit.org>
4099
4100         Reviewed by Anders Carlsson.
4101
4102         WebKit2: Can't add files to an <input type=file>
4103         https://bugs.webkit.org/show_bug.cgi?id=51087
4104
4105         Add exported function.
4106
4107         * WebCore.exp.in:
4108
4109 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
4110
4111         Reviewed by Antonio Gomes.
4112
4113         [Qt] screenIsMonochrome() is broken
4114         https://bugs.webkit.org/show_bug.cgi?id=49957
4115
4116         * platform/qt/PlatformScreenQt.cpp:
4117         (WebCore::screenIsMonochrome):
4118
4119 2010-12-15  Martin Robinson  <mrobinson@igalia.com>
4120
4121         Reviewed by Gustavo Noronha Silva.
4122
4123         [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
4124         https://bugs.webkit.org/show_bug.cgi?id=48486
4125
4126         Implement button rendering in RenderThemeGtk. The implementation
4127         from gtk{2,3}drawing.cpp will be removed once menu list button rendering
4128         is implemented in RenderThemeGtk as well.
4129
4130         No new tests, as this should not change functionality.
4131
4132         * platform/gtk/RenderThemeGtk.cpp:
4133         (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
4134         rendering that uses WidgetRenderingContext.
4135
4136 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
4137
4138         Reviewed by Gustavo Noronha Silva.
4139
4140         [GTK] Move input type=range rendering to RenderThemeGtk
4141         https://bugs.webkit.org/show_bug.cgi?id=47836
4142
4143         Begin moving widget rendering out of the old Mozilla theme drawing code,
4144         which should remove many lines of code when completed. WidgetRenderingContext
4145         now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
4146         version agnostic.
4147
4148         No new tests as this patch does not change functionality.
4149
4150         * platform/gtk/RenderThemeGtk.cpp:
4151         (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
4152         GtkWidget, so update the cast here.
4153         (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
4154         converts a RenderObject state into a GtkStateType.
4155         (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
4156         scale painting, as it's not handled by this method any longer.
4157         (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
4158         WidgetRenderingContext.
4159         (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
4160         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
4161         properties directly from the widget now instead of asking the Mozilla code.
4162         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
4163         helper which reduces the amount of code quite a bit.
4164         (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
4165         (WebCore::RenderThemeGtk::gtkButton): Ditto.
4166         (WebCore::RenderThemeGtk::gtkEntry): Ditto.
4167         (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
4168         (WebCore::RenderThemeGtk::gtkVScale): Added.
4169         (WebCore::RenderThemeGtk::gtkHScale): Added.
4170         (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
4171         GTK_CONTAINER cast.
4172         * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
4173          GtkVScale members.
4174         * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
4175         gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
4176         * platform/gtk/WidgetRenderingContextGtk2.cpp:
4177         (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
4178         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
4179         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
4180         * platform/gtk/WidgetRenderingContextGtk3.cpp:
4181         (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
4182         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
4183         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
4184         * platform/gtk/gtk2drawing.c: Removed defunct code!
4185         (moz_gtk_get_widget_border):
4186         (moz_gtk_widget_paint):
4187         * platform/gtk/gtk3drawing.c: Ditto.
4188         (moz_gtk_get_widget_border):
4189         (moz_gtk_widget_paint):
4190         * platform/gtk/gtkdrawing.h:
4191
4192 2010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
4193
4194         Unreviewed, rolling out r74117.
4195         http://trac.webkit.org/changeset/74117
4196         https://bugs.webkit.org/show_bug.cgi?id=51113
4197