2010-12-03 Simon Fraser <simon.fraser@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
2
3         Fix Chromium build.
4
5         * platform/graphics/skia/PlatformContextSkia.h:
6
7 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
8
9         Reviewed by Andreas Kling.
10
11         [CMake] Remove WebCore_IDL_PURE_FILES
12         https://bugs.webkit.org/show_bug.cgi?id=50445
13
14         * CMakeLists.txt:
15
16 2010-12-03  Jia Pu  <jpu@apple.com>
17
18         Reviewed by Darin Adler.
19
20         Need to move all code that applies correction into correction panel callback.
21         https://bugs.webkit.org/show_bug.cgi?id=50426
22         <rdar://problem/8720832>
23
24         No new test, since there's no behavioral change.
25
26         This patch is to prepare WebKit to work with upcoming AppKit changes. The main changes are:
27         1. Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
28         2. Added more user dictionary learning code.
29         3. Removed m_ prefix in all member variables of CorrectionPanelInfo.
30
31         * editing/CorrectionPanelInfo.h: Remove m_ prefix on member variables. Added ReasonForDismissingCorrectionPanel enum type.
32
33         * editing/Editor.cpp: Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
34           Adopted new member variable naming in class CorrectionPanelInfo.
35         (WebCore::Editor::respondToChangedSelection):
36         (WebCore::Editor::~Editor):
37         (WebCore::Editor::markMisspellingsAfterTypingToWord):
38         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
39         (WebCore::Editor::correctionPanelTimerFired):
40         (WebCore::Editor::handleCorrectionPanelResult):
41         (WebCore::Editor::startCorrectionPanelTimer):
42         (WebCore::Editor::stopCorrectionPanelTimer):
43         (WebCore::Editor::handleCancelOperation):
44         (WebCore::Editor::dismissCorrectionPanel):
45         (WebCore::Editor::applyCorrectionPanelInfo):
46
47         * editing/Editor.h: Changed signature of dismissCorrectionPanel to use ReasonForDismissingCorrectionPanel.
48
49         * loader/EmptyClients.h: Ditto.
50         (WebCore::EmptyEditorClient::dismissCorrectionPanel):
51
52         * page/EditorClient.h: Ditto.
53
54 2010-12-03  Pavel Feldman  <pfeldman@chromium.org>
55
56         Reviewed by Yury Semikhatsky.
57
58         Web Inspector: reveal in elements panel does not switch the panel itself.
59         https://bugs.webkit.org/show_bug.cgi?id=50408
60
61         * inspector/front-end/ElementsTreeOutline.js:
62         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
63         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
64         * inspector/front-end/ObjectPropertiesSection.js:
65         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
66
67 2010-12-03  Simon Fraser  <simon.fraser@apple.com>
68
69         Reviewed by Nikolas Zimmermann.
70
71         Clean up some text-related code on GraphicsContext
72         https://bugs.webkit.org/show_bug.cgi?id=50464
73
74         Use defined types for textDrawingMode and it's associated flags.
75
76         * html/canvas/CanvasRenderingContext2D.cpp:
77         (WebCore::CanvasRenderingContext2D::drawTextInternal):
78         * platform/graphics/GraphicsContext.cpp:
79         (WebCore::GraphicsContext::textDrawingMode):
80         (WebCore::GraphicsContext::setTextDrawingMode):
81         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
82         * platform/graphics/GraphicsContext.h:
83         * platform/graphics/GraphicsContextPrivate.h:
84         (WebCore::GraphicsContextState::GraphicsContextState):
85         * platform/graphics/cairo/FontCairo.cpp:
86         (WebCore::drawGlyphsShadow):
87         (WebCore::Font::drawGlyphs):
88         * platform/graphics/cg/GraphicsContextCG.cpp:
89         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
90         * platform/graphics/chromium/FontLinux.cpp:
91         (WebCore::Font::drawGlyphs):
92         (WebCore::Font::drawComplexText):
93         * platform/graphics/gtk/FontGtk.cpp:
94         (WebCore::drawGlyphsShadow):
95         (WebCore::Font::drawComplexText):
96         * platform/graphics/mac/FontMac.mm:
97         (WebCore::Font::drawGlyphs):
98         * platform/graphics/openvg/PainterOpenVG.cpp:
99         (WebCore::PlatformPainterState::PlatformPainterState):
100         (WebCore::PainterOpenVG::textDrawingMode):
101         (WebCore::PainterOpenVG::setTextDrawingMode):
102         (WebCore::PainterOpenVG::drawText):
103         * platform/graphics/qt/FontQt.cpp:
104         (WebCore::drawTextCommon):
105         * platform/graphics/skia/PlatformContextSkia.cpp:
106         (WebCore::PlatformContextSkia::State::State):
107         (WebCore::PlatformContextSkia::getTextDrawingMode):
108         (WebCore::PlatformContextSkia::setTextDrawingMode):
109         * platform/graphics/skia/SkiaFontWin.cpp:
110         (WebCore::windowsCanHandleTextDrawing):
111         (WebCore::paintSkiaText):
112         * platform/graphics/texmap/TextureMapper.h:
113         (WebCore::TextureMapper::setTextDrawingMode):
114         (WebCore::TextureMapper::textDrawingMode):
115         (WebCore::TextureMapper::TextureMapper):
116         * platform/graphics/win/FontCGWin.cpp:
117         (WebCore::drawGDIGlyphs):
118         (WebCore::Font::drawGlyphs):
119         * platform/graphics/wince/GraphicsContextWinCE.cpp:
120         (WebCore::GraphicsContext::drawText):
121         * rendering/InlineTextBox.cpp:
122         (WebCore::updateGraphicsContext):
123         * rendering/RenderSVGResourceGradient.cpp:
124         (WebCore::RenderSVGResourceGradient::applyResource):
125         * rendering/RenderSVGResourcePattern.cpp:
126         (WebCore::RenderSVGResourcePattern::applyResource):
127         * rendering/RenderSVGResourceSolidColor.cpp:
128         (WebCore::RenderSVGResourceSolidColor::applyResource):
129         * svg/SVGFont.cpp:
130         (WebCore::Font::drawTextUsingSVGFont):
131
132 2010-12-03  Chris Rogers  <crogers@google.com>
133
134         Reviewed by Kenneth Russell.
135
136         First steps to adding web audio files to build systems
137         https://bugs.webkit.org/show_bug.cgi?id=49952
138
139         No new tests since audio API is not yet implemented.
140
141         * CMakeLists.txt:
142         * DerivedSources.make:
143         * ForwardingHeaders/wtf/Complex.h: Added.
144         * GNUmakefile.am:
145         * WebCore.gyp/WebCore.gyp:
146         * WebCore.gypi:
147         * WebCore.pri:
148         * WebCore.pro:
149         * bindings/js/JSDOMWindowCustom.cpp:
150         (WebCore::JSDOMWindow::audioContext):
151         * features.pri:
152         * page/DOMWindow.idl:
153         * platform/audio/HRTFElevation.cpp:
154
155 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
156
157         Reviewed by David Levin.
158
159         Use String::adopt in TextCodecWinCE::decode
160         https://bugs.webkit.org/show_bug.cgi?id=50319
161
162         * platform/text/wince/TextCodecWinCE.cpp:
163         (WebCore::TextCodecWinCE::decode):
164
165 2010-12-03  Brady Eidson  <beidson@apple.com>
166
167         Reviewed by Anders Carlsson.
168
169         Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
170         WebKit2 Authentication Support
171
172         * WebCore.exp.in:
173
174         Expose the AuthenticationClient for WK2 platforms (Windows already does this):
175         * platform/network/mac/AuthenticationChallenge.h:
176         * platform/network/mac/AuthenticationMac.mm:
177         (-[WebCoreAuthenticationClientAsChallengeSender client]):
178         (WebCore::AuthenticationChallenge::authenticationClient):
179
180         * platform/network/qt/AuthenticationChallenge.h:
181         (WebCore::AuthenticationChallenge::authenticationClient):
182
183 2010-12-03  Ryosuke Niwa  <rniwa@webkit.org>
184
185         Reviewed by Darin Adler.
186
187         REGRESSION: Crash when deleting text after textarea's value is modified on input event
188         https://bugs.webkit.org/show_bug.cgi?id=49962
189
190         The crash was caused by TypingCommand::deleteKeyPressed's reusing a typing command for
191         textarea's shadow DOM after its input event handler rewrote the value set by the typing command.
192         Because the reused typing command's ending selection was pointing at a shadow node
193         that has been detached from the document when the event handler set the new value,
194         rootEditableElement of the ending selection was null and caused the crash.
195
196         Fixed the bug by updating the ending selection of the last typing command when it differsfrom
197         that of the current selection held by the SelectionController in TypingCommand::deleteKeyPressed.
198         Also fixed similar bugs in forwardDeleteKeyPressed and insertText, and insertTextRunWithoutNewlines.
199
200         Tests: editing/input/set-value-on-input-and-delete.html
201                editing/input/set-value-on-input-and-forward-delete.html
202                editing/input/set-value-on-input-and-type-input.html
203                editing/input/set-value-on-input-and-type-textarea.html
204
205         * editing/InsertTextCommand.h: Added TypingCommand as a friend because it needs to update selection.
206         * editing/TypingCommand.cpp:
207         (WebCore::TypingCommand::deleteKeyPressed): Updates the last typing command's selection as needed.
208         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
209         (WebCore::TypingCommand::insertText): Ditto.
210         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): Added.
211         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Updates InsertTextCommand's selection as needed.
212         * editing/TypingCommand.h:
213
214 2010-12-03  Daniel Cheng  <dcheng@chromium.org>
215
216         Reviewed by Tony Chang.
217
218         Dragging and dropping into an empty document crashes WebKit.
219         https://bugs.webkit.org/show_bug.cgi?id=48793
220
221         Remove the assert and update callers to check for a null return value.
222
223         Test: manual-tests/drop-in-empty-doc.html
224
225         * manual-tests/drop-in-empty-doc.html: Added.
226         * manual-tests/resources/drop-in-empty-doc.xhtml: Added.
227         * page/DragController.cpp:
228         (WebCore::elementUnderMouse):
229         (WebCore::DragController::tryDocumentDrag):
230         (WebCore::DragController::concludeEditDrag):
231
232 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
233
234         Reviewed by Andreas Kling.
235
236         Move Inspector generator logic into main CMakeLists.txt file
237         https://bugs.webkit.org/show_bug.cgi?id=50445
238
239         * CMakeLists.txt:
240
241 2010-12-03 Patrick Gansterer <paroga@webkit.org>
242
243         Reviewed by Andreas Kling.
244
245         Move StringWx.cpp into wtf directory
246         https://bugs.webkit.org/show_bug.cgi?id=50060
247
248         * WebCore.gypi:
249         * platform/text/wx/StringWx.cpp: Removed.
250
251 2010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
252
253         Reviewed by Darin Adler.
254
255         REGRESSION(r72783): DOMActivate fires multiple times from input type=file
256         https://bugs.webkit.org/show_bug.cgi?id=50396
257
258         Test: fast/events/shadow-boundary-crossing-2.html
259
260         * dom/EventContext.cpp: Reverted changes made in r72783.
261         * dom/EventContext.h: Ditto.
262         * dom/Node.cpp:
263         (WebCore::Node::containsIncludingShadowDOM): Added.
264         (WebCore::Node::dispatchGenericEvent): Reverted changes made in r72783.
265         * dom/Node.h: Added decl.
266         * html/HTMLLabelElement.cpp:
267         (WebCore::HTMLLabelElement::defaultEventHandler): Reverted changes made in r72783.
268
269 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
270
271         Reviewed by Andreas Kling.
272
273         Move StringBrew.cpp into wtf directory
274         https://bugs.webkit.org/show_bug.cgi?id=50058
275
276         * platform/text/brew/StringBrew.cpp: Removed.
277
278 2010-12-03  Patrick Gansterer  <paroga@webkit.org>
279
280         Reviewed by Andreas Kling.
281
282         Move StringHaiku.cpp into wtf directory
283         https://bugs.webkit.org/show_bug.cgi?id=50057
284
285         * platform/text/haiku/StringHaiku.cpp: Removed.
286
287 2010-12-03  Jessie Berlin  <jberlin@apple.com>
288
289         Reviewed by Sam Weinig.
290
291         Need a WebKit2 Equivalent of WebSecurityOrigin
292         https://bugs.webkit.org/show_bug.cgi?id=50170
293
294         * WebCore.exp.in:
295         Export the symbol for SecurityOrigin::createFromDatabaseIdentifier.
296
297 2010-12-03  Andras Becsi  <abecsi@inf.u-szeged.hu>
298
299         Unreviewed build fix after r73254.
300
301         [Qt][V8] Add missing headers to $headerIncludes rather than $implIncludes
302         because headers are needed by the generated .h files.
303
304         No new tests needed.
305
306         * bindings/scripts/CodeGeneratorV8.pm:
307
308 2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
309
310         Reviewed by Dirk Schulze.
311
312         1336 files in WebCore rebuild when you touch SVGNames
313         https://bugs.webkit.org/show_bug.cgi?id=42025
314
315         Remove global SVGNames.h dependency, as SVGAnimatedPropertyMacros.h included it.
316         This requires to add the SVGNames.h include to lots of cpp files.
317
318         No functional changes, thus no new tests.
319
320         * css/CSSCursorImageValue.cpp:
321         * css/CSSFontFaceSource.cpp:
322         * dom/Node.cpp:
323         * loader/cache/CachedFont.cpp:
324         * rendering/RenderSVGResourceClipper.cpp:
325         * rendering/RenderSVGResourceFilter.cpp:
326         * rendering/RenderSVGTransformableContainer.cpp:
327         * rendering/RenderSVGViewportContainer.cpp:
328         * rendering/SVGRenderTreeAsText.cpp:
329         * rendering/SVGResources.cpp:
330         * rendering/svg/RenderSVGTextPath.cpp:
331         * rendering/svg/SVGRootInlineBox.cpp:
332         * svg/SVGAnimateElement.cpp:
333         * svg/SVGAnimateMotionElement.cpp:
334         * svg/SVGAnimateTransformElement.cpp:
335         * svg/SVGDefsElement.cpp:
336         * svg/SVGFEBlendElement.cpp:
337         * svg/SVGFEDisplacementMapElement.cpp:
338         * svg/SVGFEMergeElement.cpp:
339         * svg/SVGFEMergeNodeElement.cpp:
340         * svg/SVGFEOffsetElement.cpp:
341         * svg/SVGFETileElement.cpp:
342         * svg/SVGFETurbulenceElement.cpp:
343         * svg/SVGFont.cpp:
344         * svg/SVGGElement.cpp:
345         * svg/SVGImageElement.cpp:
346         * svg/SVGLength.cpp:
347         * svg/SVGMPathElement.cpp:
348         * svg/SVGPathElement.cpp:
349         * svg/SVGPathSegList.cpp:
350         * svg/SVGStyledTransformableElement.cpp:
351         * svg/SVGSymbolElement.cpp:
352         * svg/SVGTextContentElement.cpp:
353         * svg/SVGTextElement.cpp:
354         * svg/SVGTextPathElement.cpp:
355         * svg/SVGUseElement.cpp:
356         * svg/SVGViewSpec.cpp:
357         * svg/animation/SMILTimeContainer.cpp:
358         * svg/properties/SVGAnimatedPropertyMacros.h:
359         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
360
361 2010-12-02  Philippe Normand  <pnormand@igalia.com>
362
363         Reviewed by Martin Robinson.
364
365         [GStreamer] hasVideo/Audio return false until the pipeline reaches PAUSED
366         https://bugs.webkit.org/show_bug.cgi?id=50382
367
368         Go to PAUSED even if preload is deactivated. In that case don't
369         process the GStreamer state changes until commitLoad() has been
370         called. This patch also fixes hasVideo and hasAudio methods,
371         making them reactive to the playbin2 audio/video tags-changed
372         signals.
373
374         Test: media/controls-without-preload.html
375
376         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
377         (WebCore::mediaPlayerPrivateMessageCallback):
378         (WebCore::mediaPlayerPrivateVideoTagsChangedCallback):
379         (WebCore::mediaPlayerPrivateAudioTagsChangedCallback):
380         (WebCore::mediaPlayerPrivateAudioTagsChangeTimeoutCallback):
381         (WebCore::mediaPlayerPrivateVideoTagsChangeTimeoutCallback):
382         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
383         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
384         (WebCore::MediaPlayerPrivateGStreamer::load):
385         (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
386         (WebCore::MediaPlayerPrivateGStreamer::videoTagsChanged):
387         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoTags):
388         (WebCore::MediaPlayerPrivateGStreamer::audioTagsChanged):
389         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudioTags):
390         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
391         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
392         (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
393         (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
394         (WebCore::MediaPlayerPrivateGStreamer::loadDelayed):
395
396 2010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
397
398         Reviewed by Dirk Schulze.
399
400         Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
401         https://bugs.webkit.org/show_bug.cgi?id=50440
402
403         Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
404         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
405
406         No functional changes, thus no new tests.
407
408         * svg/SVGAElement.cpp:
409         * svg/SVGAElement.h:
410         * svg/SVGAnimatedAngle.h:
411         * svg/SVGAnimatedBoolean.h:
412         * svg/SVGAnimatedInteger.h:
413         * svg/SVGAnimatedPreserveAspectRatio.h:
414         * svg/SVGAnimatedRect.h:
415         * svg/SVGAnimationElement.cpp:
416         * svg/SVGAnimationElement.h:
417         (WebCore::SVGAnimationElement::calculateDistance):
418         (WebCore::SVGAnimationElement::animationPath):
419         * svg/SVGCircleElement.cpp:
420         * svg/SVGCircleElement.h:
421         * svg/SVGClipPathElement.cpp:
422         * svg/SVGClipPathElement.h:
423         * svg/SVGCursorElement.cpp:
424         * svg/SVGCursorElement.h:
425         * svg/SVGDefsElement.cpp:
426         * svg/SVGDefsElement.h:
427         * svg/SVGEllipseElement.cpp:
428         * svg/SVGEllipseElement.h:
429         * svg/SVGFEConvolveMatrixElement.cpp:
430         * svg/SVGFEConvolveMatrixElement.h:
431         * svg/SVGFEImageElement.cpp:
432         * svg/SVGFEImageElement.h:
433         * svg/SVGFETurbulenceElement.cpp:
434         * svg/SVGFETurbulenceElement.h:
435         * svg/SVGFilterElement.cpp:
436         * svg/SVGFilterElement.h:
437         * svg/SVGFilterPrimitiveStandardAttributes.h:
438         * svg/SVGFontElement.cpp:
439         (WebCore::SVGFontElement::firstMissingGlyphElement):
440         (WebCore::SVGFontElement::ensureGlyphCache):
441         * svg/SVGFontElement.h:
442         * svg/SVGForeignObjectElement.cpp:
443         * svg/SVGForeignObjectElement.h:
444         * svg/SVGGElement.cpp:
445         * svg/SVGGElement.h:
446         (WebCore::SVGGElement::isShadowTreeContainerElement):
447         (WebCore::SVGGElement::isValid):
448         * svg/SVGGradientElement.cpp:
449         * svg/SVGGradientElement.h:
450         * svg/SVGImageElement.cpp:
451         * svg/SVGImageElement.h:
452         * svg/SVGLineElement.cpp:
453         * svg/SVGLineElement.h:
454         * svg/SVGLinearGradientElement.h:
455         * svg/SVGMPathElement.cpp:
456         * svg/SVGMPathElement.h:
457         * svg/SVGMarkerElement.cpp:
458         * svg/SVGMarkerElement.h:
459         * svg/SVGMaskElement.cpp:
460         * svg/SVGMaskElement.h:
461         * svg/SVGPathElement.cpp:
462         * svg/SVGPathElement.h:
463         * svg/SVGPatternElement.cpp:
464         * svg/SVGPatternElement.h:
465         * svg/SVGPolyElement.cpp:
466         * svg/SVGPolyElement.h:
467         * svg/SVGRadialGradientElement.h:
468         * svg/SVGRectElement.cpp:
469         * svg/SVGRectElement.h:
470         * svg/SVGSVGElement.cpp:
471         (WebCore::SVGSVGElement::contentScriptType):
472         (WebCore::SVGSVGElement::contentStyleType):
473         (WebCore::SVGSVGElement::parseMappedAttribute):
474         * svg/SVGSVGElement.h:
475         * svg/SVGScriptElement.cpp:
476         * svg/SVGScriptElement.h:
477         * svg/SVGSwitchElement.cpp:
478         * svg/SVGSwitchElement.h:
479         (WebCore::SVGSwitchElement::isValid):
480         * svg/SVGSymbolElement.cpp:
481         * svg/SVGSymbolElement.h:
482         (WebCore::SVGSymbolElement::rendererIsNeeded):
483         * svg/SVGTextContentElement.cpp:
484         * svg/SVGTextContentElement.h:
485         * svg/SVGUseElement.cpp:
486         * svg/SVGUseElement.h:
487         * svg/SVGViewElement.cpp:
488         * svg/SVGViewElement.h:
489         (WebCore::SVGViewElement::viewTarget):
490         (WebCore::SVGViewElement::rendererIsNeeded):
491         * svg/SVGViewSpec.cpp:
492         * svg/SVGViewSpec.h:
493         (WebCore::SVGViewSpec::transform):
494         (WebCore::SVGViewSpec::viewTargetString):
495         (WebCore::SVGViewSpec::contextElement):
496         * svg/properties/SVGAnimatedPropertyMacros.h:
497
498 2010-12-03  Noel Gordon  <noel.gordon@gmail.com>
499
500         Reviewed by Darin Fisher.
501
502         [chromium] PNG encoder leaks memory on png_write_row errors.
503         https://bugs.webkit.org/show_bug.cgi?id=50439
504
505         Move the creation of needed C++ objects before the setjmp() point so
506         those objects have their destructors called if libpng errors invoke
507         the setjmp() return path.
508    
509         Other minor cleanup: use the skia bitmap locker class, and remove the
510         PNGDestroyer class - instead directly call png_destroy_write_struct()
511         at each of the encodeImpl() return points.
512
513         No change in behaviour, so no new tests.
514
515         * platform/image-encoders/skia/PNGImageEncoder.cpp:
516         (WebCore::encodeImpl):
517         (WebCore::PNGImageEncoder::encode):
518
519 2010-12-02  Philippe Normand  <pnormand@igalia.com>
520
521         Reviewed by Eric Carlson.
522
523         Theme not updated when MediaPlayer m_private engine changes
524         https://bugs.webkit.org/show_bug.cgi?id=50228
525
526         Trigger a new rendering of the media element when the private
527         media-player backend is updated.
528
529         * html/HTMLMediaElement.cpp:
530         (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
531         * html/HTMLMediaElement.h:
532         * platform/graphics/MediaPlayer.cpp:
533         (WebCore::MediaPlayer::MediaPlayer):
534         (WebCore::MediaPlayer::load):
535         * platform/graphics/MediaPlayer.h:
536         (WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
537
538 2010-12-03  Yonathan Randolph  <yonathan@gmail.com>
539
540         Reviewed by Alexey Proskuryakov.
541
542         XPath lexer misinterprets expression starting with "div".
543         https://bugs.webkit.org/show_bug.cgi?id=50366
544
545         * xml/XPathParser.cpp:
546         * xml/XPathParser.h:
547         (WebCore::XPath::Parser::isOperatorContext): removed (renamed)
548         (WebCore::XPath::Parser::isBinaryOperatorContext): added
549
550 2010-12-02  Rob Buis  <rwlbuis@gmail.com>
551
552         Reviewed by Alexey Proskuryakov.
553
554         CSS 2.1 failure: at-import-*
555         https://bugs.webkit.org/show_bug.cgi?id=47153
556
557         Fix at-import-010.htm by only setting m_allowImportRules
558         to false when creating valid style or page rules.
559  
560          Test: css2.1/t040105-import-10-b.html
561
562         * css/CSSParser.cpp:
563         (WebCore::CSSParser::createStyleRule):
564
565 2010-12-02  Aaron Boodman  <aa@chromium.org>
566
567         Reviewed by David Hyatt.
568
569         Reduce the number of cases where we end up with a stale value for
570         minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
571         large number of cases.
572
573         RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
574         https://bugs.webkit.org/show_bug.cgi?id=50119
575
576         * rendering/RenderBox.cpp:
577         (WebCore::RenderBox::styleDidChange):
578
579 2010-12-02  Gregg Tavares  <gman@google.com>
580
581         Reviewed by David Levin.
582
583         Need to initialize destination variables before calling GL
584         https://bugs.webkit.org/show_bug.cgi?id=50048
585
586         No new tests because no change in functionality.
587
588         * html/canvas/WebGLFramebuffer.cpp:
589         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
590         * html/canvas/WebGLProgram.cpp:
591         (WebCore::WebGLProgram::cacheActiveAttribLocations):
592         * html/canvas/WebGLRenderingContext.cpp:
593         (WebCore::WebGLRenderingContext::getAttachedShaders):
594         (WebCore::WebGLRenderingContext::getBufferParameter):
595         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
596         (WebCore::WebGLRenderingContext::getBooleanParameter):
597         (WebCore::WebGLRenderingContext::getFloatParameter):
598         (WebCore::WebGLRenderingContext::getLongParameter):
599         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
600         * platform/graphics/chromium/LayerChromium.cpp:
601         (WebCore::loadShader):
602         (WebCore::LayerChromium::createShaderProgram):
603         * platform/graphics/chromium/LayerRendererChromium.cpp:
604         (WebCore::LayerRendererChromium::initializeSharedObjects):
605         * platform/graphics/gpu/DrawingBuffer.cpp:
606         (WebCore::DrawingBuffer::reset):
607         * platform/graphics/gpu/Shader.cpp:
608         (WebCore::Shader::loadProgram):
609
610 2010-12-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
611
612         Reviewed by Andreas Kling.
613
614         [Qt] Enable Web Timing for Qt
615         https://bugs.webkit.org/show_bug.cgi?id=42433
616
617         * features.pri: Enable Web Timing for trunk (but not yet for
618           production)
619
620 2010-12-02  Andy Estes  <aestes@apple.com>
621
622         Rubber-stamped by Mark Rowe.
623
624         Update bindings test results with new GObject results.
625
626         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
627         (WebKit::kit):
628         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
629         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
630         (WebKit::kit):
631         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
632         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
633         (WebKit::kit):
634         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
635         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
636         (WebKit::kit):
637         (webkit_dom_test_obj_obj_method):
638         (webkit_dom_test_obj_obj_method_with_args):
639         (webkit_dom_test_obj_method_that_requires_all_args):
640         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
641         (webkit_dom_test_obj_with_script_state_obj):
642         (webkit_dom_test_obj_with_script_state_obj_exception):
643         (webkit_dom_test_obj_get_read_only_test_obj_attr):
644         (webkit_dom_test_obj_get_test_obj_attr):
645         (webkit_dom_test_obj_get_xml_obj_attr):
646         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
647
648 2010-12-02  Simon Fraser  <simon.fraser@apple.com>
649
650         Revert r73217 and r73227 because of continued bustage.
651
652         * WebCore.xcodeproj/project.pbxproj:
653         * platform/graphics/GraphicsLayer.h:
654         (WebCore::GraphicsLayer::nativeLayer):
655         * platform/graphics/ca/PlatformCAAnimation.h: Removed.
656         * platform/graphics/ca/PlatformCALayer.h: Removed.
657         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Removed.
658         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Removed.
659         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
660         (WebCore::GraphicsLayerChromium::nativeLayer):
661         * platform/graphics/chromium/GraphicsLayerChromium.h:
662         * platform/graphics/mac/GraphicsLayerMac.h: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
663         (WebCore::GraphicsLayerMac::hasContentsLayer):
664         (WebCore::GraphicsLayerMac::primaryLayer):
665         (WebCore::GraphicsLayerMac::isReplicatedRootClone):
666         (WebCore::GraphicsLayerMac::primaryLayerClones):
667         (WebCore::GraphicsLayerMac::animationIsRunning):
668         (WebCore::GraphicsLayerMac::contentsLayer):
669         (WebCore::GraphicsLayerMac::ReplicaState::ReplicaState):
670         (WebCore::GraphicsLayerMac::ReplicaState::push):
671         (WebCore::GraphicsLayerMac::ReplicaState::setBranchType):
672         (WebCore::GraphicsLayerMac::ReplicaState::pop):
673         (WebCore::GraphicsLayerMac::ReplicaState::depth):
674         (WebCore::GraphicsLayerMac::ReplicaState::replicaDepth):
675         (WebCore::GraphicsLayerMac::hasCloneLayers):
676         (WebCore::GraphicsLayerMac::LayerPropertyAnimation::LayerPropertyAnimation):
677         (WebCore::GraphicsLayerMac::AnimationProcessingAction::AnimationProcessingAction):
678         * platform/graphics/mac/GraphicsLayerMac.mm: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
679         (WebCore::currentTimeToMediaTime):
680         (WebCore::mediaTimeToCurrentTime):
681         (-[WebAnimationDelegate animationDidStart:]):
682         (-[WebAnimationDelegate WebCore::]):
683         (-[WebAnimationDelegate setLayer:WebCore::]):
684         (WebCore::copyTransform):
685         (WebCore::getTransformFunctionValue):
686         (WebCore::getValueFunctionNameForTransformOperation):
687         (WebCore::propertyIdToString):
688         (WebCore::animationIdentifier):
689         (WebCore::getCAMediaTimingFunction):
690         (WebCore::setLayerBorderColor):
691         (WebCore::clearBorderColor):
692         (WebCore::setLayerBackgroundColor):
693         (WebCore::clearLayerBackgroundColor):
694         (WebCore::safeSetSublayers):
695         (WebCore::caValueFunctionSupported):
696         (WebCore::forceSoftwareAnimation):
697         (WebCore::nullActionsDictionary):
698         (WebCore::animationHasStepsTimingFunction):
699         (WebCore::GraphicsLayer::create):
700         (WebCore::GraphicsLayerMac::GraphicsLayerMac):
701         (WebCore::GraphicsLayerMac::~GraphicsLayerMac):
702         (WebCore::GraphicsLayerMac::setName):
703         (WebCore::GraphicsLayerMac::nativeLayer):
704         (WebCore::GraphicsLayerMac::setChildren):
705         (WebCore::GraphicsLayerMac::addChild):
706         (WebCore::GraphicsLayerMac::addChildAtIndex):
707         (WebCore::GraphicsLayerMac::addChildBelow):
708         (WebCore::GraphicsLayerMac::addChildAbove):
709         (WebCore::GraphicsLayerMac::replaceChild):
710         (WebCore::GraphicsLayerMac::removeFromParent):
711         (WebCore::GraphicsLayerMac::setMaskLayer):
712         (WebCore::GraphicsLayerMac::setReplicatedLayer):
713         (WebCore::GraphicsLayerMac::setReplicatedByLayer):
714         (WebCore::GraphicsLayerMac::setPosition):
715         (WebCore::GraphicsLayerMac::setAnchorPoint):
716         (WebCore::GraphicsLayerMac::setSize):
717         (WebCore::GraphicsLayerMac::setTransform):
718         (WebCore::GraphicsLayerMac::setChildrenTransform):
719         (WebCore::GraphicsLayerMac::moveOrCopyLayerAnimation):
720         (WebCore::GraphicsLayerMac::moveOrCopyAnimationsForProperty):
721         (WebCore::GraphicsLayerMac::setPreserves3D):
722         (WebCore::GraphicsLayerMac::setMasksToBounds):
723         (WebCore::GraphicsLayerMac::setDrawsContent):
724         (WebCore::GraphicsLayerMac::setBackgroundColor):
725         (WebCore::GraphicsLayerMac::clearBackgroundColor):
726         (WebCore::GraphicsLayerMac::setContentsOpaque):
727         (WebCore::GraphicsLayerMac::setBackfaceVisibility):
728         (WebCore::GraphicsLayerMac::setOpacity):
729         (WebCore::GraphicsLayerMac::setNeedsDisplay):
730         (WebCore::GraphicsLayerMac::setNeedsDisplayInRect):
731         (WebCore::GraphicsLayerMac::setContentsNeedsDisplay):
732         (WebCore::GraphicsLayerMac::setContentsRect):
733         (WebCore::GraphicsLayerMac::addAnimation):
734         (WebCore::GraphicsLayerMac::pauseAnimation):
735         (WebCore::GraphicsLayerMac::removeAnimation):
736         (WebCore::GraphicsLayerMac::animationDidStart):
737         (WebCore::GraphicsLayerMac::setContentsToImage):
738         (WebCore::GraphicsLayerMac::setContentsToMedia):
739         (WebCore::GraphicsLayerMac::didDisplay):
740         (WebCore::GraphicsLayerMac::syncCompositingState):
741         (WebCore::GraphicsLayerMac::syncCompositingStateForThisLayerOnly):
742         (WebCore::GraphicsLayerMac::recursiveCommitChanges):
743         (WebCore::GraphicsLayerMac::commitLayerChangesBeforeSublayers):
744         (WebCore::GraphicsLayerMac::commitLayerChangesAfterSublayers):
745         (WebCore::GraphicsLayerMac::updateLayerNames):
746         (WebCore::GraphicsLayerMac::updateSublayerList):
747         (WebCore::GraphicsLayerMac::updateLayerPosition):
748         (WebCore::GraphicsLayerMac::updateLayerSize):
749         (WebCore::GraphicsLayerMac::updateAnchorPoint):
750         (WebCore::GraphicsLayerMac::updateTransform):
751         (WebCore::GraphicsLayerMac::updateChildrenTransform):
752         (WebCore::GraphicsLayerMac::updateMasksToBounds):
753         (WebCore::GraphicsLayerMac::updateContentsOpaque):
754         (WebCore::GraphicsLayerMac::updateBackfaceVisibility):
755         (WebCore::GraphicsLayerMac::updateStructuralLayer):
756         (WebCore::GraphicsLayerMac::ensureStructuralLayer):
757         (WebCore::GraphicsLayerMac::structuralLayerPurpose):
758         (WebCore::GraphicsLayerMac::updateLayerDrawsContent):
759         (WebCore::GraphicsLayerMac::updateLayerBackgroundColor):
760         (WebCore::GraphicsLayerMac::updateContentsImage):
761         (WebCore::GraphicsLayerMac::updateContentsMediaLayer):
762         (WebCore::GraphicsLayerMac::updateContentsCanvasLayer):
763         (WebCore::GraphicsLayerMac::updateContentsRect):
764         (WebCore::GraphicsLayerMac::updateMaskLayer):
765         (WebCore::GraphicsLayerMac::updateReplicatedLayers):
766         (WebCore::GraphicsLayerMac::ReplicaState::cloneID):
767         (WebCore::GraphicsLayerMac::replicatedLayerRoot):
768         (WebCore::GraphicsLayerMac::updateLayerAnimations):
769         (WebCore::GraphicsLayerMac::setCAAnimationOnLayer):
770         (WebCore::bug7311367Workaround):
771         (WebCore::GraphicsLayerMac::removeCAAnimationFromLayer):
772         (WebCore::copyAnimationProperties):
773         (WebCore::GraphicsLayerMac::pauseCAAnimationOnLayer):
774         (WebCore::GraphicsLayerMac::setContentsToCanvas):
775         (WebCore::GraphicsLayerMac::repaintLayerDirtyRects):
776         (WebCore::GraphicsLayerMac::updateContentsNeedsDisplay):
777         (WebCore::GraphicsLayerMac::createAnimationFromKeyframes):
778         (WebCore::GraphicsLayerMac::createTransformAnimationsFromKeyframes):
779         (WebCore::GraphicsLayerMac::createBasicAnimation):
780         (WebCore::GraphicsLayerMac::createKeyframeAnimation):
781         (WebCore::GraphicsLayerMac::setupAnimation):
782         (WebCore::GraphicsLayerMac::timingFunctionForAnimationValue):
783         (WebCore::GraphicsLayerMac::setAnimationEndpoints):
784         (WebCore::GraphicsLayerMac::setAnimationKeyframes):
785         (WebCore::GraphicsLayerMac::setTransformAnimationEndpoints):
786         (WebCore::GraphicsLayerMac::setTransformAnimationKeyframes):
787         (WebCore::GraphicsLayerMac::suspendAnimations):
788         (WebCore::GraphicsLayerMac::resumeAnimations):
789         (WebCore::GraphicsLayerMac::hostLayerForSublayers):
790         (WebCore::GraphicsLayerMac::layerForSuperlayer):
791         (WebCore::GraphicsLayerMac::animatedLayer):
792         (WebCore::GraphicsLayerMac::animatedLayerClones):
793         (WebCore::GraphicsLayerMac::platformLayer):
794         (WebCore::GraphicsLayerMac::setDebugBackgroundColor):
795         (WebCore::GraphicsLayerMac::setDebugBorder):
796         (WebCore::GraphicsLayerMac::constrainedSize):
797         (WebCore::GraphicsLayerMac::requiresTiledLayer):
798         (WebCore::GraphicsLayerMac::swapFromOrToTiledLayer):
799         (WebCore::GraphicsLayerMac::defaultContentsOrientation):
800         (WebCore::GraphicsLayerMac::updateContentsTransform):
801         (WebCore::GraphicsLayerMac::setupContentsLayer):
802         (WebCore::GraphicsLayerMac::findOrMakeClone):
803         (WebCore::GraphicsLayerMac::ensureCloneLayers):
804         (WebCore::GraphicsLayerMac::removeCloneLayers):
805         (WebCore::GraphicsLayerMac::positionForCloneRootLayer):
806         (WebCore::GraphicsLayerMac::propagateLayerChangeToReplicas):
807         (WebCore::GraphicsLayerMac::fetchCloneLayers):
808         (WebCore::GraphicsLayerMac::cloneLayer):
809         (WebCore::GraphicsLayerMac::setOpacityInternal):
810         (WebCore::GraphicsLayerMac::updateOpacityOnLayer):
811         (WebCore::GraphicsLayerMac::noteSublayersChanged):
812         (WebCore::GraphicsLayerMac::noteLayerPropertyChanged):
813         * platform/graphics/mac/WebLayer.h:
814         * platform/graphics/mac/WebLayer.mm:
815         (-[WebLayer initWithLayer:]):
816         (-[WebLayer setNeedsDisplay]):
817         (-[WebLayer setNeedsDisplayInRect:]):
818         (-[WebLayer display]):
819         (-[WebLayer drawInContext:]):
820         (-[WebLayer setLayerOwner:]):
821         (-[WebLayer layerOwner]):
822         * platform/graphics/mac/WebTiledLayer.h:
823         * platform/graphics/mac/WebTiledLayer.mm:
824         (-[WebTiledLayer initWithLayer:]):
825         (-[WebTiledLayer setNeedsDisplay]):
826         (-[WebTiledLayer setNeedsDisplayInRect:]):
827         (-[WebTiledLayer display]):
828         (-[WebTiledLayer drawInContext:]):
829         (-[WebTiledLayer setLayerOwner:]):
830         (-[WebTiledLayer layerOwner]):
831         * platform/graphics/qt/GraphicsLayerQt.cpp:
832         (WebCore::GraphicsLayerQtImpl::flushChanges):
833         (WebCore::GraphicsLayerQt::nativeLayer):
834         * platform/graphics/qt/GraphicsLayerQt.h:
835         * platform/graphics/win/GraphicsLayerCACF.cpp:
836         (WebCore::GraphicsLayerCACF::nativeLayer):
837         * platform/graphics/win/GraphicsLayerCACF.h:
838
839 2010-12-02  Noel Gordon  <noel.gordon@gmail.com>
840
841         Reviewed by David Levin.
842         [chromium] Remove dead code from PNG encoder
843         https://bugs.webkit.org/show_bug.cgi?id=50377
844
845         Also webkit style the PNG encoder files.
846
847         No change in behaviour, so no new tests.
848
849         * platform/image-encoders/skia/PNGImageEncoder.cpp:
850         (WebCore::encodeImpl):
851         (WebCore::PNGImageEncoder::encode):
852         * platform/image-encoders/skia/PNGImageEncoder.h:
853
854 2010-12-02  Yuta Kitamura  <yutak@chromium.org>
855
856         Reviewed by Alexey Proskuryakov.
857
858         An attempt to fix Chromium's clang build.
859
860         Implement (non-EventListener) marquee IDL attributes from HTML5.
861         https://bugs.webkit.org/show_bug.cgi?id=49786
862
863         * rendering/style/RenderStyle.h:
864         (WebCore::InheritedFlags::initialMarqueeSpeed):
865
866 2010-12-02  Mikhail Naganov  <mnaganov@chromium.org>
867
868         Reviewed by Pavel Feldman.
869
870         Web Inspector: Fix heap snapshots loading. Loading is now
871         conducted by the Profiles panel which prevents accidental
872         simultaneous attempts to load the same profile several times in
873         parallel.
874
875         https://bugs.webkit.org/show_bug.cgi?id=50427
876
877         * inspector/front-end/HeapSnapshotView.js:
878         (WebInspector.HeapSnapshotView.prototype._loadProfile):
879         (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
880         * inspector/front-end/ProfilesPanel.js:
881         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
882         (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
883         (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
884
885 2010-12-02  Chris Marrin  <cmarrin@apple.com>
886
887         Reviewed by Simon Fraser.
888
889         Fix Leopard build broken by http://trac.webkit.org/changeset/73217
890
891         * platform/graphics/ca/GraphicsLayerCA.cpp:
892         (WebCore::getTransformFunctionValue):
893         (WebCore::GraphicsLayerCA::updateContentsTransform):
894         * platform/graphics/ca/PlatformCALayer.h:
895         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
896         (PlatformCAAnimation::valueFunction):
897         (PlatformCAAnimation::setValueFunction):
898         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
899         (PlatformCALayer::PlatformCALayer):
900         (PlatformCALayer::anchorPoint):
901         (PlatformCALayer::setAnchorPoint):
902         (PlatformCALayer::contentsTransform):
903         (PlatformCALayer::setContentsTransform):
904         (PlatformCALayer::isGeometryFlipped):
905         (PlatformCALayer::setGeometryFlipped):
906         (PlatformCALayer::setMinificationFilter):
907         (PlatformCALayer::setMagnificationFilter):
908
909 2010-12-02  Dan Bernstein  <mitz@apple.com>
910
911         Reviewed by Dave Hyatt.
912
913         CSS support for the text-emphasis properties
914         https://bugs.webkit.org/show_bug.cgi?id=48539
915
916         Test: fast/css/parsing-text-emphasis.html
917
918         * css/CSSComputedStyleDeclaration.cpp:
919         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added text-emphasis-color,
920         text-emphasis-position and text-emphasis-style. Left the text-emphasis shorthand unsupported.
921         * css/CSSParser.cpp:
922         (WebCore::CSSParser::parseValue): Parse the properties.
923         (WebCore::CSSParser::parseTextEmphasisStyle): Added.
924         * css/CSSParser.h:
925         * css/CSSPrimitiveValueMappings.h:
926         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added TextEmphasisPosition, TextEmphasisFill
927         and TextEmphasisMark mappings.
928         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition): Added.
929         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill): Added.
930         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark): Added.
931         * css/CSSPropertyLonghand.cpp:
932         (WebCore::initShorthandMap): Added the text-emphasis shorthand.
933         * css/CSSPropertyNames.in: Added -webkit-text-emphasis, -webkit-text-emphasis-color,
934         -webkit-text-emphasis-position, and -webkit-text-emphasis-style.
935         * css/CSSStyleSelector.cpp:
936         (WebCore::isValidVisitedLinkProperty): Added text-emphasis-color.
937         (WebCore::CSSStyleSelector::applyProperty): Handle the properties.
938         * css/CSSValueKeywords.in: Added 'over' and 'under' for text-emphasis-position. Added 'dot',
939         'double-circle', 'triangle', 'sesame', 'filled' and 'open' for text-emphasis-style.
940         * rendering/style/RenderStyle.cpp:
941         (WebCore::RenderStyle::colorIncludingFallback): Handle text-emphasis-color.
942         (WebCore::RenderStyle::textEmphasisMark): Added. Maps the fake 'auto' value to 'dot' or
943         'sesame' based on writing direction.
944         * rendering/style/RenderStyle.h: Added accessors.
945         (WebCore::InheritedFlags::textEmphasisFill):
946         (WebCore::InheritedFlags::textEmphasisCustomMark):
947         (WebCore::InheritedFlags::textEmphasisPosition):
948         (WebCore::InheritedFlags::setTextEmphasisColor):
949         (WebCore::InheritedFlags::setTextEmphasisFill):
950         (WebCore::InheritedFlags::setTextEmphasisMark):
951         (WebCore::InheritedFlags::setTextEmphasisCustomMark):
952         (WebCore::InheritedFlags::setTextEmphasisPosition):
953         (WebCore::InheritedFlags::initialTextEmphasisColor):
954         (WebCore::InheritedFlags::initialTextEmphasisFill):
955         (WebCore::InheritedFlags::initialTextEmphasisMark):
956         (WebCore::InheritedFlags::initialTextEmphasisCustomMark):
957         (WebCore::InheritedFlags::initialTextEmphasisPosition):
958         (WebCore::InheritedFlags::textEmphasisColor):
959         * rendering/style/RenderStyleConstants.h:
960         * rendering/style/StyleRareInheritedData.cpp:
961         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
962         (WebCore::StyleRareInheritedData::operator==):
963         * rendering/style/StyleRareInheritedData.h:
964
965 2010-12-02  Chris Marrin  <cmarrin@apple.com>
966
967         Reviewed by Simon Fraser.
968
969         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
970         https://bugs.webkit.org/show_bug.cgi?id=49388
971
972         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
973         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
974         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
975         platform neutral as long as implementations of those two classes are available. 
976         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
977         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
978         to avoid confusion since both names were used to refer to the same thing. 
979
980         This patch is only for Mac. Windows implementation has not changed.
981
982         * WebCore.xcodeproj/project.pbxproj:
983         * platform/graphics/GraphicsLayer.h:
984         * platform/graphics/ca: Added.
985         * platform/graphics/ca/GraphicsLayerCA.cpp: Added.
986         * platform/graphics/ca/GraphicsLayerCA.h: Added.
987         * platform/graphics/ca/PlatformCAAnimation.h: Added.
988         * platform/graphics/ca/PlatformCALayer.h: Added.
989         * platform/graphics/ca/mac: Added.
990         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Added.
991         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Added.
992         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
993         * platform/graphics/chromium/GraphicsLayerChromium.h:
994         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
995         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
996         * platform/graphics/mac/WebLayer.h:
997         * platform/graphics/mac/WebLayer.mm:
998         * platform/graphics/mac/WebTiledLayer.h:
999         * platform/graphics/mac/WebTiledLayer.mm:
1000         * platform/graphics/qt/GraphicsLayerQt.cpp:
1001         * platform/graphics/qt/GraphicsLayerQt.h:
1002         * platform/graphics/win/GraphicsLayerCACF.cpp:
1003         * platform/graphics/win/GraphicsLayerCACF.h:
1004
1005 2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1006
1007         Reviewed by Darin Adler.
1008
1009         Update ResourceLoaderSet Enumeration
1010         https://bugs.webkit.org/show_bug.cgi?id=50405
1011
1012         Use size_t when working with Vectors and when comparing between size_t types.
1013
1014         * loader/DocumentLoader.cpp:
1015         (WebCore::cancelAll):
1016         (WebCore::setAllDefersLoading):
1017
1018 2010-12-02  Jian Li  <jianli@chromium.org>
1019
1020         Reviewed by Kenneth Russell.
1021
1022         Integer calculation issues in DataView constructor
1023         https://bugs.webkit.org/show_bug.cgi?id=50354
1024
1025         Test: fast/canvas/webgl/data-view-crash.html
1026
1027         * html/canvas/DataView.cpp:
1028         (WebCore::DataView::create):
1029
1030 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1031
1032         Reviewed by Darin Adler.
1033
1034         Add AtomicString::fromUTF8
1035         https://bugs.webkit.org/show_bug.cgi?id=45594
1036
1037         Use AtomicString::fromUTF8 directly in the libxml2 parser.
1038
1039         * dom/XMLDocumentParserLibxml2.cpp:
1040         (WebCore::toAtomicString):
1041
1042 2010-12-02  Andy Estes  <aestes@apple.com>
1043
1044         Fix the Qt Linux Release minimal build.
1045
1046         * html/HTMLMarqueeElement.cpp: Include ExceptionCode.h
1047
1048 2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1049
1050         Reviewed by Darin Adler.
1051
1052         Update ResourceLoaderSet Enumeration
1053         https://bugs.webkit.org/show_bug.cgi?id=50405
1054
1055         * loader/DocumentLoader.cpp:
1056         (WebCore::cancelAll): instead of copying the HashSet, use copyToVector.
1057         (WebCore::setAllDefersLoading): instead of copying the HashSet, use copyToVector.
1058
1059 2010-12-02  Andy Estes  <aestes@apple.com>
1060
1061         Reviewed by Darin Adler.
1062
1063         Implement (non-EventListener) marquee IDL attributes from HTML5.
1064         https://bugs.webkit.org/show_bug.cgi?id=49786
1065
1066         Test: fast/html/marquee-element.html
1067
1068         * html/HTMLMarqueeElement.cpp:
1069         (WebCore::HTMLMarqueeElement::scrollAmount): If the content attribute
1070         can be converted to a signed integer and is >= 0, return it.
1071         Otherwise, return the default scrollAmount value.
1072         (WebCore::HTMLMarqueeElement::setScrollAmount): Update the content
1073         attribute if it is >= 0. Otherwise, raise INDEX_SIZE_ERR.
1074         (WebCore::HTMLMarqueeElement::scrollDelay): Same as scrollAmount.
1075         (WebCore::HTMLMarqueeElement::setScrollDelay): Same as setScrollAmount.
1076         (WebCore::HTMLMarqueeElement::loop): If the content attribute can be
1077         converted to a signed integer and is greater than 0 or equal to -1,
1078         return it. Otherwise, return the default loop value.
1079         (WebCore::HTMLMarqueeElement::setLoop): Update the content attribute if
1080         it is greater than 0 or equal to -1. Otherwise, raise INDEX_SIZE_ERR.
1081         * html/HTMLMarqueeElement.h:
1082         * html/HTMLMarqueeElement.idl: Update the IDL to match what is in HTML5.
1083         * rendering/style/RenderStyle.h:
1084         (WebCore::InheritedFlags::initialMarqueeSpeed):
1085
1086 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1087
1088         Reviewed by Andreas Kling.
1089
1090         [OpenVG] Remove "current path" of GraphicsContext
1091         https://bugs.webkit.org/show_bug.cgi?id=50294
1092
1093         * platform/graphics/GraphicsContext.h:
1094         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1095         (WebCore::GraphicsContext::fillPath):
1096         (WebCore::GraphicsContext::strokePath):
1097         (WebCore::GraphicsContext::clipPath):
1098         * platform/graphics/openvg/PainterOpenVG.cpp:
1099         (WebCore::PainterOpenVG::PainterOpenVG):
1100         (WebCore::PainterOpenVG::~PainterOpenVG):
1101         (WebCore::PainterOpenVG::drawPath):
1102         * platform/graphics/openvg/PainterOpenVG.h:
1103
1104 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1105
1106         Reviewed by Andreas Kling.
1107
1108         [WINCE] Remove "current path" of GraphicsContext
1109         https://bugs.webkit.org/show_bug.cgi?id=50284
1110
1111         * platform/graphics/GraphicsContext.h:
1112         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1113         (WebCore::GraphicsContext::fillPath):
1114         (WebCore::GraphicsContext::strokePath):
1115
1116 2010-12-02  Johnny Ding  <jnd@chromium.org>
1117
1118         Reviewed by Adam Barth.
1119
1120         Set the right gesture status for URL redirections.
1121         https://bugs.webkit.org/show_bug.cgi?id=47817
1122
1123         Tests: fast/frames/location-redirect-user-gesture.html
1124                fast/frames/meta-refresh-user-gesture.html
1125
1126         * loader/NavigationScheduler.cpp:
1127         (WebCore::ScheduledNavigation::clearUserGesture):
1128         (WebCore::ScheduledRedirect::ScheduledRedirect):
1129
1130 2010-12-02  Chris Rogers  <crogers@google.com>
1131
1132         Reviewed by Kenneth Russell.
1133
1134         AudioContext needs createBuffer() method from ArrayBuffer
1135         https://bugs.webkit.org/show_bug.cgi?id=50343
1136
1137         No new tests since audio API is not yet implemented.
1138
1139         * webaudio/AudioContext.cpp:
1140         (WebCore::AudioContext::createBuffer):
1141         * webaudio/AudioContext.h:
1142         * webaudio/AudioContext.idl:
1143
1144 2010-12-02  Noel Gordon  <noel.gordon@gmail.com>
1145
1146         Reviewed by David Levin.
1147
1148         [chromium] Add canvas.toDataURL("image/jpeg", quality) support
1149         https://bugs.webkit.org/show_bug.cgi?id=49365
1150
1151         Adds a libjpeg-based image encoder for Skia bitmaps.  Default encoding quality
1152         is 92 to match Mozilla, also Safari, though the actual value used by Safari is
1153         undocumented, and it appears to pre-blur images prior to compression.
1154
1155         The preMultipliedBGRAtoRGB() routine restores the un-premultiplied RGB colors
1156         where there is non-zero alpha.  Again, this matches Firefox and Safari, but no
1157         browser conforms to the HTML5 canvas standard here, I believe, considering the
1158         result of canvas/philip/tests/toDataURL.jpeg.alpha.html; that test ignores the
1159         alpha channel when extracting an "image/jpeg".toDataURL().  The correct answer
1160         needs more investigation, bug http://webkit.org/b/40147.
1161
1162         Canvas toDataURL is covered by existing tests canvas/philip/tests/toDataURL.*,
1163         and fast/canvas/*toDataURL* tests.
1164
1165         * WebCore.gypi:
1166         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1167         (WebCore::V8HTMLCanvasElement::toDataURLCallback): don't set encoding quality
1168         here, just pass the toDataURL parameters through to the canvas layer.
1169         * platform/chromium/MIMETypeRegistryChromium.cpp:
1170         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): implement
1171         the supported mimeTypes for encoding in-place.
1172         * platform/graphics/skia/ImageBufferSkia.cpp:
1173         (WebCore::ImageBuffer::toDataURL): add jpeg encoding and quality support.
1174         * platform/image-encoders/skia/JPEGImageEncoder.cpp: Added.
1175         (WebCore::prepareOutput):
1176         (WebCore::writeOutput):
1177         (WebCore::finishOutput):
1178         (WebCore::handleError):
1179         (WebCore::preMultipliedBGRAtoRGB): FIXME: bug 40147.
1180         (WebCore::JPEGImageEncoder::encode):
1181         * platform/image-encoders/skia/JPEGImageEncoder.h: Added.
1182
1183 2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1184
1185         Unreviewed, rolling out r73152.
1186         http://trac.webkit.org/changeset/73152
1187         https://bugs.webkit.org/show_bug.cgi?id=50401
1188
1189         the patch has broken chromium win layout tests (Requested by
1190         loislo on #webkit).
1191
1192         * inspector/CodeGeneratorInspector.pm:
1193         * inspector/Inspector.idl:
1194         * inspector/front-end/Callback.js:
1195         * inspector/front-end/DOMAgent.js:
1196         (WebInspector.DOMNode):
1197         * inspector/front-end/inspector.js:
1198         (WebInspector.loaded.WebInspector.socket.onmessage):
1199         (WebInspector.dispatch):
1200         (WebInspector_syncDispatch):
1201         (WebInspector.reportProtocolError):
1202
1203 2010-12-02  W. James MacLean  <wjmaclean@chromium.org>
1204
1205         Reviewed by James Robinson.
1206
1207         Scaled Resized images are blurred when sent to Skia
1208         https://bugs.webkit.org/show_bug.cgi?id=42370
1209
1210         This patch modifies ImageSkia.cpp to fix the calculation of resampled
1211         bitmap sizes so as to include the transform matrix of the canvas.
1212         Includes new tests to catch a scrolling regression and a clipping regression.
1213
1214         Tests: svg/custom/image-rescale-clip.html
1215                svg/custom/image-rescale-scroll.html
1216                svg/custom/image-rescale.svg
1217
1218         * platform/graphics/skia/ImageSkia.cpp:
1219         (WebCore::computeResamplingMode):
1220         (WebCore::drawResampledBitmap):
1221
1222 2010-12-02  Erik Arvidsson  <arv@chromium.org>
1223
1224         Reviewed by Darin Adler.
1225
1226         Missing DOM property for incremental input attribute
1227         https://bugs.webkit.org/show_bug.cgi?id=50335
1228
1229         Test: fast/forms/incremental-dom-property.html
1230
1231         * html/HTMLInputElement.idl: Added attribute
1232
1233 2010-12-02  John Knottenbelt  <jknotten@chromium.org>
1234
1235         Reviewed by Steve Block.
1236
1237         Move requestGeolocationPermissionForFrame to GeolocationClient
1238         https://bugs.webkit.org/show_bug.cgi?id=50061
1239
1240         This change facilitates client-based geolocation implementation by
1241         bringing together permission control into the geolocation client
1242         interface.
1243
1244         * page/Chrome.h:
1245         * page/ChromeClient.h:
1246         * page/Geolocation.cpp:
1247         (WebCore::Geolocation::disconnectFrame):
1248         (WebCore::Geolocation::requestPermission):
1249         * page/GeolocationClient.h:
1250         * page/GeolocationController.cpp:
1251         (WebCore::GeolocationController::requestPermission):
1252         (WebCore::GeolocationController::cancelPermissionRequest):
1253         * page/GeolocationController.h:
1254         * platform/mock/GeolocationClientMock.cpp:
1255         (WebCore::GeolocationClientMock::GeolocationClientMock):
1256         (WebCore::GeolocationClientMock::setPermission):
1257         (WebCore::GeolocationClientMock::requestPermission):
1258         (WebCore::GeolocationClientMock::cancelPermissionRequest):
1259         (WebCore::GeolocationClientMock::asyncUpdatePermission):
1260         (WebCore::GeolocationClientMock::permissionTimerFired):
1261         (WebCore::GeolocationClientMock::reset):
1262         (WebCore::GeolocationClientMock::stopUpdating):
1263         (WebCore::GeolocationClientMock::asyncUpdateController):
1264         (WebCore::GeolocationClientMock::controllerTimerFired):
1265         * platform/mock/GeolocationClientMock.h:
1266
1267 2010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
1268
1269         Reviewed by Pavel Feldman.
1270
1271         Web Inspector: Inspector protocol cleanup task.
1272
1273         The patch has just small renames and adjustments for the protocol things.
1274         'handler' keyword in idl file was replaced with 'domain'.
1275         'domain' property was assigned for the each backend to frontend messages.
1276         At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
1277
1278         https://bugs.webkit.org/show_bug.cgi?id=50337
1279
1280         * inspector/CodeGeneratorInspector.pm:
1281         * inspector/Inspector.idl:
1282         * inspector/front-end/inspector.js:
1283         (WebInspector_syncDispatch):
1284
1285 2010-12-01  Andrey Kosyakov  <caseq@chromium.org>
1286
1287         Reviewed by Pavel Feldman.
1288
1289         Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
1290         Re-implementing HAR export functionality that used to be in Resources
1291         tab in Network tab.
1292         https://bugs.webkit.org/show_bug.cgi?id=45663
1293
1294         * inspector/front-end/NetworkPanel.js:
1295         (WebInspector.NetworkPanel.prototype._createTable):
1296         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1297         (WebInspector.NetworkPanel.prototype._contextMenu):
1298         (WebInspector.NetworkPanel.prototype._exportAll):
1299         (WebInspector.NetworkPanel.prototype._exportResource):
1300         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
1301         * inspector/front-end/networkPanel.css:
1302         (.data-grid table.data tr.revealed.network-item):
1303         (.data-grid.filter-other table.data tr.revealed.network-category-other):
1304
1305 2010-12-02  Dai Mikurube  <dmikurube@google.com>
1306
1307         Reviewed by Kent Tamura.
1308
1309         Reject named colors, accept only #rrggbb in <input type=color />
1310         https://bugs.webkit.org/show_bug.cgi?id=50308
1311
1312         * html/ColorInputType.cpp: Modified to accept only simple colors like #xxxxxx.
1313         (WebCore::isValidColorString):
1314
1315 2010-12-02  Vincent Scheib  <scheib@chromium.org>
1316
1317         Reviewed by Darin Fisher.
1318
1319         [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
1320         https://bugs.webkit.org/show_bug.cgi?id=50285
1321
1322         Test by loading "about:histograms" after navigating to accelerated pages.
1323
1324         * platform/chromium/ChromiumBridge.h: api update.
1325
1326 2010-12-02  Andras Becsi  <abecsi@webkit.org>
1327
1328         Unreviewed build fix.
1329
1330         [Qt][V8] Fix linking of generated sources.
1331
1332         No new tests needed.
1333
1334         * WebCore.pro: add missing V8ImageDataCustom.cpp.
1335
1336 2010-12-02  Nikolas Zimmermann  <nzimmermann@rim.com>
1337
1338         Reviewed by Adam Roben.
1339
1340         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration
1341         https://bugs.webkit.org/show_bug.cgi?id=50383
1342
1343         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(STRING|ENUMERATION) / DEFINE_ANIMATED_(STRING|ENUMERATION).
1344         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
1345
1346         No functional changes, thus no new tests.
1347
1348         * svg/SVGAElement.cpp:
1349         * svg/SVGAElement.h:
1350         (WebCore::SVGAElement::isValid):
1351         (WebCore::SVGAElement::target):
1352         * svg/SVGAltGlyphElement.cpp:
1353         * svg/SVGAltGlyphElement.h:
1354         * svg/SVGAnimatedEnumeration.h:
1355         * svg/SVGAnimatedString.h:
1356         * svg/SVGClipPathElement.cpp:
1357         * svg/SVGClipPathElement.h:
1358         * svg/SVGComponentTransferFunctionElement.cpp:
1359         * svg/SVGComponentTransferFunctionElement.h:
1360         * svg/SVGCursorElement.cpp:
1361         * svg/SVGCursorElement.h:
1362         * svg/SVGFEBlendElement.cpp:
1363         * svg/SVGFEBlendElement.h:
1364         * svg/SVGFEColorMatrixElement.cpp:
1365         * svg/SVGFEColorMatrixElement.h:
1366         * svg/SVGFEComponentTransferElement.cpp:
1367         * svg/SVGFEComponentTransferElement.h:
1368         * svg/SVGFECompositeElement.cpp:
1369         * svg/SVGFECompositeElement.h:
1370         * svg/SVGFEConvolveMatrixElement.cpp:
1371         * svg/SVGFEConvolveMatrixElement.h:
1372         * svg/SVGFEDiffuseLightingElement.cpp:
1373         * svg/SVGFEDiffuseLightingElement.h:
1374         * svg/SVGFEDisplacementMapElement.cpp:
1375         * svg/SVGFEDisplacementMapElement.h:
1376         * svg/SVGFEGaussianBlurElement.cpp:
1377         * svg/SVGFEGaussianBlurElement.h:
1378         * svg/SVGFEImageElement.cpp:
1379         * svg/SVGFEImageElement.h:
1380         * svg/SVGFELightElement.cpp:
1381         * svg/SVGFEMergeNodeElement.cpp:
1382         * svg/SVGFEMergeNodeElement.h:
1383         * svg/SVGFEMorphologyElement.cpp:
1384         * svg/SVGFEMorphologyElement.h:
1385         * svg/SVGFEOffsetElement.cpp:
1386         * svg/SVGFEOffsetElement.h:
1387         * svg/SVGFESpecularLightingElement.cpp:
1388         * svg/SVGFESpecularLightingElement.h:
1389         * svg/SVGFETileElement.cpp:
1390         * svg/SVGFETileElement.h:
1391         * svg/SVGFETurbulenceElement.cpp:
1392         * svg/SVGFETurbulenceElement.h:
1393         * svg/SVGFilterElement.cpp:
1394         * svg/SVGFilterElement.h:
1395         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1396         * svg/SVGFilterPrimitiveStandardAttributes.h:
1397         * svg/SVGForeignObjectElement.cpp:
1398         * svg/SVGForeignObjectElement.h:
1399         * svg/SVGGradientElement.cpp:
1400         * svg/SVGGradientElement.h:
1401         * svg/SVGImageElement.cpp:
1402         * svg/SVGImageElement.h:
1403         * svg/SVGMPathElement.cpp:
1404         * svg/SVGMPathElement.h:
1405         * svg/SVGMarkerElement.cpp:
1406         * svg/SVGMarkerElement.h:
1407         * svg/SVGMaskElement.cpp:
1408         * svg/SVGMaskElement.h:
1409         * svg/SVGPatternElement.cpp:
1410         * svg/SVGPatternElement.h:
1411         * svg/SVGScriptElement.cpp:
1412         * svg/SVGScriptElement.h:
1413         * svg/SVGStyledElement.cpp:
1414         * svg/SVGStyledElement.h:
1415         (WebCore::SVGStyledElement::hasRelativeLengths):
1416         (WebCore::SVGStyledElement::supportsMarkers):
1417         (WebCore::SVGStyledElement::style):
1418         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1419         (WebCore::SVGStyledElement::selfHasRelativeLengths):
1420         (WebCore::SVGStyledElement::isStyled):
1421         * svg/SVGTRefElement.cpp:
1422         * svg/SVGTRefElement.h:
1423         * svg/SVGTextContentElement.cpp:
1424         * svg/SVGTextContentElement.h:
1425         * svg/SVGTextPathElement.cpp:
1426         * svg/SVGTextPathElement.h:
1427         * svg/SVGUseElement.cpp:
1428         * svg/SVGUseElement.h:
1429
1430 2010-12-02  Patrick Gansterer  <paroga@webkit.org>
1431
1432         Reviewed by Andreas Kling.
1433
1434         [WX] Remove "current path" of GraphicsContext
1435         https://bugs.webkit.org/show_bug.cgi?id=50286
1436
1437         * platform/graphics/GraphicsContext.h:
1438         * platform/graphics/wx/GraphicsContextWx.cpp:
1439         (WebCore::GraphicsContext::GraphicsContext):
1440         (WebCore::GraphicsContext::fillPath):
1441         (WebCore::GraphicsContext::strokePath):
1442
1443 2010-10-26  Martin Robinson  <mrobinson@igalia.com>
1444
1445         Reviewed by Xan Lopez.
1446
1447         [GTK] Text input controls do not react properly to CSS styling
1448         https://bugs.webkit.org/show_bug.cgi?id=40855
1449
1450         Improve text input control rendering. Instead of using the GTK+ border
1451         attributes of the control modify the padding, they modify the border.
1452         Make this same choice for search inputs and text area inputs.
1453
1454         * platform/gtk/RenderThemeGtk.cpp:
1455         (WebCore::setTextInputBorders): Added this helper which sets text input control
1456         borders based on GTK+ theme settings.
1457         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Use the setTextInputBorders helper.
1458         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
1459         (WebCore::RenderThemeGtk::adjustSearchFieldStyle): Ditto.
1460         * platform/gtk/RenderThemeGtk.h:
1461
1462 2010-12-02  Andreas Kling  <kling@webkit.org>
1463
1464         Reviewed by Kenneth Rohde Christiansen.
1465
1466         [Qt] GraphicsContext::strokeRect() taints the context's lineWidth
1467         https://bugs.webkit.org/show_bug.cgi?id=50269
1468
1469         Test: fast/canvas/canvas-lineWidth-intact-after-strokeRect.html
1470
1471         * platform/graphics/qt/GraphicsContextQt.cpp:
1472         (WebCore::GraphicsContext::strokeRect): Restore the context's
1473         original stroke thickness after painting.
1474
1475 2010-12-02  Renata Hodovan  <reni@webkit.org>
1476
1477         Reviewed by Andreas Kling.
1478
1479         [Qt] GraphicsContext::clip(path) should clip using winding fill 
1480         https://bugs.webkit.org/show_bug.cgi?id=49912
1481
1482         GraphicsContext::clip(path) now uses winding fill and this function is called by
1483         GraphicsContext::canvasClip(path).
1484
1485         No new test is needed.
1486
1487         * platform/graphics/qt/GraphicsContextQt.cpp:
1488         (WebCore::GraphicsContext::clip):
1489         (WebCore::GraphicsContext::canvasClip):
1490
1491 2010-12-01  Alexander Pavlov  <apavlov@chromium.org>
1492
1493         Reviewed by Yury Semikhatsky.
1494
1495         Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
1496         https://bugs.webkit.org/show_bug.cgi?id=50318
1497
1498         * CMakeLists.txt:
1499         * GNUmakefile.am:
1500         * WebCore.gypi:
1501         * WebCore.order:
1502         * WebCore.pro:
1503         * WebCore.vcproj/WebCore.vcproj:
1504         * WebCore.xcodeproj/project.pbxproj:
1505         * inspector/Inspector.idl:
1506         * inspector/InspectorCSSAgent.h:
1507         * inspector/InspectorCSSStore.cpp: Removed.
1508         * inspector/InspectorCSSStore.h: Removed.
1509         * inspector/InspectorController.cpp:
1510         (WebCore::InspectorController::InspectorController):
1511         (WebCore::InspectorController::connectFrontend):
1512         (WebCore::InspectorController::didCommitLoad):
1513         * inspector/InspectorController.h:
1514         * inspector/InspectorDOMAgent.cpp:
1515         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1516         (WebCore::InspectorDOMAgent::unbind):
1517         * inspector/InspectorDOMAgent.h:
1518         (WebCore::InspectorDOMAgent::create):
1519
1520 2010-12-02  Csaba Osztrogonác  <ossy@webkit.org>
1521
1522         Unreviewed trivial buildfix after r73117.
1523
1524         * page/FrameView.cpp:
1525         (WebCore::FrameView::calculateScrollbarModesForLayout):
1526
1527 2010-12-02  Yuqiang Xian  <yuqiang.xian@intel.com>
1528
1529         Reviewed by Pavel Feldman.
1530
1531         [V8] Speed up data property access for ImageData.
1532         https://bugs.webkit.org/show_bug.cgi?id=49999
1533
1534         We create a normal V8 object which has a PixelArray as the backing storage,
1535         and set the "data" property of the ImageData object to it. 
1536         This way "data" becomes a pure JS property and we don't need to call through
1537         the C++ bindings for ImageData "data" access. 
1538         This eliminates big overhead in switching between JavaScript and native
1539         contexts and performing object bindings.
1540
1541         No new tests. Relying on existing Canvas tests.
1542
1543         * WebCore.gypi:
1544         * bindings/scripts/CodeGeneratorV8.pm:
1545         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
1546         (WebCore::toV8):
1547         * bindings/v8/custom/V8ImageDataCustom.cpp: Added.
1548         (WebCore::toV8):
1549         * html/ImageData.idl:
1550         * html/canvas/CanvasPixelArray.idl:
1551
1552 2010-12-02  Kent Tamura  <tkent@chromium.org>
1553
1554         Unreviewed. Run sort-Xcode-project-file.
1555
1556         * WebCore.xcodeproj/project.pbxproj:
1557
1558 2010-12-02  Mike Lawther  <mikelawther@chromium.org>
1559
1560         Reviewed by David Hyatt.
1561
1562         Clean up of iframe scrollbar mode code
1563         https://bugs.webkit.org/show_bug.cgi?id=47797
1564
1565         Pull setChildNeedsLayout/setNeedsLayout calls out of scrollbar mode
1566         calculation method and put back into main layout function. 
1567         Early exit from the scrollbar calc when scrollbars are turned off. 
1568
1569         * page/FrameView.cpp:
1570         (WebCore::FrameView::calculateScrollbarModesForLayout):
1571         (WebCore::FrameView::layout):
1572
1573 2010-12-02  Hironori Bono  <hbono@chromium.org>
1574
1575         Reviewed by Darin Fisher.
1576
1577         [Chromium] Fix possible crashes in FontFallbackFont::determinePitch().
1578         https://bugs.webkit.org/show_bug.cgi?id=25770
1579
1580         When all of "Arial", "Courier New", and "Times New Roman" fonts are corrupted,
1581         FontCache::getLastResortFallbackFont() returns 0 and it causes this crash. To
1582         avoid this crash, this change falls back to system fonts (Windows ensures they
1583         are sane) as Win Safari does. Unfortunately, I don't have any ideas how I can
1584         write a layout test for this issue because this crash happens on a PC some of
1585         its system fonts are corrupted.
1586
1587         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1588         (WebCore::fontDataFromDescriptionAndLogFont):
1589         (WebCore::FontCache::getLastResortFallbackFont):
1590
1591 2010-12-02  Dimitri Glazkov  <dglazkov@chromium.org>
1592
1593         Reviewed by Kent Tamura.
1594
1595         Provide means to store shadow DOM nodes on Element
1596         https://bugs.webkit.org/show_bug.cgi?id=48697
1597
1598         Adds shadow DOM awareness to the standard Node attach/detach,
1599         document and tree insertion and removal cycle.
1600
1601         No new tests, because the code is not yet used.
1602
1603         * dom/Element.cpp:
1604         (WebCore::Element::insertedIntoDocument): Added logic to cascade down to shadow DOM, if present.
1605         (WebCore::Element::removedFromDocument): Ditto.
1606         (WebCore::Element::insertedIntoTree): Ditto.
1607         (WebCore::Element::removedFromTree): Ditto.
1608         (WebCore::Element::attach): Ditto.
1609         (WebCore::Element::detach): Ditto.
1610         (WebCore::Element::recalcStyle):
1611         (WebCore::Element::shadowRoot): Added.
1612         (WebCore::Element::setShadowRoot): Added.
1613         (WebCore::Element::clearShadowRoot): Added.
1614         * dom/Element.h: Added decls.
1615         * dom/ElementRareData.h: Added a member to hold a RefPtr to the shadow DOM root for the element.
1616
1617 2010-12-02  Adam Barth  <abarth@webkit.org>
1618
1619         Reviewed by Eric Seidel.
1620
1621         Gray-scale JPEG images with a color profile are stretched horizonally
1622         https://bugs.webkit.org/show_bug.cgi?id=49950
1623
1624         Turns out gray-scale JPEGs with color profiles have the same issue as
1625         PNGs.  As with PNGs, we suppress now suppress the color profile for
1626         gray-scale JPEGs.  Most importantly, this patch adds a test.
1627
1628         Test: fast/images/gray-scale-jpeg-with-color-profile.html
1629
1630         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1631         (WebCore::JPEGImageReader::decode):
1632
1633 2010-12-01  Geoffrey Garen  <ggaren@apple.com>
1634
1635         Build fix: Added a forwarding header.
1636
1637         * ForwardingHeaders/wtf/OSAllocator.h: Added.
1638
1639 2010-12-01  Jia Pu  <jpu@apple.com>
1640
1641         Reviewed by Darin Adler.
1642
1643         Support multiple correction candidates panel for misspelled word on Mac OS X.
1644         https://bugs.webkit.org/show_bug.cgi?id=50137
1645         <rdar://problem/8568059>
1646
1647         Test: platform/mac/editing/spelling/delete-autocorrected-word-1.html
1648         Manual test: WebCore/manual-tests/autocorrection/dismiss-multiple-guesses.html
1649                      WebCore/manual-tests/autocorrection/select-from-multiple-guesses.html
1650
1651         This patch is for supporting multiple correction suggestion panel on Mac OS X.
1652         The behavior and implementation is similar to that of reversion candiate panel.
1653
1654         * WebCore.exp.in: Added and removed symbols.
1655
1656         * editing/CorrectionPanelInfo.h: Added new correction panel type, PanelTypeSpellingSuggestions.
1657
1658         * editing/Editor.cpp:
1659         (WebCore::markerTypesForAutocorrection): Convenient function for getting marker types to
1660           be added to autocorrected word.
1661         (WebCore::boundingBoxForRange): Convenient function for calculating the bounding box of a range.
1662         (WebCore::markerTypesForReplacement): Convenient function for getting marker types to
1663           be added to word that has been replaced by various correction panel.
1664         (WebCore::Editor::respondToChangedSelection): Added code to trigger timer for multiple
1665           suggestion panel.
1666         (WebCore::Editor::guessesForMisspelledSelection): Adopted new signature of EditorClient::getGuessesForWord().
1667         (WebCore::Editor::markMisspellingsAfterTypingToWord): Adopted new signature of applyCorrectionPanelInfo().
1668         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
1669         (WebCore::Editor::correctionPanelTimerFired): Added code to handle new multiple suggestion panel.
1670         (WebCore::Editor::handleCorrectionPanelResult): Replaced handleRejectedCorrection(), since
1671           with new AppKit correction panel API, not only rejection, but also confirmation can be
1672           handled in callback.
1673         (WebCore::Editor::stopCorrectionPanelTimer): Moved the code that clears correction panel info
1674           from dismissCorrectionPanel() to this function to fix a bug that would occur when deleting
1675           autocorrected word.
1676         (WebCore::Editor::dismissCorrectionPanel): Ditto.
1677         (WebCore::Editor::applyCorrectionPanelInfo): Added code to handle new multiple suggestion panel.
1678
1679         * editing/Editor.h: Replaced handleRejectedCorrection() with handleCorrectionPanelResult().
1680           Changed the signature of applyCorrectionPanelInfo() to hanlde new correction panel type.
1681
1682         * editing/TextCheckingHelper.cpp:
1683         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Adopted new EditorClient::getGuessesForWord().
1684
1685         * editing/TextCheckingHelper.h: Made paragraphRange() public.
1686
1687         * loader/EmptyClients.h:
1688         (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature defined in base class.
1689         (WebCore::EmptyEditorClient::getGuessesForWord): Ditto.
1690
1691         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Added.
1692
1693         * manual-tests/autocorrection/select-from-multiple-guesses.html: Added.
1694
1695         * page/EditorClient.h:  Changed showCorrectionPanel() to allow passing multiple correction
1696           candidates. Changed getGuessesForWord() to allow passing in contextual text for better
1697           correction suggestions (for those spellcheckers that utilizes such contextual information).
1698
1699 2010-12-01  David Hyatt  <hyatt@apple.com>
1700
1701         Reviewed by James Robinson.
1702
1703         https://bugs.webkit.org/show_bug.cgi?id=50360
1704         
1705         Make sure to include the origin adjustment code that I added on Mac to keep truncation-rtl.html passing.
1706
1707         * platform/ScrollView.cpp:
1708         (WebCore::ScrollView::updateScrollbars):
1709
1710 2010-12-01  David Hyatt  <hyatt@apple.com>
1711
1712         Reviewed by Dan Bernstein.
1713
1714         https://bugs.webkit.org/show_bug.cgi?id=46645
1715
1716         Generalize overflow section scrollOriginX code to be a point and to work in both horizontal
1717         and vertical modes.
1718
1719         Not testable yet, since the rightmost/leftmost/topmost/lowestPosition functions are returning
1720         horrendously wrong values in the vertical text case for overflow:auto objects.
1721
1722         * rendering/RenderLayer.cpp:
1723         (WebCore::RenderLayer::RenderLayer):
1724         (WebCore::RenderLayer::scrollToOffset):
1725         (WebCore::RenderLayer::computeScrollDimensions):
1726         (WebCore::RenderLayer::updateOverflowStatus):
1727         * rendering/RenderLayer.h:
1728         (WebCore::RenderLayer::scrolledContentOffset):
1729         (WebCore::RenderLayer::scrollXOffset):
1730         (WebCore::RenderLayer::scrollYOffset):
1731         (WebCore::RenderLayer::scrollToXOffset):
1732         (WebCore::RenderLayer::scrollToYOffset):
1733
1734 2010-12-01  Steve Falkenburg  <sfalken@apple.com>
1735
1736         Reviewed by Adam Roben.
1737
1738         WinCairo build should not use link-time code generation (LTCG)
1739         https://bugs.webkit.org/show_bug.cgi?id=50353
1740
1741         * WebCore.vcproj/QTMovieWin.vcproj:
1742         * WebCore.vcproj/WebCore.vcproj:
1743
1744 2010-12-01  David Hyatt  <hyatt@apple.com>
1745
1746         Reviewed by Darin Adler.
1747
1748         https://bugs.webkit.org/show_bug.cgi?id=46645
1749         
1750         Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
1751         recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
1752         scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
1753         
1754         This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
1755         makes them behave the same as the cross-platform code (allowing for cross-platform results to be
1756         landed).
1757
1758         * page/FrameView.cpp:
1759         (WebCore::FrameView::adjustViewSize):
1760         * page/mac/WebCoreFrameView.h:
1761         * platform/ScrollView.cpp:
1762         (WebCore::ScrollView::ScrollView):
1763         (WebCore::ScrollView::maximumScrollPosition):
1764         (WebCore::ScrollView::minimumScrollPosition):
1765         (WebCore::ScrollView::valueChanged):
1766         (WebCore::ScrollView::updateScrollbars):
1767         (WebCore::ScrollView::wheelEvent):
1768         * platform/ScrollView.h:
1769         (WebCore::ScrollView::scrollOrigin):
1770         * platform/mac/ScrollViewMac.mm:
1771         (WebCore::ScrollView::platformSetScrollPosition):
1772         (WebCore::ScrollView::platformSetScrollOrigin):
1773         * rendering/RenderBox.cpp:
1774         (WebCore::RenderBox::paintRootBoxDecorations):
1775         * rendering/RenderView.cpp:
1776         (WebCore::RenderView::layout):
1777         (WebCore::RenderView::docTop):
1778         (WebCore::RenderView::docHeight):
1779         (WebCore::RenderView::docLeft):
1780         (WebCore::RenderView::docWidth):
1781         * rendering/RenderView.h:
1782
1783 2010-11-30  Steve Block  <steveblock@google.com>
1784
1785         Reviewed by Jeremy Orlow.
1786
1787         Upstream recent changes to WebCore/platform/network/android
1788         https://bugs.webkit.org/show_bug.cgi?id=50224
1789
1790         Android implementation changes only, no new tests.
1791
1792         * platform/network/NetworkingContext.h:
1793         * platform/network/android/CookieJarAndroid.cpp:
1794         (WebCore::setCookies):
1795         (WebCore::cookies):
1796         (WebCore::cookieRequestHeaderFieldValue):
1797         (WebCore::cookiesEnabled):
1798         * platform/network/android/ProxyServerAndroid.cpp: Added.
1799         (WebCore::proxyServersForURL):
1800         * platform/network/android/ResourceHandleAndroid.cpp:
1801         (WebCore::ResourceHandle::start):
1802         (WebCore::ResourceHandle::loadResourceSynchronously):
1803         * platform/network/android/ResourceRequestAndroid.cpp:
1804         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
1805
1806 2010-12-01  Steve Falkenburg  <sfalken@apple.com>
1807
1808         Reviewed by Adam Roben.
1809
1810         vcproj changes can't be applied cleanly by the Windows EWS bot
1811         https://bugs.webkit.org/show_bug.cgi?id=50328
1812
1813         * WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
1814         * WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
1815         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1816         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1817         * WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
1818         * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
1819         * WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
1820         * WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
1821         * WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
1822         * WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
1823         * WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
1824         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
1825         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
1826         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
1827         * WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
1828         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.
1829
1830 2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
1831
1832         Reviewed by Darin Fisher.
1833
1834         Adds accelerated compositing trigger flags to Settings to allow
1835         ports to set them via command line flags, etc.
1836         https://bugs.webkit.org/show_bug.cgi?id=50301
1837
1838         * page/Settings.cpp:
1839         (WebCore::Settings::Settings):
1840         (WebCore::Settings::setAcceleratedCompositingFor3DTransformsEnabled):
1841         (WebCore::Settings::setAcceleratedCompositingForVideoEnabled):
1842         (WebCore::Settings::setAcceleratedCompositingForPluginsEnabled):
1843         (WebCore::Settings::setAcceleratedCompositingForCanvasEnabled):
1844         (WebCore::Settings::setAcceleratedCompositingForAnimationEnabled):
1845         * page/Settings.h:
1846         (WebCore::Settings::acceleratedCompositingFor3DTransformsEnabled):
1847         (WebCore::Settings::acceleratedCompositingForVideoEnabled):
1848         (WebCore::Settings::acceleratedCompositingForPluginsEnabled):
1849         (WebCore::Settings::acceleratedCompositingForCanvasEnabled):
1850         (WebCore::Settings::acceleratedCompositingForAnimationEnabled):
1851
1852 2010-12-01  Darin Adler  <darin@apple.com>
1853
1854         Fixed warning seen on buildbot.
1855
1856         * platform/graphics/chromium/ContentLayerChromium.cpp:
1857         (WebCore::ContentLayerChromium::SharedValues::SharedValues): Added #if.
1858
1859 2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
1860
1861         Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
1862
1863         chrome.dll!WebCore::RangeBoundaryPoint::toPosition ReadAV@NULL (cf0d0f28bc56f2591cc74f71b46036ea)
1864         https://bugs.webkit.org/show_bug.cgi?id=47808
1865
1866         The crash was caused by moveParagraphWithClones' not copying the entire paragraph
1867         when called by doApplyForSingleParagraph, which was induced by a bug in
1868         cloneParagraphUnderNewElement which ended the cloning process early when the start node
1869         and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
1870         by calling traverseNextSibling(outerNode) instead of nextSibling().
1871
1872         Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
1873
1874         Tests: editing/execCommand/switch-multiple-list-items-crash.html
1875                editing/execCommand/switch-multiple-list-items.html
1876
1877         * editing/CompositeEditCommand.cpp:
1878         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1879         * editing/InsertListCommand.cpp:
1880         (WebCore::InsertListCommand::doApply):
1881
1882 2010-12-01  Kevin Ollivier  <kevino@theolliviers.com>
1883
1884         [wx] Build fixes after recent trunk changes.
1885
1886         * platform/graphics/wx/ImageBufferWx.cpp:
1887         (WebCore::ImageBuffer::ImageBuffer):
1888         * platform/wx/LocalizedStringsWx.cpp:
1889         (WebCore::platformDefaultLanguage):
1890
1891 2010-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1892
1893         Unreviewed, rolling out r73047.
1894         http://trac.webkit.org/changeset/73047
1895         https://bugs.webkit.org/show_bug.cgi?id=50339
1896
1897         missing bug number (Requested by rniwa on #webkit).
1898
1899         * editing/CompositeEditCommand.cpp:
1900         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1901         * editing/InsertListCommand.cpp:
1902         (WebCore::InsertListCommand::doApply):
1903
1904 2010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
1905
1906         Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
1907
1908         The crash was caused by moveParagraphWithClones' not copying the entire paragraph
1909         when called by doApplyForSingleParagraph, which was induced by a bug in
1910         cloneParagraphUnderNewElement which ended the cloning process early when the start node
1911         and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
1912         by calling traverseNextSibling(outerNode) instead of nextSibling().
1913
1914         Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
1915
1916         Tests: editing/execCommand/switch-multiple-list-items-crash.html
1917                editing/execCommand/switch-multiple-list-items.html
1918
1919         * editing/CompositeEditCommand.cpp:
1920         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1921         * editing/InsertListCommand.cpp:
1922         (WebCore::InsertListCommand::doApply):
1923
1924 2010-12-01  Grace Kloba  <klobag@chromium.org>
1925
1926         Reviewed by Kenneth Russell.
1927
1928         [chromium] ContentLayerChromium shader should honor the platform Sk_x_SHIFT value instead of assuming BGRA color
1929         https://bugs.webkit.org/show_bug.cgi?id=50189
1930
1931         * platform/graphics/chromium/ContentLayerChromium.cpp:
1932         (WebCore::ContentLayerChromium::SharedValues::SharedValues):Use SK_B32_SHIFT to decide whether to use RGBA or BGRA shader for Skia port.
1933
1934 2010-12-01  Nico Weber  <thakis@chromium.org>
1935
1936         Reviewed by Dimitri Glazkov.
1937
1938         Fix clang warnings caused by -Wlogical-op-parentheses
1939         https://bugs.webkit.org/show_bug.cgi?id=50324
1940
1941         * platform/graphics/mac/ComplexTextController.cpp:
1942         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1943
1944 2010-12-01  Martin Robinson  <mrobinson@igalia.com>
1945
1946         Build fix for GTK+.
1947
1948         * platform/gtk/PopupMenuGtk.cpp:
1949         (WebCore::PopupMenuGtk::typeAheadFind): Uncomment mistakenly commented line.
1950
1951 2010-12-01  Apelete Seketeli  <apelete@seketeli.org> and Martin Robinson  <mrobinson@igalia.com>
1952
1953         Reviewed by Xan Lopez.
1954
1955         [Gtk] Open menulists should support typeahead find
1956         https://bugs.webkit.org/show_bug.cgi?id=27443
1957
1958         Added typeahead find support for open GTK+ menulists.
1959
1960         Test: platform/gtk/fast/forms/menulist-typeahead-find.html
1961
1962         * platform/gtk/PopupMenuGtk.cpp:
1963         (WebCore::PopupMenuGtk::PopupMenuGtk): Initialize new members.
1964         (WebCore::PopupMenuGtk::show): Track currently selected menu item
1965         via a signal handler.
1966         (WebCore::PopupMenuGtk::typeAheadFind): Added.
1967         (WebCore::PopupMenuGtk::menuUnmapped): Reset typeahead find state
1968         when menu is unmapped.
1969         (WebCore::PopupMenuGtk::resetTypeAheadFindState): Added.
1970         (WebCore::PopupMenuGtk::selectItemCallback): Added.
1971         (WebCore::PopupMenuGtk::keyPressEventCallback): Added.
1972         * platform/gtk/PopupMenuGtk.h: Added new members to track typeahead
1973         find state.
1974
1975 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1976
1977         Reviewed by Xan Lopez.
1978
1979         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedNumber
1980         https://bugs.webkit.org/show_bug.cgi?id=50323
1981
1982         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_NUMBER / DEFINE_ANIMATED_NUMBER.
1983         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
1984
1985         No functional changes, thus no new tests.
1986
1987         * svg/SVGAnimatedNumber.h:
1988         * svg/SVGComponentTransferFunctionElement.cpp:
1989         * svg/SVGComponentTransferFunctionElement.h:
1990         * svg/SVGFECompositeElement.cpp:
1991         * svg/SVGFECompositeElement.h:
1992         * svg/SVGFEConvolveMatrixElement.cpp:
1993         * svg/SVGFEConvolveMatrixElement.h:
1994         * svg/SVGFEDiffuseLightingElement.cpp:
1995         * svg/SVGFEDiffuseLightingElement.h:
1996         * svg/SVGFEDisplacementMapElement.cpp:
1997         * svg/SVGFEDisplacementMapElement.h:
1998         * svg/SVGFEGaussianBlurElement.cpp:
1999         * svg/SVGFEGaussianBlurElement.h:
2000         * svg/SVGFELightElement.cpp:
2001         * svg/SVGFELightElement.h:
2002         * svg/SVGFEMorphologyElement.cpp:
2003         * svg/SVGFEMorphologyElement.h:
2004         * svg/SVGFEOffsetElement.cpp:
2005         * svg/SVGFEOffsetElement.h:
2006         * svg/SVGFESpecularLightingElement.cpp:
2007         * svg/SVGFESpecularLightingElement.h:
2008         * svg/SVGFETurbulenceElement.cpp:
2009         * svg/SVGFETurbulenceElement.h:
2010         * svg/SVGPathElement.cpp:
2011         * svg/SVGPathElement.h:
2012         * svg/SVGStopElement.cpp:
2013         * svg/SVGStopElement.h:
2014         (WebCore::SVGStopElement::isGradientStop):
2015
2016 2010-12-01  Martin Robinson  <mrobinson@igalia.com>
2017
2018         Reviewed by Xan Lopez.
2019
2020         Sliders are not transformed after r50188
2021         https://bugs.webkit.org/show_bug.cgi?id=50317
2022
2023         Need to call updateLayerTransform during slider layout, as sliders
2024         may be transformed.
2025
2026         No new tests. This patch should make fast/forms/slider-transformed.html
2027         pass on the GTK+ bots.
2028
2029         * rendering/RenderSlider.cpp:
2030         (WebCore::RenderSlider::layout): Call updateLayerTransform here.
2031
2032 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
2033
2034         Reviewed by Yury Semikhatsky.
2035
2036         Web Inspector: do not make helpScreen.css lazily loaded.
2037         https://bugs.webkit.org/show_bug.cgi?id=50304
2038
2039         * inspector/front-end/HelpScreen.js:
2040         (WebInspector.HelpScreen):
2041         (WebInspector.HelpScreen.prototype._onBlur):
2042         * inspector/front-end/inspector.html:
2043
2044 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2045
2046         Reviewed by Xan Lopez.
2047
2048         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLengthList/SVGNumberList/SVGTransformList
2049         https://bugs.webkit.org/show_bug.cgi?id=50322
2050
2051         Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(LENGTH|NUMBER|TRANSFORM)_LIST / DEFINE_ANIMATED_(LENGTH|NUMBER|TRANSFORM).
2052         The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
2053
2054         No functional changes, thus no new tests.
2055
2056         * svg/SVGAnimatedLengthList.h:
2057         * svg/SVGAnimatedNumberList.h:
2058         * svg/SVGAnimatedTransformList.h:
2059         * svg/SVGComponentTransferFunctionElement.cpp:
2060         * svg/SVGComponentTransferFunctionElement.h:
2061         * svg/SVGFEColorMatrixElement.cpp:
2062         * svg/SVGFEColorMatrixElement.h:
2063         * svg/SVGFEConvolveMatrixElement.cpp:
2064         * svg/SVGFEConvolveMatrixElement.h:
2065         * svg/SVGGradientElement.cpp:
2066         * svg/SVGGradientElement.h:
2067         (WebCore::SVGGradientElement::needsPendingResourceHandling):
2068         * svg/SVGPatternElement.cpp:
2069         * svg/SVGPatternElement.h:
2070         * svg/SVGPolygonElement.cpp:
2071         * svg/SVGPolylineElement.cpp:
2072         * svg/SVGStyledTransformableElement.cpp:
2073         * svg/SVGStyledTransformableElement.h:
2074         * svg/SVGTextElement.cpp:
2075         (WebCore::SVGTextElement::SVGTextElement):
2076         * svg/SVGTextElement.h:
2077         (WebCore::SVGTextElement::localCoordinateSpaceTransform):
2078         * svg/SVGTextPositioningElement.cpp:
2079         * svg/SVGTextPositioningElement.h:
2080         * svg/properties/SVGAnimatedPropertyMacros.h:
2081
2082 2010-12-01  Alexander Pavlov  <apavlov@chromium.org>
2083
2084         Reviewed by Yury Semikhatsky.
2085
2086         Web Inspector: name-only property appears in style declaration but not in the Styles pane
2087         https://bugs.webkit.org/show_bug.cgi?id=49663
2088
2089         Check that at least one property has been parsed from the user input.
2090
2091         * inspector/InspectorStyleSheet.cpp:
2092         (WebCore::InspectorStyle::setPropertyText):
2093
2094 2010-12-01  Andrey Kosyakov  <caseq@chromium.org>
2095
2096         Reviewed by Pavel Feldman.
2097
2098         Web Inspector: disable cookies tab in network resource view by default, enable for chromium
2099         https://bugs.webkit.org/show_bug.cgi?id=50249
2100
2101         * inspector/front-end/NetworkItemView.js:
2102         (WebInspector.NetworkItemView):
2103         (WebInspector.NetworkItemView.prototype.resize):
2104         * inspector/front-end/Settings.js:
2105
2106 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2107
2108         Reviewed by Xan Lopez.
2109
2110         Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLength
2111         https://bugs.webkit.org/show_bug.cgi?id=50316
2112
2113         Introduce DECLARE_ANIMATED_LENGTH / DEFINE_ANIMATED_LENGTH, splitting up the original DECLARE_ANIMATED_PROPERTY_NEW macro
2114         in a part that goes in the .cpp file and another that remains in the header. This avoids having to include SVGNames.h
2115         in all SVG*Element files.
2116
2117         No functional changes, thus no new tests.
2118
2119         * svg/SVGAnimatedLength.h:
2120         * svg/SVGCircleElement.cpp:
2121         * svg/SVGCircleElement.h:
2122         (WebCore::SVGCircleElement::isValid):
2123         * svg/SVGCursorElement.cpp:
2124         * svg/SVGCursorElement.h:
2125         (WebCore::SVGCursorElement::isValid):
2126         * svg/SVGEllipseElement.cpp:
2127         * svg/SVGEllipseElement.h:
2128         (WebCore::SVGEllipseElement::isValid):
2129         * svg/SVGFilterElement.cpp:
2130         * svg/SVGFilterElement.h:
2131         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2132         * svg/SVGFilterPrimitiveStandardAttributes.h:
2133         * svg/SVGForeignObjectElement.cpp:
2134         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2135         * svg/SVGForeignObjectElement.h:
2136         (WebCore::SVGForeignObjectElement::isValid):
2137         * svg/SVGImageElement.cpp:
2138         * svg/SVGImageElement.h:
2139         (WebCore::SVGImageElement::isValid):
2140         * svg/SVGLineElement.cpp:
2141         * svg/SVGLineElement.h:
2142         (WebCore::SVGLineElement::isValid):
2143         (WebCore::SVGLineElement::supportsMarkers):
2144         * svg/SVGLinearGradientElement.cpp:
2145         * svg/SVGLinearGradientElement.h:
2146         * svg/SVGMarkerElement.cpp:
2147         (WebCore::SVGMarkerElement::SVGMarkerElement):
2148         * svg/SVGMarkerElement.h:
2149         * svg/SVGMaskElement.cpp:
2150         * svg/SVGMaskElement.h:
2151         (WebCore::SVGMaskElement::isValid):
2152         (WebCore::SVGMaskElement::needsPendingResourceHandling):
2153         * svg/SVGPatternElement.cpp:
2154         * svg/SVGPatternElement.h:
2155         (WebCore::SVGPatternElement::isValid):
2156         (WebCore::SVGPatternElement::needsPendingResourceHandling):
2157         * svg/SVGRadialGradientElement.cpp:
2158         * svg/SVGRadialGradientElement.h:
2159         * svg/SVGRectElement.cpp:
2160         * svg/SVGRectElement.h:
2161         (WebCore::SVGRectElement::isValid):
2162         * svg/SVGSVGElement.cpp:
2163         (WebCore::SVGSVGElement::SVGSVGElement):
2164         * svg/SVGSVGElement.h:
2165         (WebCore::SVGSVGElement::isValid):
2166         (WebCore::SVGSVGElement::setContainerSize):
2167         (WebCore::SVGSVGElement::containerSize):
2168         (WebCore::SVGSVGElement::hasSetContainerSize):
2169         (WebCore::SVGSVGElement::currentTranslate):
2170         (WebCore::SVGSVGElement::timeContainer):
2171         (WebCore::SVGSVGElement::isSVG):
2172         (WebCore::SVGSVGElement::rendererIsNeeded):
2173         * svg/SVGTextContentElement.cpp:
2174         * svg/SVGTextContentElement.h:
2175         (WebCore::SVGTextContentElement::isValid):
2176         (WebCore::SVGTextContentElement::isTextContent):
2177         * svg/SVGTextPathElement.cpp:
2178         * svg/SVGTextPathElement.h:
2179         * svg/SVGTextPositioningElement.h:
2180         * svg/SVGUseElement.cpp:
2181         * svg/SVGUseElement.h:
2182         (WebCore::SVGUseElement::isValid):
2183         (WebCore::SVGUseElement::setUpdatesBlocked):
2184         (WebCore::SVGUseElement::isPendingResource):
2185         * svg/properties/SVGAnimatedPropertyMacros.h:
2186
2187 2010-12-01  Anton D'Auria  <adauria@apple.com>
2188
2189         Reviewed by Kevin Decker.
2190
2191         Deny access to local and session storage in private browsing mode.
2192         https://bugs.webkit.org/show_bug.cgi?id=49329
2193
2194         * storage/Storage.cpp:
2195         (WebCore::Storage::length):
2196         (WebCore::Storage::key):
2197         (WebCore::Storage::getItem):
2198         (WebCore::Storage::contains):
2199
2200 2010-12-01  Philippe Normand  <pnormand@igalia.com>
2201
2202         Reviewed by Martin Robinson.
2203
2204         Volume control not correctly initialized
2205         https://bugs.webkit.org/show_bug.cgi?id=36299
2206
2207         Replaced the mute/volume Timers with g_timeouts which are (for
2208         now, at least) more reliable than Timers for one-shot-fire-now
2209         actions.
2210
2211         Test: media/video-volume.html
2212
2213         * platform/graphics/MediaPlayer.cpp:
2214         (WebCore::MediaPlayer::~MediaPlayer): Reset the raw pointers to 0
2215         when destructing the player.
2216         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2217         (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
2218         (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
2219         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2220         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
2221         (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
2222         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
2223         (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
2224         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Set
2225         playbin2 volume/mute base on MediaPlayer related values.
2226         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2227
2228 2010-12-01  Patrick Gansterer  <paroga@webkit.org>
2229
2230         Reviewed by Andreas Kling.
2231
2232         Cleanup main CMakeLists.txt after r72664, r72672 and r72667
2233         https://bugs.webkit.org/show_bug.cgi?id=50232
2234
2235         * CMakeLists.txt: Removed obsolete dependencies.
2236
2237 2010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2238
2239         Reviewed by Dirk Schulze.
2240
2241         Cleanup SVGPropertyTraits
2242         https://bugs.webkit.org/show_bug.cgi?id=50229
2243
2244         Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
2245         into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
2246         included by all DOM/JS/V8 binding files and SVGElement.h.
2247
2248         No new functionality, thus no new tests.
2249
2250         * GNUmakefile.am:
2251         * WebCore.gypi:
2252         * WebCore.pro:
2253         * WebCore.xcodeproj/project.pbxproj:
2254         * bindings/scripts/CodeGenerator.pm:
2255         * bindings/scripts/CodeGeneratorObjC.pm:
2256         * bindings/scripts/CodeGeneratorV8.pm:
2257         * svg/SVGAngle.h:
2258         * svg/SVGLength.h:
2259         * svg/SVGLengthList.h:
2260         * svg/SVGMarkerElement.h:
2261         * svg/SVGNumberList.h:
2262         * svg/SVGPatternElement.h:
2263         * svg/SVGPointList.h:
2264         * svg/SVGPreserveAspectRatio.h:
2265         * svg/SVGRect.h: Added.
2266         * svg/SVGSVGElement.h:
2267         * svg/SVGStringList.h:
2268         * svg/SVGSymbolElement.h:
2269         * svg/SVGTransformList.h:
2270         * svg/SVGViewElement.h:
2271         * svg/SVGViewSpec.h:
2272         * svg/properties/SVGListProperty.h:
2273         * svg/properties/SVGPropertyTraits.h:
2274         * svg/properties/SVGTransformListPropertyTearOff.h:
2275
2276 2010-11-30  Kent Tamura  <tkent@chromium.org>
2277
2278         Reviewed by Darin Adler.
2279
2280         Refactor HTMLInputElement: Move a part of HTMLInputElement::
2281         defaultEventHandler() to InputTypes
2282         https://bugs.webkit.org/show_bug.cgi?id=50097
2283
2284         Move all of keyboard-related event handling to InputType.
2285
2286         No new tests because this should not change any behavior.
2287
2288         * html/BaseButtonInputType.cpp:
2289         (WebCore::BaseButtonInputType::handleKeydownEvent):
2290         (WebCore::BaseButtonInputType::handleKeypressEvent):
2291         (WebCore::BaseButtonInputType::handleKeyupEvent):
2292         * html/BaseButtonInputType.h:
2293         * html/BaseCheckableInputType.cpp:
2294         (WebCore::BaseCheckableInputType::handleKeydownEvent):
2295         (WebCore::BaseCheckableInputType::handleKeypressEvent):
2296         * html/BaseCheckableInputType.h:
2297         * html/CheckboxInputType.cpp:
2298         (WebCore::CheckboxInputType::handleKeyupEvent):
2299         * html/CheckboxInputType.h:
2300         * html/HTMLInputElement.cpp:
2301         (WebCore::HTMLInputElement::defaultEventHandler):
2302          We remove !implicitSubmission check for callBaseClassEarly because
2303          implicitSubmission can not be true for keydown event and keypress
2304          event at this point.
2305         * html/InputType.cpp:
2306         (WebCore::InputType::shouldSubmitImplicitly):
2307          Returns true for a keypress event with "\r". Note that we don't overload
2308          this function for BUTTON, FILE, IMAGE, RESET, and SUBMIT because a
2309          keypress event with "\r" for these types returns from HTMLInputElement::defaultEventHandler()
2310          before implicit submission checking.
2311         (WebCore::InputType::handleKeypressEvent):
2312         (WebCore::InputType::handleKeyupEvent):
2313         * html/InputType.h:
2314         * html/RadioInputType.cpp:
2315         (WebCore::RadioInputType::handleKeydownEvent):
2316         (WebCore::RadioInputType::handleKeyupEvent):
2317         * html/RadioInputType.h:
2318         * html/TextFieldInputType.cpp:
2319         (WebCore::TextFieldInputType::shouldSubmitImplicitly):
2320         * html/TextFieldInputType.h:
2321
2322 2010-11-30  Patrick Gansterer  <paroga@webkit.org>
2323
2324         Reviewed by Andreas Kling.
2325
2326         Move CSS generator logic into main CMakeLists.txt file
2327         https://bugs.webkit.org/show_bug.cgi?id=50230
2328
2329         * CMakeLists.txt:
2330
2331 2010-11-30  Ojan Vafai  <ojan@chromium.org>
2332
2333         Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
2334         https://bugs.webkit.org/show_bug.cgi?id=50288
2335
2336         2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2337         Reviewed by Darin Adler.
2338         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2339         https://bugs.webkit.org/show_bug.cgi?id=50182
2340         A display-isolated URL can only be displayed (e.g., put in an iframe,
2341         hyperlinked to) by documents from that scheme. In a sense, this is a
2342         generalization of some of the protections we give file URLs, but
2343         instead of lumping them all together into one "local" bucket, this
2344         patch creates a separate bucket for each scheme.
2345         For a while, I tried using a separate bucket for each origin. That
2346         would have played nicely with what Blob URLs are trying to do, but some
2347         "chrome" URL pages rely on being able to display other chrome URL
2348         pages, even in different origins. For example, the New Tab Page shows
2349         thumbnails from the "thumbnail" host.
2350         This patch also removes a bunch of unused code. I've also propagated
2351         the "deprecated" status of deprecatedCanDisplay to
2352         deprecatedShouldTreatURLAsLocal because that method has no other
2353         callers and is really asking for uppercase/lowercase bugs. I dream of
2354         someday removing these functions.
2355         page/SecurityOrigin.cpp:
2356         (WebCore::SecurityOrigin::canDisplay):
2357         (WebCore::SecurityOrigin::deprecatedCanDisplay):
2358         platform/SchemeRegistry.cpp:
2359         (WebCore::displayIsolatedURLSchemes):
2360         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2361         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
2362         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2363         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
2364         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
2365         platform/SchemeRegistry.h:
2366         2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2367         Reviewed by Darin Adler.
2368         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2369          https://bugs.webkit.org/show_bug.cgi?id=50182
2370         This patch adds a Chromium API for registering schemes as
2371         display-isolated. In a subsequent patch, I'll change the "chrome"
2372         scheme in Chrome to be display isolated instead of local. That will
2373         prevent file URLs from linking to chrome URLs.
2374         public/WebSecurityPolicy.h:
2375         src/WebSecurityPolicy.cpp:
2376         (WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):
2377
2378         * page/SecurityOrigin.cpp:
2379         (WebCore::SecurityOrigin::canDisplay):
2380         (WebCore::SecurityOrigin::deprecatedCanDisplay):
2381         * platform/SchemeRegistry.cpp:
2382         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2383         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
2384         (WebCore::SchemeRegistry::localURLSchemes):
2385         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
2386         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2387         * platform/SchemeRegistry.h:
2388
2389 2010-11-30  Chris Fleizach  <cfleizach@apple.com>
2390
2391         Reviewed by Beth Dakin.
2392
2393         WebKit duplicates AXValue and AXDescription on abbr
2394         https://bugs.webkit.org/show_bug.cgi?id=50260
2395
2396         stringValue() and accessibilityDescription() were returning the same value for static text with
2397         an aria-label. Static text elements should not have an accessibility description, they
2398         should only have a stringValue.
2399
2400         Test: platform/mac/accessibility/static-text-with-aria-label.html
2401
2402         * accessibility/AccessibilityRenderObject.cpp:
2403         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
2404         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2405         (WebCore::AccessibilityRenderObject::text):
2406         * accessibility/AccessibilityRenderObject.h:
2407
2408 2010-11-30  Ryosuke Niwa  <rniwa@webkit.org>
2409
2410         Reviewed by Darin Adler.
2411
2412         [HTML5] Rename member variables of HTMLScriptElement
2413         https://bugs.webkit.org/show_bug.cgi?id=49705
2414
2415         Renamed m_wasCreatedByParser to m_wasInsertedByParser, m_requested to m_isExternalScript,
2416         m_isEvaluated to m_wasAlreadyStarted, and m_firedLoad to m_haveFiredLoad.
2417
2418         Also made ScriptElement's haveFiredLoadEvent and removed HTMLScriptElement's haveFiredLoadEvent.
2419         This effectively adds the same function to SVGScriptElement, which isn't currently used anywhere.
2420
2421         No new tests are added since this is a refactoring.
2422
2423         * dom/ScriptElement.cpp:
2424         (WebCore::ScriptElement::ScriptElement):
2425         (WebCore::ScriptElement::insertedIntoDocument):
2426         (WebCore::ScriptElement::childrenChanged):
2427         (WebCore::ScriptElement::finishParsingChildren):
2428         (WebCore::ScriptElement::requestScript):
2429         (WebCore::ScriptElement::evaluateScript):
2430         (WebCore::ScriptElement::executeScript):
2431         (WebCore::ScriptElement::ignoresLoadRequest):
2432         * dom/ScriptElement.h:
2433         (WebCore::ScriptElement::haveFiredLoadEvent):
2434         (WebCore::ScriptElement::setHaveFiredLoadEvent):
2435         (WebCore::ScriptElement::wasInsertedByParser):
2436         (WebCore::ScriptElement::wasAlreadyStarted):
2437         * html/HTMLScriptElement.cpp:
2438         (WebCore::HTMLScriptElement::HTMLScriptElement):
2439         (WebCore::HTMLScriptElement::create):
2440         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
2441         * html/HTMLScriptElement.h:
2442         * svg/SVGScriptElement.cpp:
2443         (WebCore::SVGScriptElement::SVGScriptElement):
2444         (WebCore::SVGScriptElement::create):
2445         (WebCore::SVGScriptElement::svgAttributeChanged):
2446         (WebCore::SVGScriptElement::insertedIntoDocument):
2447         (WebCore::SVGScriptElement::dispatchLoadEvent):
2448         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
2449         * svg/SVGScriptElement.h:
2450
2451 2010-11-30  Darin Adler  <darin@apple.com>
2452
2453         Rolled back most of the FileReaderLoader changes to fix 32-bit builds.
2454
2455         * fileapi/FileReaderLoader.cpp: Changed types back to unsigned from unsigned long long
2456         * fileapi/FileReaderLoader.h: Ditto.
2457
2458 2010-11-30  Dan Bernstein  <mitz@apple.com>
2459
2460         Reviewed by Darin Adler.
2461
2462         Text search should treat all matches as word-start matches when the target begins with a separator character
2463         https://bugs.webkit.org/show_bug.cgi?id=50302
2464
2465         * editing/TextIterator.cpp:
2466         (WebCore::SearchBuffer::SearchBuffer): Disable the AtWordStarts option if it was specified and
2467         the target string begins with one of the "separator" characters.
2468
2469 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
2470
2471         Reviewed by Dave Hyatt.
2472
2473         Web Inspector: [CRASH] on "Revert to this revision" of style with import.
2474         https://bugs.webkit.org/show_bug.cgi?id=50256
2475
2476         Rolled back one line from http://trac.webkit.org/changeset/36904 as agreed with
2477         David.
2478
2479         * css/CSSImportRule.cpp:
2480         (WebCore::CSSImportRule::insertedIntoParent):
2481
2482 2010-11-30  Martin Robinson  <mrobinson@igalia.com>
2483
2484         Reviewed by Xan Lopez.
2485
2486         [GTK] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
2487         https://bugs.webkit.org/show_bug.cgi?id=50283
2488
2489         Adjust the mask rectangle for Cairo shadows, so that the origin
2490         is not affected by the scale of the transformation matrix.
2491
2492         * platform/graphics/ContextShadow.h: Make this Qt-only member global.
2493         * platform/graphics/cairo/ContextShadowCairo.cpp:
2494         (WebCore::ContextShadow::beginShadowLayer): Save the original layer area.
2495         (WebCore::ContextShadow::endShadowLayer): If the target context has a scale
2496         transform, make sure not to scale the blur distance when blitting the shadow.
2497
2498 2010-11-30  Darin Adler  <darin@apple.com>
2499
2500         Reviewed by Alexey Proskuryakov.
2501
2502         Make ProgressEvent 64-bit instead of 32-bit
2503         https://bugs.webkit.org/show_bug.cgi?id=50289
2504
2505         * dom/ProgressEvent.cpp:
2506         (WebCore::ProgressEvent::ProgressEvent): Changed arguments to unsigned long long.
2507         (WebCore::ProgressEvent::initProgressEvent): Ditto.
2508
2509         * dom/ProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
2510         Made isProgressEvent override private.
2511
2512         * dom/ProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
2513
2514         * fileapi/FileReader.cpp: Removed unneeded includes.
2515         Used static on const so we'd get an error if the same constant was in a header.
2516         (WebCore::FileReader::didReceiveData): Removed unneeded WTF prefix.
2517         (WebCore::FileReader::fireEvent): Got rid of local variables that would narrow
2518         bytes loaded and total bytes to 32-bit.
2519
2520         * fileapi/FileReaderLoader.cpp:
2521         (WebCore::FileReaderLoader::didReceiveResponse): Restructured code a bit and
2522         added comments. Also added handling for when ArrayBuffer::create returns 0.
2523         (WebCore::FileReaderLoader::didReceiveData): Fixed handling of case where more
2524         data arrives than is expected so it won't overrun the buffer. Also broke an
2525         assertion into two and improved a comment.
2526
2527         * fileapi/FileReaderLoader.h: Changed bytesLoaded and totalBytes to unsigned long long.
2528
2529         * fileapi/FileWriter.cpp:
2530         (WebCore::FileWriter::fireEvent): Removed narrowing casts in call to
2531         ProgressEvent::create.
2532
2533         * html/canvas/ArrayBuffer.cpp:
2534         (WebCore::ArrayBuffer::tryAllocate): Added a comment because the code here seems wrong.
2535
2536         * xml/XMLHttpRequest.cpp:
2537         (WebCore::XMLHttpRequest::didSendData): Removed narrowing casts in call to
2538         XMLHttpRequestProgressEvent::create.
2539         (WebCore::XMLHttpRequest::didReceiveData): Removed narrowing casts in call to
2540         dispatchProgressEvent.
2541
2542         * xml/XMLHttpRequestProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
2543         Made isXMLHttpRequestProgressEvent override private.
2544
2545         * xml/XMLHttpRequestProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
2546
2547         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2548         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Changed types to
2549         unsigned long long.
2550
2551         * xml/XMLHttpRequestProgressEventThrottle.h: Changed types to unsigned long long.
2552
2553 2010-11-30  Yael Aharon  <yael.aharon@nokia.com>
2554
2555         Reviewed by Darin Adler.
2556
2557         Progress and meter elements should take a form in their constructor like any other form control.
2558         https://bugs.webkit.org/show_bug.cgi?id=50195
2559
2560         Tests: fast/dom/HTMLMeterElement/meter-element-form.html
2561                fast/dom/HTMLProgressElement/progress-element-form.html
2562
2563         * html/HTMLMeterElement.cpp:
2564         (WebCore::HTMLMeterElement::HTMLMeterElement):
2565         (WebCore::HTMLMeterElement::create):
2566         * html/HTMLMeterElement.h:
2567         * html/HTMLProgressElement.h:
2568         * html/HTMLTagNames.in:
2569
2570 2010-11-30  Tony Chang  <tony@chromium.org>
2571
2572         Reviewed by Adam Barth.
2573
2574         [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
2575         https://bugs.webkit.org/show_bug.cgi?id=49036
2576
2577         No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
2578
2579         In http://codereview.chromium.org/11574, the forked chromium test
2580         plugin changed how it testGetIntIdentifier to work around a change
2581         caused by a silverlight specific plugin fix:
2582         http://codereview.chromium.org/11569/diff/1/2
2583
2584         It's not clear to me that this change is needed anymore since
2585         silverlight has had multiple releases, testing without this patch
2586         works on a test windows build, and safari win seems to run silverlight
2587         without this either.  Since there's no test for this behavior, I'm
2588         rolling it out so we can match the upstream test.
2589
2590         * bindings/v8/V8NPUtils.cpp:
2591         (WebCore::convertV8ObjectToNPVariant):
2592
2593 2010-11-30  Chris Guillory  <chris.guillory@google.com>
2594
2595         Reviewed by Chris Fleizach.
2596
2597         Computing style on a stale node while sending pending accessibility notification.
2598         https://bugs.webkit.org/show_bug.cgi?id=50162
2599
2600         Retain node pointer members of AccessibilityImageMapLink.
2601
2602         Test: accessibility/image-map-title-causes-crash.html
2603
2604         * accessibility/AccessibilityImageMapLink.cpp:
2605         (WebCore::AccessibilityImageMapLink::parentObject):
2606         (WebCore::AccessibilityImageMapLink::anchorElement):
2607         (WebCore::AccessibilityImageMapLink::url):
2608         (WebCore::AccessibilityImageMapLink::elementRect):
2609         * accessibility/AccessibilityImageMapLink.h:
2610         (WebCore::AccessibilityImageMapLink::areaElement):
2611         (WebCore::AccessibilityImageMapLink::mapElement):
2612         (WebCore::AccessibilityImageMapLink::node):
2613         * dom/Document.cpp:
2614         (WebCore::Document::clearAXObjectCache):
2615
2616 2010-11-30  James Robinson  <jamesr@chromium.org>
2617
2618         Reviewed by Tony Chang.
2619
2620         Build fix - add parens in foo || bar && baz to make gcc happy
2621         https://bugs.webkit.org/show_bug.cgi?id=50276
2622
2623         gcc 4.4 warns that statements of the form "foo || bar && baz".  It wants
2624         parens around the "bar && baz" part to make it clear which way the logical
2625         operators bind.
2626
2627         * editing/TextIterator.cpp:
2628         (WebCore::SearchBuffer::search):
2629
2630 2010-11-30  Daniel Bates  <dbates@rim.com>
2631
2632         Reviewed by David Hyatt.
2633
2634         Focused <area> should use CSS properties of <area> instead of associated <img>
2635         https://bugs.webkit.org/show_bug.cgi?id=49888
2636
2637         Fixes an issue where the CSS properties of an <area> were not used when
2638         the <area> was focused.
2639
2640         Currently, when focusing an <area> (say by pressing option + tab in Mac
2641         Safari) we use the CSS style information for the <img> associated with
2642         the <area>. Instead, we should use the CSS style information for the
2643         focused <area>. In particular, this will make the us honor the outline-
2644         color property of a focused <area> when drawing its focus ring.
2645
2646         Tests: fast/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map.html
2647                fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
2648                fast/images/imagemap-focus-ring-outline-color.html
2649
2650         * rendering/RenderImage.cpp:
2651         (WebCore::RenderImage::paintFocusRing): Use the style information of
2652         the focused <area> when drawing the focus ring for it.
2653
2654 2010-11-30  Tony Chang  <tony@chromium.org>
2655
2656         Reviewed by James Robinson.
2657
2658         [chromium] enable WebCore compiler warnings on Linux take 3
2659         https://bugs.webkit.org/show_bug.cgi?id=50258
2660
2661         * WebCore.gyp/WebCore.gyp:
2662
2663 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
2664
2665         Reviewed by Chris Fleizach.
2666
2667         [GTK] Implement ROLE_COMBO_BOX
2668         https://bugs.webkit.org/show_bug.cgi?id=25678
2669
2670         Implement the remaining bits for combo boxes.
2671
2672         This patch finishes the implementation, from the point of view of
2673         the Atk library, of those objects exposed to ATK as combo boxes,
2674         and their related elements (menus and menu items). It therefore
2675         implements the proper interfaces for each type of object related
2676         to combo boxes (AtkSelection for the combo box, AtkText for every
2677         menu item and AtkAction for the combo box, the menu and the menu
2678         items), takes care of emitting the proper signals when focus or a
2679         given a selection changes and adds a new unit test to check all
2680         this new stuff.
2681
2682         Make possible to ask an AccessibleMenuListOption for a sensible
2683         string representation, so far only available through the private
2684         and MSAA related method nameForMSAA. Just moved the implementation
2685         of that method to an overriden version of stringValue(), which is
2686         platform independent, and called that from nameForMSAA().
2687
2688         * accessibility/AccessibilityMenuListOption.h:
2689         * accessibility/AccessibilityMenuListOption.cpp:
2690         (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
2691         stringValue(), which holds from now on that used to be here.
2692         (WebCore::AccessibilityMenuListOption::stringValue): New, override
2693         of AccessibilityObject::stringValue() to return a proper string.
2694
2695         Emit the missing signals when a selection is made.
2696
2697         * accessibility/gtk/AXObjectCacheAtk.cpp:
2698         (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
2699         'focus' signals when a selection is made over the combo box.
2700
2701         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2702         (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
2703         Atk states are added to the state set when needed.
2704         (listObjectForSelection): New, returns the proper list object (the
2705         one holding the list of available options as its children) for an
2706         specific AtkObject implementing AtkSelection. This is needed
2707         because sometimes the selectable options are not directly children
2708         of the AtkSelection object (i.e. a combo box has a 'menu' object
2709         as its only child of it, holding the list of options as children).
2710         (optionFromList): Use listObjectForSelection() to get the actual
2711         object holding the list of children as the available options.
2712         (optionFromSelection): Add support for combo boxes.
2713         (webkit_accessible_selection_add_selection): Ditto.
2714         (webkit_accessible_selection_clear_selection): Ditto.
2715         (webkit_accessible_selection_get_selection_count): Ditto.
2716         (webkit_accessible_selection_is_child_selected): Ditto.
2717         (webkit_accessible_selection_remove_selection): Ditto.
2718         (webkit_accessible_text_get_text): Makes sure stringValue() is
2719         considered to get the result substring when it was already
2720         considered when checking the maximum text length for the object.
2721         (getInterfaceMaskFromObject): Make sure the AtkSelection interface
2722         is implemented for the combo boxes, that the AtkText is
2723         implemented for the menu items and that the AtkAction interface is
2724         now implemented for every object (WebCore will decide what to do).
2725
2726         Avoid a segfault crash when using this from unit tests.
2727
2728         * platform/gtk/PopupMenuGtk.cpp:
2729         (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
2730         before calling gdk_window_get_origin() over it.
2731
2732 2010-11-30  Andreas Kling  <kling@webkit.org>
2733
2734         Reviewed by Tor Arne Vestbø.
2735
2736         [Qt] GraphicsContext: Avoid unnecessarily copying the painter's QTransform
2737
2738         Stash the transform in a const reference (QPainter::transform() returns one)
2739         instead of making a copy in the shadow drawing parts of fillPath, strokePath and fillRect.
2740
2741         * platform/graphics/qt/GraphicsContextQt.cpp:
2742         (WebCore::GraphicsContext::fillPath):
2743         (WebCore::GraphicsContext::strokePath):
2744         (WebCore::GraphicsContext::fillRect):
2745
2746 2010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
2747
2748         Reviewed by Simon Fraser.
2749
2750         Provide more fine grained control to ports over when to turn on 
2751         accelerated compositing.
2752         https://bugs.webkit.org/show_bug.cgi?id=49998
2753
2754         The RenderLayerCompositor now checks with the chrome client whether
2755         3d transforms, video, plugins, canvas and animation require
2756         switching over to the composited path. Layers that overlap composited
2757         content will still turn into composited layers regardless of the
2758         setting.
2759
2760         * css/MediaQueryEvaluator.cpp:
2761         (WebCore::transform_3dMediaFeatureEval):
2762         * page/ChromeClient.h:
2763         (WebCore::ChromeClient::allowedCompositingTriggers):
2764         * rendering/RenderLayer.cpp:
2765         (WebCore::RenderLayer::canRender3DTransforms):
2766         (WebCore::RenderLayer::updateTransform):
2767         (WebCore::RenderLayer::currentTransform):
2768         * rendering/RenderLayer.h:
2769         * rendering/RenderLayerBacking.cpp:
2770         (WebCore::RenderLayerBacking::updateLayerTransform):
2771         * rendering/RenderLayerCompositor.cpp:
2772         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2773         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2774         (WebCore::RenderLayerCompositor::canRender3DTransforms):
2775         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2776         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
2777         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2778         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
2779         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
2780         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2781         * rendering/RenderLayerCompositor.h:
2782
2783 2010-11-30  Xan Lopez  <xlopez@igalia.com>
2784
2785         Reviewed by Martin Robinson.
2786
2787         [GTK] Plug leak in SoupCache
2788         https://bugs.webkit.org/show_bug.cgi?id=50142
2789
2790         Free the cache file contents when we don't need them anymore.
2791
2792         * platform/network/soup/cache/webkit/soup-cache.c:
2793         (webkit_soup_cache_load):
2794
2795 2010-11-30  Andras Becsi  <abecsi@webkit.org>
2796
2797         Reviewed by Csaba Osztrogonác.
2798
2799         [Qt][V8] Make QtWebKit with V8 build on Linux.
2800         https://bugs.webkit.org/show_bug.cgi?id=50244
2801
2802         No new tests needed.
2803
2804         * WebCore.pri: add missing idl file
2805         * WebCore.pro: enable Linux build
2806         * bindings/scripts/CodeGeneratorV8.pm: add missing headers
2807         * bindings/v8/ScriptControllerQt.cpp: fix instantiation
2808         (WebCore::ScriptController::qtScriptEngine):
2809         * bindings/v8/V8GCController.cpp: fix guard
2810         (WebCore::V8GCController::checkMemoryUsage):
2811         * inspector/CodeGeneratorInspector.pm: add missing header
2812         * loader/ResourceLoadScheduler.cpp: ditto
2813         * loader/cache/MemoryCache.cpp: ditto
2814         * loader/loader.cpp: ditto
2815
2816 2010-11-30  David Hyatt  <hyatt@apple.com>
2817
2818         Reviewed by Simon Fraser.
2819         
2820         https://bugs.webkit.org/show_bug.cgi?id=50183
2821         
2822         Code got commented out by accident during render tree refactoring last year.  Put the code back in, since
2823         it hurts performance to have that line commented out.
2824
2825         In order to put this code back in, I had to fix some bugs with preferred width computations and
2826         overflow: scroll.  Make the pref widths computation create the scrollbar if it doesn't exist yet.
2827
2828         Make sure the scrollbar size is included prior to checking for defined width/min-width/max-width values.  Otherwise
2829         the scrollbar inflates the width beyond the fixed size that was specified.
2830         
2831         For table cells, there is an additional wrinkle.  Make sure not to include the scrollbar size as part of the minimum
2832         intrinsic width so that we don't incorrectly grow.
2833
2834         * rendering/RenderBlock.cpp:
2835         (WebCore::RenderBlock::layoutPositionedObjects):
2836         (WebCore::RenderBlock::computePreferredLogicalWidths):
2837         * rendering/RenderFlexibleBox.cpp:
2838         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2839
2840 2010-11-30  Vitaly Repeshko  <vitalyr@chromium.org>
2841
2842         Unreviewed.
2843
2844         Attempt to fix windows debug chromium build.
2845
2846         * html/TimeInputType.cpp: Added include providing isfinite.
2847
2848 2010-11-30  Darin Adler  <darin@apple.com>
2849
2850         Reviewed by Jon Honeycutt.
2851
2852         DOM binding code generator scripts import unused File::stat Perl module
2853         https://bugs.webkit.org/show_bug.cgi?id=50250
2854
2855         * bindings/scripts/CodeGeneratorCPP.pm: Removed "using File::stat".
2856         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2857         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2858         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2859
2860 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
2861
2862         Reviewed by Yury Semikhatsky.
2863
2864         Web Inspector: implement "Revert to this revision" in resources panel.
2865         https://bugs.webkit.org/show_bug.cgi?id=50107
2866
2867         * inspector/Inspector.idl:
2868         * inspector/InspectorCSSAgent.cpp:
2869         (WebCore::InspectorCSSAgent::setStyleSheetText2):
2870         * inspector/InspectorCSSAgent.h:
2871         * inspector/InspectorStyleSheet.cpp:
2872         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2873         * inspector/front-end/CSSStyleModel.js:
2874         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2875         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2876         (WebInspector.CSSStyleModel.prototype._onRevert):
2877         * inspector/front-end/Resource.js:
2878         (WebInspector.Resource.prototype.get contentTimestamp):
2879         (WebInspector.Resource.prototype.setInitialContent):
2880         (WebInspector.Resource.prototype.isLocallyModified):
2881         (WebInspector.Resource.prototype.setContent.else.finished):
2882         (WebInspector.Resource.prototype.setContent):
2883         (WebInspector.Resource.prototype.revertToThis.callback):
2884         (WebInspector.Resource.prototype.revertToThis):
2885         (WebInspector.Resource.prototype.get baseRevision):
2886         (WebInspector.Resource.prototype._innerRequestContent):
2887         * inspector/front-end/ResourcesPanel.js:
2888         (WebInspector.ResourcesPanel.prototype._showResourceView):
2889         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2890         (WebInspector.ResourceRevisionTreeElement):
2891         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
2892         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
2893         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
2894         * inspector/front-end/ScriptsPanel.js:
2895         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
2896         (WebInspector.ScriptsPanel.prototype.editScriptSource):
2897         * inspector/front-end/SourceView.js:
2898         (WebInspector.SourceView.prototype._editLine):
2899         (WebInspector.SourceView.prototype._editLineComplete):
2900         (WebInspector.SourceView.prototype._revertEditLine):
2901
2902 2010-11-30  Adam Roben  <aroben@apple.com>
2903
2904         Clean up WebCore.vcproj's bindings filter
2905
2906         I added files that we compile (via an all-in-one file) but weren't in
2907         the .vcproj, removed files that no longer exist, and added the scripts
2908         we use.
2909
2910         Fixes <http://webkit.org/b/50248> WebCore.vcproj's bindings filter is
2911         out-of-date
2912
2913         Reviewed by Darin Adler.
2914
2915         * WebCore.vcproj/WebCore.vcproj:
2916
2917 2010-11-30  Adam Roben  <aroben@apple.com>
2918
2919         Move JSIDB* files to the DerivedSources filter
2920
2921         This correctly reflects their location on disk. (They were formerly
2922         listed under bindings/js.)
2923
2924         * WebCore.vcproj/WebCore.vcproj:
2925
2926 2010-11-30  Xiaomei Ji  <xji@chromium.org>
2927
2928         Reviewed by David Hyatt.
2929
2930         Remove clampNegativeToZero in adjustScrollPositionWithinRange.
2931         https://bugs.webkit.org/show_bug.cgi?id=50203
2932
2933         * platform/ScrollView.cpp:
2934         (WebCore::ScrollView::adjustScrollPositionWithinRange):
2935
2936 2010-11-30  Adam Roben  <aroben@apple.com>
2937
2938         Remove duplicate files from WebCore.vcproj
2939
2940         Rubber-stamped by Steve Falkenburg.
2941
2942         * WebCore.vcproj/WebCore.vcproj:
2943
2944 2010-11-30  Adam Roben  <aroben@apple.com>
2945
2946         Let VS do its thang with WebCore.vcproj
2947
2948         I just removed and readded AnimationBase.cpp.
2949
2950         Rubber-stamped by Steve Falkenburg.
2951
2952         * WebCore.vcproj/WebCore.vcproj:
2953
2954 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
2955
2956         Reviewed by Chris Fleizach.
2957
2958         ASSERT failing for combo boxes when selection changes
2959         https://bugs.webkit.org/show_bug.cgi?id=50062
2960
2961         Don't call listBoxOnChange for elements using menu lists.
2962
2963         Test: fast/forms/select-option-accesskey-crash.html
2964
2965         * dom/SelectElement.cpp:
2966         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
2967         to decide whether to call menuListOnChange() or listBoxOnChange()
2968         instead of always calling listBoxOnChange().
2969
2970 2010-11-30  Andreas Kling  <kling@webkit.org>
2971
2972         Reviewed by Dirk Schulze.
2973
2974         GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
2975         https://bugs.webkit.org/show_bug.cgi?id=48516
2976
2977         No new tests, this is refactoring only.
2978
2979         fillPath() -> fillPath(const Path&)
2980         strokePath() -> strokePath(const Path&)
2981         clipPath(WindRule) -> clipPath(const Path&, WindRule)
2982
2983         drawPath() was only used by CG, so made it PLATFORM(CG) specific.
2984
2985         The Qt, CG and Cairo implementations are best-effort.
2986         For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.
2987
2988         * WebCore.exp.in:
2989         * html/canvas/CanvasRenderingContext2D.cpp:
2990         (WebCore::CanvasRenderingContext2D::fill):
2991         (WebCore::CanvasRenderingContext2D::stroke):
2992         * inspector/InspectorController.cpp:
2993         (WebCore::drawOutlinedQuad):
2994         * mathml/RenderMathMLRoot.cpp:
2995         (WebCore::RenderMathMLRoot::paint):
2996         * mathml/RenderMathMLSquareRoot.cpp:
2997         (WebCore::RenderMathMLSquareRoot::paint):
2998         * platform/graphics/GraphicsContext.h:
2999         * platform/graphics/GraphicsContextPrivate.h:
3000         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3001         (WebCore::GraphicsContext::fillPath):
3002         (WebCore::GraphicsContext::strokePath):
3003         (WebCore::GraphicsContext::clipPath):
3004         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3005         * platform/graphics/cg/GraphicsContextCG.cpp:
3006         (WebCore::GraphicsContext::drawEllipse):
3007         (WebCore::addConvexPolygonToPath):
3008         (WebCore::GraphicsContext::drawConvexPolygon):
3009         (WebCore::GraphicsContext::clipConvexPolygon):
3010         (WebCore::GraphicsContext::drawPath):
3011         (WebCore::GraphicsContext::fillPath):
3012         (WebCore::GraphicsContext::strokePath):
3013         (WebCore::GraphicsContext::fillRoundedRect):
3014         (WebCore::GraphicsContext::clipPath):
3015         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3016         (WebCore::GraphicsContext::strokePath):
3017         (WebCore::GraphicsContext::fillPath):
3018         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3019         (WebCore::GraphicsContext::fillPath):
3020         (WebCore::GraphicsContext::strokePath):
3021         (WebCore::GraphicsContext::clipPath):
3022         * platform/graphics/qt/GraphicsContextQt.cpp:
3023         (WebCore::GraphicsContext::restorePlatformState):
3024         (WebCore::GraphicsContext::fillPath):
3025         (WebCore::GraphicsContext::strokePath):
3026         (WebCore::GraphicsContext::clipPath):
3027         (WebCore::GraphicsContext::strokeRect):
3028         (WebCore::GraphicsContext::translate):
3029         (WebCore::GraphicsContext::rotate):
3030         (WebCore::GraphicsContext::scale):
3031         (WebCore::GraphicsContext::concatCTM):
3032         * platform/graphics/skia/GraphicsContextSkia.cpp:
3033         (WebCore::GraphicsContext::clipPath):
3034         (WebCore::GraphicsContext::fillPath):
3035         (WebCore::GraphicsContext::strokePath):
3036         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3037         (WebCore::GraphicsContext::fillPath):
3038         (WebCore::GraphicsContext::strokePath):
3039         (WebCore::GraphicsContext::clipPath):
3040         * platform/graphics/wx/GraphicsContextWx.cpp:
3041         (WebCore::GraphicsContext::clipPath):
3042         (WebCore::GraphicsContext::fillPath):
3043         (WebCore::GraphicsContext::strokePath):
3044         * rendering/RenderBoxModelObject.cpp:
3045         (WebCore::RenderBoxModelObject::paintBorder):
3046         (WebCore::RenderBoxModelObject::paintBoxShadow):
3047         * rendering/RenderEmbeddedObject.cpp:
3048         (WebCore::RenderEmbeddedObject::paintReplaced):
3049         * rendering/RenderObject.cpp:
3050         (WebCore::RenderObject::drawBoxSideFromPath):
3051         * rendering/RenderSVGResource.h:
3052         (WebCore::RenderSVGResource::postApplyResource):
3053         * rendering/RenderSVGResourceClipper.cpp:
3054         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
3055         * rendering/RenderSVGResourceFilter.cpp:
3056         (WebCore::RenderSVGResourceFilter::postApplyResource):
3057         * rendering/RenderSVGResourceFilter.h:
3058         * rendering/RenderSVGResourceGradient.cpp:
3059         (WebCore::RenderSVGResourceGradient::applyResource):
3060         * rendering/RenderSVGResourceGradient.h:
3061         * rendering/RenderSVGResourcePattern.cpp:
3062         (WebCore::RenderSVGResourcePattern::postApplyResource):
3063         * rendering/RenderSVGResourcePattern.h:
3064         * rendering/RenderSVGResourceSolidColor.cpp:
3065         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
3066         * rendering/RenderSVGResourceSolidColor.h:
3067         * rendering/SVGRenderSupport.cpp:
3068         (WebCore::SVGRenderSupport::finishRenderSVGContent):
3069         * rendering/svg/RenderSVGPath.cpp:
3070         (WebCore::RenderSVGPath::fillAndStrokePath):
3071         * rendering/svg/SVGInlineTextBox.cpp:
3072         (WebCore::SVGInlineTextBox::releasePaintingResource):
3073         (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
3074         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
3075         * rendering/svg/SVGInlineTextBox.h:
3076         * svg/SVGFont.cpp:
3077         (WebCore::Font::drawTextUsingSVGFont):
3078
3079 2010-11-30  Alexey Proskuryakov  <ap@apple.com>
3080
3081         Reviewed by Darin Adler and Geoff Garen.
3082
3083         https://bugs.webkit.org/show_bug.cgi?id=44152
3084         <rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.
3085
3086         We have existing behaviors where parent objects in detached subtrees are not preserved:
3087         - if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
3088         its children parentNode attribute null;
3089         - relationship between a <style> or <link> node and its stylesheet is immediately broken
3090         when the node is removed from document (in this case, regardless of wrapper existence).
3091
3092         Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
3093         does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.
3094
3095         Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
3096                fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html
3097
3098         * css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.
3099
3100         * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
3101         the new assertion from firing. This function was adding a rule to style sheet, without
3102         telling the rule about it.
3103
3104 2010-11-30  Steve Falkenburg  <sfalken@apple.com>
3105
3106         Reviewed by Adam Roben.
3107
3108         All projects on Windows should use cmd files for build events
3109         https://bugs.webkit.org/show_bug.cgi?id=50213
3110
3111         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3112         * WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
3113         * WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
3114         * WebCore.vcproj/WebCoreCommon.vsprops:
3115         * WebCore.vcproj/WebCorePostBuild.cmd: Added.
3116         * WebCore.vcproj/WebCorePreBuild.cmd: Added.
3117
3118 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3119
3120         Unreviewed, rolling out r72914.
3121         http://trac.webkit.org/changeset/72914
3122         https://bugs.webkit.org/show_bug.cgi?id=50241
3123
3124         "pfeldman has a revision management patch both for CSS and JS"
3125         (Requested by apavlov on #webkit).
3126
3127         * English.lproj/localizedStrings.js:
3128         * inspector/InspectorStyleSheet.cpp:
3129         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3130         * inspector/front-end/CSSStyleModel.js:
3131         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3132         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3133         (WebInspector.CSSStyleSheet.prototype.getText):
3134         (WebInspector.CSSStyleSheet.prototype.setText):
3135         * inspector/front-end/ResourcesPanel.js:
3136         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3137         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3138
3139 2010-11-25  Satish Sampath  <satish@chromium.org>
3140
3141         Reviewed by Kent Tamura.
3142
3143         Fix rendering of speech button when setting the attribute dynamically.
3144         https://bugs.webkit.org/show_bug.cgi?id=50077
3145
3146         * html/HTMLInputElement.cpp:
3147         (WebCore::HTMLInputElement::parseMappedAttribute):
3148         * rendering/RenderTextControlSingleLine.cpp:
3149         (WebCore::RenderTextControlSingleLine::speechAttributeChanged):
3150         * rendering/RenderTextControlSingleLine.h:
3151
3152 2010-11-30  Alexander Pavlov  <apavlov@chromium.org>
3153
3154         Reviewed by Yury Semikhatsky.
3155
3156         Web Inspector: Enable switching between revisions of stylesheets
3157         https://bugs.webkit.org/show_bug.cgi?id=50227
3158
3159         Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().
3160
3161         * English.lproj/localizedStrings.js:
3162         * inspector/InspectorStyleSheet.cpp:
3163         (WebCore::InspectorStyleSheet::reparseStyleSheet):
3164         * inspector/front-end/CSSStyleModel.js:
3165         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3166         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3167         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3168         (WebInspector.CSSStyleSheet.prototype.getText):
3169         * inspector/front-end/ResourcesPanel.js:
3170         (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3171         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3172         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3173
3174 2010-11-30  John Knottenbelt  <jknotten@chromium.org>
3175
3176         Reviewed by David Levin.
3177
3178         V8 binding for DOMTimeStamp should be Number, not Date
3179         https://bugs.webkit.org/show_bug.cgi?id=49963
3180
3181         Test: fast/dom/domtimestamp-is-number.html
3182
3183         * bindings/scripts/CodeGeneratorV8.pm:
3184
3185 2010-11-30  Renata Hodovan  <reni@inf.u-szeged.hu>
3186
3187         Reviewed by Andreas Kling.
3188
3189         [Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
3190         https://bugs.webkit.org/show_bug.cgi?id=49916
3191
3192         Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
3193         No new test is needed.
3194
3195         * platform/graphics/qt/GraphicsContextQt.cpp:
3196         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3197
3198 2010-11-30  Patrick Gansterer  <paroga@webkit.org>
3199
3200         Reviewed by Andreas Kling.
3201
3202         Move generator logic into main CMakeLists.txt file
3203         https://bugs.webkit.org/show_bug.cgi?id=49885
3204
3205         Also make the generator calls more portable.
3206
3207         * CMakeLists.txt:
3208
3209 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3210
3211         Unreviewed, rolling out r72902.
3212         http://trac.webkit.org/changeset/72902
3213         https://bugs.webkit.org/show_bug.cgi?id=50062
3214
3215         This change is causing layout test failures on the Tests bots
3216         for the mac platform.
3217
3218         * dom/SelectElement.cpp:
3219         (WebCore::SelectElement::accessKeySetSelectedIndex):
3220
3221 2010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3222
3223         Unreviewed, rolling out r72764.
3224         http://trac.webkit.org/changeset/72764
3225         https://bugs.webkit.org/show_bug.cgi?id=50215
3226
3227         This change is causing assertion failures on the debug bots.
3228         (Requested by mrobinson on #webkit).
3229
3230         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3231         (webkit_accessible_get_name):
3232         (webkit_accessible_detach):
3233
3234 2010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3235
3236         Reviewed by Yury Semikhatsky.
3237
3238         Web Inspector: make copy(node) work in console.
3239         https://bugs.webkit.org/show_bug.cgi?id=50180
3240
3241         * inspector/front-end/InjectedScript.js:
3242         (injectedScriptConstructor.):
3243
3244 2010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3245
3246         Reviewed by Darin Adler.
3247
3248         ASSERT failing for combo boxes when selection changes
3249         https://bugs.webkit.org/show_bug.cgi?id=50062
3250
3251         Don't call listBoxOnChange for elements using menu lists.
3252
3253         Test: accessibility/select-menulist-crash.html
3254
3255         * dom/SelectElement.cpp:
3256         (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
3257         to decide whether to call menuListOnChange() or listBoxOnChange()
3258         instead of always calling listBoxOnChange().
3259
3260 2010-11-30  Helder Correia  <helder@sencha.com>
3261
3262         Reviewed by Kenneth Rohde Christiansen.
3263
3264         [Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
3265         https://bugs.webkit.org/show_bug.cgi?id=50198
3266
3267         Handle the special case when scaling is used and translate the shadow
3268         offset accordingly. The correct behavior is ensured in ContextShadow
3269         already, the issue only happens when using a non-blur shadow.
3270
3271         Test: fast/canvas/canvas-scale-strokePath-shadow.html
3272
3273         * platform/graphics/qt/GraphicsContextQt.cpp:
3274         (WebCore::GraphicsContext::strokePath):
3275
3276 2010-11-30  Helder Correia  <helder@sencha.com>
3277
3278         Reviewed by Kenneth Rohde Christiansen.
3279
3280         [Qt] Path filling should keep shadow offset after context scaling
3281         https://bugs.webkit.org/show_bug.cgi?id=50194
3282
3283         Handle the special case when scaling is used and translate the shadow
3284         offset accordingly. The correct behavior is ensured in ContextShadow
3285         already, the issue only happens when using a non-blur shadow.
3286
3287         Test: fast/canvas/canvas-scale-fillPath-shadow.html
3288
3289         * platform/graphics/qt/GraphicsContextQt.cpp:
3290         (WebCore::GraphicsContext::fillPath):
3291
3292 2010-11-30  Yury Semikhatsky  <yurys@chromium.org>
3293
3294         Reviewed by Pavel Feldman.
3295
3296         Web Inspector: make ScriptCallStack and ScriptArguments reference counted
3297         https://bugs.webkit.org/show_bug.cgi?id=50156
3298
3299         No new tests. This refactoring is covered with existing inspector tests.
3300
3301         * bindings/js/JSConsoleCustom.cpp:
3302         (WebCore::JSConsole::profile):
3303         (WebCore::JSConsole::profileEnd):
3304         * bindings/js/ScriptCallStackFactory.cpp:
3305         (WebCore::createScriptCallStack):
3306         (WebCore::createScriptArguments):
3307         * bindings/js/ScriptCallStackFactory.h:
3308         * bindings/scripts/CodeGeneratorJS.pm:
3309         * bindings/scripts/CodeGeneratorV8.pm:
3310         * bindings/scripts/test/JS/JSTestObj.cpp:
3311         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3312         * bindings/scripts/test/V8/V8TestObj.cpp:
3313         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3314         * bindings/v8/ScriptCallStackFactory.cpp:
3315         (WebCore::createScriptCallStack):
3316         (WebCore::createScriptArguments):
3317         * bindings/v8/ScriptCallStackFactory.h:
3318         * bindings/v8/V8ConsoleMessage.cpp:
3319         (WebCore::V8ConsoleMessage::handler):
3320         (WebCore::V8ConsoleMessage::dispatchNow):
3321         * bindings/v8/V8ConsoleMessage.h:
3322         * bindings/v8/custom/V8ConsoleCustom.cpp:
3323         (WebCore::V8Console::traceCallback):
3324         (WebCore::V8Console::assertCallback):
3325         (WebCore::V8Console::profileCallback):
3326         (WebCore::V8Console::profileEndCallback):
3327         * inspector/ConsoleMessage.cpp:
3328         (WebCore::ConsoleMessage::ConsoleMessage):
3329         * inspector/ConsoleMessage.h:
3330         * inspector/InspectorController.cpp:
3331         (WebCore::InspectorController::addMessageToConsole):
3332         (WebCore::InspectorController::startGroup):
3333         * inspector/InspectorController.h:
3334         * inspector/ScriptArguments.cpp:
3335         (WebCore::ScriptArguments::create):
3336         * inspector/ScriptArguments.h:
3337         * inspector/ScriptCallFrame.h:
3338         * inspector/ScriptCallStack.cpp:
3339         (WebCore::ScriptCallStack::create):
3340         (WebCore::ScriptCallStack::at):
3341         (WebCore::ScriptCallStack::size):
3342         * inspector/ScriptCallStack.h:
3343         * page/Console.cpp:
3344         (WebCore::Console::addMessage):
3345         (WebCore::Console::debug):
3346         (WebCore::Console::error):
3347         (WebCore::Console::info):
3348         (WebCore::Console::log):
3349         (WebCore::Console::dir):
3350         (WebCore::Console::dirxml):
3351         (WebCore::Console::trace):
3352         (WebCore::Console::assertCondition):
3353         (WebCore::Console::count):
3354         (WebCore::Console::markTimeline):
3355         (WebCore::Console::profile):
3356         (WebCore::Console::profileEnd):
3357         (WebCore::Console::timeEnd):
3358         (WebCore::Console::group):
3359         (WebCore::Console::groupCollapsed):
3360         (WebCore::Console::warn):
3361         * page/Console.h:
3362
3363 2010-11-29  Dan Bernstein  <mitz@apple.com>
3364
3365         Build fix for non-ICU platforms after r72887.
3366
3367         * editing/TextIterator.cpp:
3368         (WebCore::SearchBuffer::prependContext):
3369
3370 2010-11-29  Dan Bernstein  <mitz@apple.com>
3371
3372         Reviewed by Darin Adler.
3373
3374         WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
3375         https://bugs.webkit.org/show_bug.cgi?id=50038
3376
3377         Test: editing/text-iterator/findString.html
3378
3379         * GNUmakefile.am: Added FindOptions.h.
3380         * WebCore.exp.in: Export the new methods that take FindOptions.
3381         * WebCore.gypi: Added FindOptions.h.
3382         * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
3383         * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
3384         * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
3385         * editing/Editor.cpp:
3386         (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
3387         (WebCore::Editor::lastVisibleRange): Ditto.
3388         (WebCore::Editor::nextVisibleRange): Ditto.
3389         (WebCore::Editor::findString): Ditto.
3390         (WebCore::Editor::countMatchesForText): Ditto.
3391         * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
3392         countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
3393         and firstVisibleRange() and lastVisibleRange() to take FindOptions.
3394         * editing/FindOptions.h: Added.
3395         * editing/TextIterator.cpp:
3396         Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
3397         for determining word boundaries.
3398         (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
3399         “words” are embedded in a word.
3400         (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
3401         m_options, m_prefixLength and m_needsMoreContext.
3402         (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
3403         of the buffer.
3404         (WebCore::SearchBuffer::needsMoreContext): Added.
3405         (WebCore::SearchBuffer::prependContext): Added.
3406         (WebCore::SearchBuffer::isWordStartMatch): Added.
3407         (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
3408         only for word prefix matches, maintains enough context before a tentative match when moving
3409         it to the beginning of the buffer. Reject matches that are not at word starts if requested.
3410         Adjust m_prefixLength when pushing characters out of the buffer.
3411         (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
3412         if and as long as it requires more of it.
3413         * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
3414         * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
3415         * page/Page.cpp:
3416         (WebCore::Page::findString): Changed to work with FindOptions.
3417         (WebCore::Page::markAllMatchesForText): Ditto.
3418         * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
3419         * platform/text/TextBoundaries.cpp:
3420         (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
3421         (WebCore::startOfLastWordBoundaryContext): Ditto.
3422         * platform/text/TextBoundaries.h:
3423
3424 2010-11-29  Dai Mikurube  <dmikurube@google.com>
3425
3426         Reviewed by Kent Tamura.
3427
3428         when empty, clicking "down" on outer-spin-button returns "max value"
3429         https://bugs.webkit.org/show_bug.cgi?id=45491
3430
3431         Modified stepping-up/down from renderer
3432         - to clamp steps,
3433         - to handle empty values (described below), and
3434         - to apply them for range type inputs.
3435
3436         Stepping-up/down for empty values are handled "the empty as 0."
3437         For example :
3438         * If 0 is in-range, and matches to step value
3439           "down" -> -step
3440           "up" -> +step
3441           If -step or +step is out of range, new value should be 0.
3442
3443         * If 0 is smaller than the minimum value
3444           "down" -> the minimum value
3445           "up" -> the minimum value
3446
3447         * If 0 is larger than the maximum value
3448           "down" -> the maximum value
3449           "up" -> the maximum value
3450
3451         * If 0 is in-range, but not matched to step value
3452           "down" -> smaler matched value nearest to 0.
3453             e.g. <input type=number min=-100 step=3> -> -1
3454           "up" -> larger matched value nearest to 0.
3455             e.g. <input type=number min=-100 step=3> -> 2
3456
3457         As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
3458         As for datetime type, the empty is assumed as "current date/time in UTC".
3459
3460         As for range input types, changed stepping from renderer to use stepUpFromRenderer().
3461         It was calculated with stepUp() from RangeInputType::handleKeydownEvent().
3462
3463         Test: fast/forms/input-stepup-stepdown-from-renderer.html
3464
3465         * html/BaseDateAndTimeInputType.cpp:
3466         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
3467         * html/BaseDateAndTimeInputType.h:
3468         * html/DateTimeInputType.cpp:
3469         (WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
3470         * html/DateTimeInputType.h:
3471         * html/HTMLInputElement.cpp:
3472         (WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
3473         * html/HTMLInputElement.h:
3474         (WebCore::HTMLInputElement::isRangeControl):
3475         * html/InputType.cpp:
3476         (WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
3477         * html/InputType.h:
3478         * html/MonthInputType.cpp:
3479         (WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
3480         * html/MonthInputType.h:
3481         * html/RangeInputType.cpp:
3482         (WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
3483         * html/TimeInputType.cpp:
3484         (WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
3485         * html/TimeInputType.h:
3486         * manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs since they are "the current local/UTC time", which cannot be tested automatically.
3487
3488 2010-11-29  Adam Barth  <abarth@webkit.org>
3489
3490         Reviewed by Darin Adler.
3491
3492         Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
3493         https://bugs.webkit.org/show_bug.cgi?id=50182
3494
3495         A display-isolated URL can only be displayed (e.g., put in an iframe,
3496         hyperlinked to) by documents from that scheme.  In a sense, this is a
3497         generalization of some of the protections we give file URLs, but
3498         instead of lumping them all together into one "local" bucket, this
3499         patch creates a separate bucket for each scheme.
3500
3501         For a while, I tried using a separate bucket for each origin.  That
3502         would have played nicely with what Blob URLs are trying to do, but some
3503         "chrome" URL pages rely on being able to display other chrome URL
3504         pages, even in different origins.  For example, the New Tab Page shows
3505         thumbnails from the "thumbnail" host.
3506
3507         This patch also removes a bunch of unused code.  I've also propagated
3508         the "deprecated" status of deprecatedCanDisplay to
3509         deprecatedShouldTreatURLAsLocal because that method has no other
3510         callers and is really asking for uppercase/lowercase bugs.  I dream of
3511         someday removing these functions.
3512
3513         * page/SecurityOrigin.cpp:
3514         (WebCore::SecurityOrigin::canDisplay):
3515         (WebCore::SecurityOrigin::deprecatedCanDisplay):
3516         * platform/SchemeRegistry.cpp:
3517         (WebCore::displayIsolatedURLSchemes):
3518         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
3519         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
3520         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
3521         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
3522         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
3523         * platform/SchemeRegistry.h:
3524
3525 2010-11-29  Sergio Villar Senin  <svillar@igalia.com>
3526
3527         Reviewed by Martin Robinson.
3528
3529         [GTK] Leaks in SoupCache code
3530         https://bugs.webkit.org/show_bug.cgi?id=50161
3531
3532         Fixes some memory leaks in SoupCache code.
3533
3534         * platform/network/soup/cache/soup-http-input-stream.c:
3535         (send_async_finished): Added a missing g_object_unref.
3536         * platform/network/soup/cache/webkit/soup-cache.c:
3537         (get_cacheability): Added soup_header_free_param_list.
3538         (webkit_soup_cache_entry_set_freshness): Ditto.
3539         (webkit_soup_cache_send_response): Ditto.
3540         (webkit_soup_cache_has_response): Ditto.
3541
3542 2010-11-29  Jian Li  <jianli@chromium.org>
3543
3544         Reviewed by David Levin.
3545
3546         Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
3547         https://bugs.webkit.org/show_bug.cgi?id=50199
3548
3549         Test: http/tests/xmlhttprequest/send-array-buffer.html
3550
3551         * bindings/js/JSXMLHttpRequestCustom.cpp:
3552         (WebCore::JSXMLHttpRequest::send):
3553         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3554         (WebCore::V8XMLHttpRequest::sendCallback):
3555         * xml/XMLHttpRequest.cpp:
3556         (WebCore::XMLHttpRequest::send):
3557         * xml/XMLHttpRequest.h:
3558
3559 2010-11-29  James Robinson  <jamesr@chromium.org>
3560
3561         [chromium] REGRESSION(72470): Crash in skia on some images
3562         https://bugs.webkit.org/show_bug.cgi?id=50201
3563
3564         Reverts r72470
3565
3566         * platform/graphics/skia/ImageSkia.cpp:
3567         (WebCore::computeResamplingMode):
3568         (WebCore::drawResampledBitmap):
3569
3570 2010-11-29  Dmitry Titov  <dimich@chromium.org>
3571
3572         Reviewed by David Levin.
3573
3574         Crash when iframe transfers from one page to another and has child frames.
3575         https://bugs.webkit.org/show_bug.cgi?id=50200
3576
3577         * page/Frame.cpp:
3578         (WebCore::Frame::transferChildFrameToNewDocument):
3579         avoid overriding 'didTransfer' which has the result of previous check.
3580
3581 2010-11-19  Ryosuke Niwa  <rniwa@webkit.org>
3582
3583         Reviewed by David Hyatt.
3584
3585         up arrow doesn't work with RTL text with word wrapping
3586         https://bugs.webkit.org/show_bug.cgi?id=41987
3587
3588         The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
3589         is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.
3590
3591         Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
3592         is greater than 0.  Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
3593         does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.
3594
3595         Tests: editing/selection/click-left-of-rtl-wrapping-text.html
3596                editing/selection/modify-up-on-rtl-wrapping-text.html
3597
3598         * editing/visible_units.cpp:
3599         (WebCore::startOfLine):
3600         * rendering/RenderText.cpp:
3601         (WebCore::RenderText::positionForPoint):
3602
3603 2010-11-29  Ilya Sherman  <isherman@chromium.org>
3604
3605         Reviewed by Kent Tamura.
3606
3607         Ensure that option elements are rendered with normal font weight on Windows/Linux
3608         https://bugs.webkit.org/show_bug.cgi?id=50055
3609
3610         * WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
3611         * css/themeChromiumSkia.css: Added.
3612         (option): font-weight: normal !important;
3613         * rendering/RenderThemeChromiumSkia.cpp:
3614         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css
3615
3616 2010-11-29  Brent Fulgham  <bfulgham@webkit.org>
3617
3618         Unreviewed build fix.
3619
3620         * WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
3621           definition so that proper targets are build.
3622         * platform/graphics/win/cairo/FontPlatformData.h:
3623         (WebCore::FontPlatformData::orientation): Add missing implementation.
3624
3625 2010-11-29  Chris Rogers  <crogers@google.com>
3626
3627         Reviewed by Kenneth Russell.
3628
3629         Switch web audio code to use FloatPoint3D instead of Vector3
3630         https://bugs.webkit.org/show_bug.cgi?id=50186
3631
3632         No new tests since audio API is not yet implemented.
3633
3634         * platform/audio/Cone.cpp:
3635         (WebCore::ConeEffect::gain):
3636         * platform/audio/Cone.h:
3637         * platform/graphics/FloatPoint3D.h:
3638         (WebCore::FloatPoint3D::isZero):
3639         (WebCore::operator*):
3640         (WebCore::FloatPoint3D::distanceTo):
3641         * webaudio/AudioListener.h:
3642         (WebCore::AudioListener::setPosition):
3643         (WebCore::AudioListener::position):
3644         (WebCore::AudioListener::setOrientation):
3645         (WebCore::AudioListener::orientation):
3646         (WebCore::AudioListener::setUpVector):
3647         (WebCore::AudioListener::upVector):
3648         (WebCore::AudioListener::setVelocity):
3649         (WebCore::AudioListener::velocity):
3650         * webaudio/AudioPannerNode.cpp:
3651         (WebCore::AudioPannerNode::AudioPannerNode):
3652         (WebCore::AudioPannerNode::getAzimuthElevation):
3653         (WebCore::AudioPannerNode::dopplerRate):
3654         (WebCore::AudioPannerNode::distanceConeGain):
3655         * webaudio/AudioPannerNode.h:
3656         (WebCore::AudioPannerNode::position):
3657         (WebCore::AudioPannerNode::setPosition):
3658         (WebCore::AudioPannerNode::orientation):
3659         (WebCore::AudioPannerNode::setOrientation):
3660         (WebCore::AudioPannerNode::velocity):
3661         (WebCore::AudioPannerNode::setVelocity):
3662
3663 2010-11-29  Xiaomei Ji  <xji@chromium.org>
3664
3665         Reviewed by David Hyatt.
3666
3667         Right-to-left pages should be scrollable to reveal left overflow.
3668         https://bugs.webkit.org/show_bug.cgi?id=23556
3669
3670         For RTL page, save left layout overflow and include it into the document
3671         size during layout. Use the left layout overflow when scroll and paint
3672         the page. Behavior on LTR page should be untouched since left layout 
3673         overflow is set as 0 for LTR page.
3674
3675         Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
3676                fast/dom/horizontal-scrollbar-in-rtl.html
3677                fast/dom/horizontal-scrollbar-when-dir-change.html
3678                fast/dom/left-overflow-in-ltr.html
3679                fast/dom/right-overflow-in-rtl.html
3680
3681         * page/FrameView.cpp:
3682         (WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
3683         * page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
3684         * platform/ScrollView.cpp:
3685         (WebCore::ScrollView::ScrollView):
3686         (WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
3687         (WebCore::ScrollView::minimumScrollPosition):
3688         (WebCore::ScrollView::adjustScrollPositionWithinRange):
3689         (WebCore::ScrollView::valueChanged):
3690         (WebCore::ScrollView::setScrollPosition):
3691         (WebCore::ScrollView::updateScrollbars):
3692         (WebCore::ScrollView::wheelEvent):
3693         * platform/ScrollView.h:
3694         * platform/mac/ScrollViewMac.mm:
3695         (WebCore::ScrollView::platformSetContentsSize):
3696         (WebCore::ScrollView::platformSetScrollPosition):
3697         (WebCore::ScrollView::platformSetScrollOriginX):
3698         * rendering/RenderBox.cpp:
3699         (WebCore::RenderBox::styleDidChange):
3700         (WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
3701         * rendering/RenderView.cpp:
3702         (WebCore::RenderView::layout): Save left layout overflow.
3703         (WebCore::RenderView::docLeft):
3704         (WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
3705         * rendering/RenderView.h:
3706
3707 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
3708
3709         Reviewed by Ojan Vafai.
3710
3711         bunch of pixel failures after http://trac.webkit.org/changeset/72839/
3712         https://bugs.webkit.org/show_bug.cgi?id=50188
3713         
3714         We need to call updateLayerTransform() for reflections, and
3715         table rows as well.
3716
3717         * rendering/RenderReplica.cpp:
3718         (WebCore::RenderReplica::layout):
3719         * rendering/RenderTableRow.cpp:
3720         (WebCore::RenderTableRow::layout):
3721         * rendering/RenderTableSection.cpp:
3722         (WebCore::RenderTableSection::layoutRows):
3723
3724 2010-11-29  Xiaomei Ji  <xji@chromium.org>
3725
3726         Reviewed by David Hyatt.
3727
3728         Fix tab overflow problem when alignment is not left.
3729         https://bugs.webkit.org/show_bug.cgi?id=25459
3730
3731         I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc. 
3732         In all of them, (when the writing mode is horizontal) when the alignment is not
3733         left alignment, the length of tab is computed based on the tab's position
3734         relative to the left start of line, not based on the tab's position relative 
3735         to the left edge of the document.
3736
3737         WebKit should follow the same.
3738
3739         The m_xPos in each TextRun should be relative to the left start of the line, 
3740         not left start of its containing block (in right alignment and center alignment,
3741         left start of the line is not the same as left start of the containing block).
3742         So, when the text is drawn, the width of tab is consistent with the width 
3743         computed in RenderBlock::computeInlineDirectionPositionsForLine().
3744
3745         I did not test vertical writing mode, but I think the same rule should apply.
3746
3747         Test: fast/dom/tab-in-right-alignment.html
3748
3749         * platform/graphics/TextRun.h:
3750         * rendering/InlineTextBox.cpp:
3751         (WebCore::InlineTextBox::textPos):
3752         * rendering/InlineTextBox.h:
3753
3754 2010-11-29  Mikhail Naganov  <mnaganov@chromium.org>
3755
3756         Reviewed by Pavel Feldman.
3757
3758         WebInspector: Request JSON-serialized heap snapshot from JS engine.
3759         This simplifies heap snapshots interaction and API. Instead of
3760         having objects representing snapshot entities, the whole snapshot
3761         is transferred to WebInspector and parsed there.
3762
3763         https://bugs.webkit.org/show_bug.cgi?id=49974
3764
3765         * bindings/js/ScriptHeapSnapshot.h:
3766         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
3767         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
3768         (WebCore::ScriptHeapSnapshot::writeJSON):
3769         (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
3770         * bindings/v8/ScriptHeapSnapshot.cpp:
3771         (WebCore::ScriptHeapSnapshot::writeJSON):
3772         * bindings/v8/ScriptHeapSnapshot.h:
3773         (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
3774         * inspector/Inspector.idl:
3775         * inspector/InspectorProfilerAgent.cpp:
3776         (WebCore::InspectorProfilerAgent::getProfile):
3777         * inspector/front-end/HeapSnapshotView.js:
3778         (WebInspector.HeapSnapshotEdgesIterator):
3779         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
3780         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
3781         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
3782         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
3783         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
3784         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
3785         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
3786         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
3787         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
3788         (WebInspector.HeapSnapshotNodeWrapper):
3789         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
3790         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
3791         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
3792         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
3793         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
3794         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
3795         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
3796         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
3797         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
3798         (WebInspector.HeapSnapshot):
3799         (WebInspector.HeapSnapshot.prototype._init):
3800         (WebInspector.HeapSnapshot.prototype.get rootEdges):
3801         (WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
3802         (WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
3803         (WebInspector.HeapSnapshotView.prototype._loadProfile):
3804         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3805         (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
3806         (WebInspector.HeapSnapshotView.prototype._prepareProfile):
3807         (WebInspector.HeapSnapshotView.prototype._sortData):
3808         * inspector/front-end/ProfilesPanel.js:
3809         (WebInspector.ProfilesPanel):
3810         (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
3811         (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
3812         * inspector/front-end/inspector.js:
3813         (WebInspector.addHeapSnapshotChunk):
3814         (WebInspector.finishHeapSnapshot):
3815
3816 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
3817
3818         Reviewed by Dave Hyatt.
3819
3820         layer()->currentTransform() is stale when layout changes the box size
3821         https://bugs.webkit.org/show_bug.cgi?id=50175
3822         
3823         RenderLayer::updateTransform() is fairly expensive, so we
3824         have to avoid calling it from RenderBox::applyLayerTransformToRect()
3825         every time. This requires that we update the layer's transform
3826         during layout, instead of from updateLayerPositions() which is too late.
3827         
3828         So call updateLayerTransform() from the various layout methods
3829         on renderers that can be transformed, and remove it from 
3830         updateLayerPositions().
3831
3832         Test: fast/overflow/overflow-update-transform.html
3833
3834         * rendering/RenderBlock.cpp:
3835         (WebCore::RenderBlock::layoutBlock):
3836         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
3837         * rendering/RenderBox.cpp:
3838         (WebCore::RenderBox::applyLayerTransformToRect):
3839         (WebCore::RenderBox::updateLayerTransform):
3840         * rendering/RenderBox.h:
3841         * rendering/RenderEmbeddedObject.cpp:
3842         (WebCore::RenderEmbeddedObject::layout):
3843         * rendering/RenderFlexibleBox.cpp:
3844         (WebCore::RenderFlexibleBox::layoutBlock):
3845         * rendering/RenderIFrame.cpp:
3846         (WebCore::RenderIFrame::layout):
3847         * rendering/RenderLayer.cpp:
3848         (WebCore::RenderLayer::updateLayerPositions):
3849         * rendering/RenderReplaced.cpp:
3850         (WebCore::RenderReplaced::layout):
3851         * rendering/RenderTable.cpp:
3852         (WebCore::RenderTable::layout):
3853
3854 2010-11-29  Chris Rogers  <crogers@google.com>
3855
3856         Reviewed by Kenneth Russell.
3857
3858         Add remaining custom JSC web audio bindings
3859         https://bugs.webkit.org/show_bug.cgi?id=50172
3860
3861         No new tests since audio API is not yet implemented.
3862
3863         * bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
3864         (WebCore::JSAudioBufferSourceNode::setBuffer):
3865         * bindings/js/JSConvolverNodeCustom.cpp: Added.
3866         (WebCore::JSConvolverNode::setBuffer):
3867         * bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
3868         (WebCore::JSJavaScriptAudioNode::markChildren):
3869         * webaudio/AudioBufferSourceNode.idl:
3870         * webaudio/ConvolverNode.idl:
3871
3872 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
3873
3874         Reviewed by Darin Adler.
3875
3876         HTMLFormElement.elements doesn't include fieldsets
3877         https://bugs.webkit.org/show_bug.cgi?id=48193
3878
3879         Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
3880         This patch does not add object element to the list. A separate bug will do that.
3881
3882         Test: fast/forms/form-collection-elements.html
3883
3884         * html/HTMLFieldSetElement.h:
3885         (WebCore::HTMLFieldSetElement::isEnumeratable):
3886         * html/HTMLKeygenElement.h:
3887         (WebCore::HTMLKeygenElement::isEnumeratable):
3888
3889 2010-11-29  Xan Lopez  <xlopez@igalia.com>
3890
3891         Reviewed by Martin Robinson.
3892
3893         Get distcheck going.
3894
3895         * GNUmakefile.am:
3896
3897 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
3898
3899         Reviewed by Darin Adler.
3900
3901         https://bugs.webkit.org/show_bug.cgi?id=50181
3902         CSS style declarations don't GC protect parents
3903
3904         Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html
3905
3906         * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
3907         Protect the parent rule.
3908
3909 2010-11-29  Ilya Tikhonovsky  <loislo@chromium.org>
3910
3911         Reviewed by Pavel Feldman.
3912
3913         Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
3914         in a confusing manner. The format string should be changed from %d x %d
3915         pattern to (%d, %d).
3916
3917         https://bugs.webkit.org/show_bug.cgi?id=50178
3918
3919         * English.lproj/localizedStrings.js:
3920         * inspector/front-end/TimelinePanel.js:
3921         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3922
3923 2010-11-29  Darin Adler  <darin@apple.com>
3924
3925         Reviewed by Andreas Kling.
3926
3927         Remove a couple unneeded overflow checks
3928         https://bugs.webkit.org/show_bug.cgi?id=49816
3929
3930         * platform/text/TextCodecUTF16.cpp:
3931         (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
3932         an overflow check with CRASH.
3933
3934 2010-11-29  Tony Chang  <tony@chromium.org>
3935
3936         Unreviewed, disable warnings again on chromium linux
3937
3938         * WebCore.gyp/WebCore.gyp:
3939
3940 2010-11-29  Cosmin Truta  <ctruta@chromium.org>
3941
3942         Reviewed by Nikolas Zimmermann.
3943
3944         getBoundingClientRect: Do not truncate the coordinates to integers
3945         https://bugs.webkit.org/show_bug.cgi?id=48110
3946
3947         Remove the float-to-int coordinate conversions inside getBoundingClientRect,
3948         to comply with the CSSOM View Module API.
3949
3950         Tests: fast/dom/Element/getBoundingClientRect.html
3951                fast/dom/Range/getBoundingClientRect.html
3952                svg/zoom/page/zoom-getBoundingClientRect.xhtml
3953                svg/zoom/page/zoom-zoom-coords.xhtml
3954
3955         * dom/ClientRect.cpp:
3956         (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
3957         * dom/ClientRect.h:
3958         (WebCore::ClientRect::create): Ditto.
3959         * dom/Element.cpp:
3960         (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
3961         * dom/Range.cpp:
3962         (WebCore::Range::getBoundingClientRect): Ditto.
3963         * rendering/RenderObject.h:
3964         (adjustIntRectForAbsoluteZoom): Removed.
3965         (adjustFloatRectForAbsoluteZoom): Added.
3966         * rendering/style/RenderStyle.h:
3967         (adjustFloatForAbsoluteZoom): Added.
3968
3969 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
3970
3971         Reviewed by Darin Adler.
3972
3973         Converge means of querying a parent node into one way, which is Node::parentNode.
3974         https://bugs.webkit.org/show_bug.cgi?id=49686
3975
3976         A follow-up to r72259, which explicitly forbids further use of Node::parent by
3977         making it private.
3978
3979         No change in behavior, so no new tests.
3980
3981         * dom/Document.cpp:
3982         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
3983         (WebCore::Document::hoveredNodeDetached): Ditto.
3984         (WebCore::Document::activeChainNodeDetached): Ditto.
3985         * dom/Node.h: Made Node::parent private.
3986         * page/SpatialNavigation.cpp:
3987         (WebCore::canBeScrolledIntoView): Changed to use parentNode.
3988         * xml/XSLTProcessorQt.cpp:
3989         (WebCore::XSLTProcessor::transformToString): Ditto.
3990
3991 2010-11-29  Tony Chang  <tony@chromium.org>
3992
3993         Reviewed by James Robinson.
3994
3995         [chromium] try to enable WebCore compiler warnings on linux
3996         https://bugs.webkit.org/show_bug.cgi?id=50168
3997
3998         * WebCore.gyp/WebCore.gyp:
3999         * platform/graphics/chromium/FontLinux.cpp:
4000         (WebCore::TextRunWalker::setPadding):
4001         (WebCore::TextRunWalker::setGlyphXPositions):
4002         (WebCore::glyphIndexForXPositionInScriptRun):
4003
4004 2010-11-29  Alexey Proskuryakov  <ap@apple.com>
4005
4006         Reviewed by Darin Adler.
4007
4008         https://bugs.webkit.org/show_bug.cgi?id=50165
4009         CSS style rules don't GC protect parents
4010
4011         Tests: fast/dom/StyleSheet/gc-parent-rule.html
4012                fast/dom/StyleSheet/gc-parent-stylesheet.html
4013
4014         * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
4015         is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
4016         it should be OK.
4017
4018         * css/CSSRule.idl: Added CustomMarkFunction.
4019
4020 2010-11-29  Gavin Peters  <gavinp@chromium.org>
4021
4022         Reviewed by Adam Barth.
4023
4024         Web page can prevent WebKit from loading subresources on other
4025         pages (cache poisoning)
4026         https://bugs.webkit.org/show_bug.cgi?id=35404
4027
4028         Tests: http/tests/misc/unloadable-script.html
4029                loader/reload-subresource-when-type-changes.html
4030
4031         * loader/cache/MemoryCache.cpp:
4032         (WebCore::MemoryCache::requestResource):
4033
4034 2010-11-29  Simon Fraser  <simon.fraser@apple.com>
4035
4036         Reviewed by Dan Bernstein.
4037
4038         Crash in WebCore::CSSStyleSelector::loadPendingImages
4039         https://bugs.webkit.org/show_bug.cgi?id=50149
4040         
4041         Null-check style->boxReflect() when loading pending style images.
4042
4043         Test: fast/reflections/pending-reflection-mask-crash.html
4044
4045         * css/CSSStyleSelector.cpp:
4046         (WebCore::CSSStyleSelector::loadPendingImages):
4047
4048 2010-11-29  Pavel Feldman  <pfeldman@chromium.org>
4049
4050         Reviewed by Yury Semikhatsky.
4051
4052         Web Inspector: crash upon inspecting user style sheet.
4053         https://bugs.webkit.org/show_bug.cgi?id=50109
4054
4055         * inspector/InspectorStyleSheet.cpp:
4056         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
4057
4058 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
4059
4060         Reviewed by Adam Roben.
4061
4062         [WINCE] Implement WebCore::directoryName
4063         https://bugs.webkit.org/show_bug.cgi?id=50031
4064
4065         Also fix handling of paths without path separator.
4066
4067         * platform/wince/FileSystemWinCE.cpp:
4068         (WebCore::reverseFindPathSeparator):
4069         (WebCore::makeAllDirectories):
4070         (WebCore::pathGetFileName):
4071         (WebCore::directoryName):
4072
4073 2010-11-29  Patrick Gansterer  <paroga@webkit.org>
4074
4075         Reviewed by Adam Roben.
4076
4077         Simplify directoryName in FileSystemWin.cpp
4078         https://bugs.webkit.org/show_bug.cgi?id=50028
4079
4080         * platform/win/FileSystemWin.cpp:
4081         (WebCore::directoryName):
4082
4083 2010-11-24  Dimitri Glazkov  <dglazkov@chromium.org>
4084
4085         Reviewed by Darin Adler.
4086
4087         REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
4088         https://bugs.webkit.org/show_bug.cgi?id=49868
4089
4090         The problem here was that the inner text element of search input was first laid out as
4091         disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
4092         if it's enabled.
4093
4094         Test: fast/forms/disabled-search-input.html
4095
4096         * rendering/RenderBlock.cpp:
4097         (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
4098         * rendering/TextControlInnerElements.cpp:
4099         (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
4100             an empty inner text element is always one-line high.
4101
4102 2010-11-29  W. James MacLean  <wjmaclean@chromium.org>
4103
4104        Reviewed by Dirk Schulze.
4105
4106        Large input numbers cause overflow during SVG parsing, leading to crash
4107        https://bugs.webkit.org/show_bug.cgi?id=49546
4108
4109        Values outside the range supported by float lead to Infinity() or NaN()
4110        during parsing, leading to subsequent crashes. Modified
4111        parser to verify number is in the supported range, and return false if not.
4112
4113        Tests: svg/custom/svg-parse-overflow-1.html
4114               svg/custom/svg-parse-overflow-2.html
4115               svg/custom/svg-parse-overflow-3.html
4116               svg/custom/svg-parse-overflow-4.html
4117               svg/custom/svg-parse-overflow-5.html
4118
4119        * svg/SVGParserUtilities.cpp:
4120        (WebCore::isValidRange):
4121        (WebCore::genericParseNumber):
4122
4123 2010-11-29  Yury Semikhatsky  <yurys@chromium.org>
4124
4125         Reviewed by Pavel Feldman.
4126
4127         Web Inspector: display name of an object constructor as the object's type
4128         https://bugs.webkit.org/show_bug.cgi?id=50063
4129
4130         Name of the function that has created given object is used as the object's
4131         type when it's displayed in the inspector front-end(in case of V8). Before
4132         this change, it was always a value of the object's constructor.name property
4133         which is confusing in some cases(see the test).
4134
4135         Removed check for jsEngine from the InjectedScript.js, all VM-specific code
4136         is now encapsulated on the bindings layer.
4137
4138         Test: inspector/console-object-constructor-name.html
4139
4140         * bindings/js/JSInjectedScriptHostCustom.cpp:
4141         (WebCore::InjectedScriptHost::createInjectedScript):
4142         (WebCore::JSInjectedScriptHost::constructorName):
4143         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4144         (WebCore::InjectedScriptHost::createInjectedScript):
4145         (WebCore::V8InjectedScriptHost::constructorNameCallback):
4146         * inspector/InjectedScriptHost.idl:
4147         * inspector/front-end/InjectedScript.js:
4148         (injectedScriptConstructor.):
4149
4150 2010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
4151
4152         Reviewed by Eric Seidel.
4153
4154         https://bugs.webkit.org/show_bug.cgi?id=24346
4155
4156         Remove temporary workaround to load Gears plugin.
4157
4158         * html/HTMLObjectElement.cpp:
4159         (WebCore::HTMLObjectElement::rendererIsNeeded):
4160
4161 2010-11-29  Yael Aharon  <yael.aharon@nokia.com>
4162
4163         Reviewed by Antonio Gomes.
4164
4165         Spatial Navigation: Store more information in FocusCandidate
4166         https://bugs.webkit.org/show_bug.cgi?id=50153
4167
4168         More information should be stored in FocusCandidate, to avoid
4169         recalculating it when running the spatial navigation algorithm.
4170
4171         No new tests, since this is code refactoring only.
4172
4173         * page/FocusController.cpp:
4174         (WebCore::updateFocusCandidateIfNeeded):
4175         (WebCore::FocusController::findFocusCandidateInContainer):
4176         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
4177         * page/SpatialNavigation.cpp:
4178         (WebCore::FocusCandidate::FocusCandidate):
4179         (WebCore::canBeScrolledIntoView):
4180         * page/SpatialNavigation.h:
4181         (WebCore::FocusCandidate::FocusCandidate):
4182
4183 2010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
4184
4185         Reviewed by Darin Adler.
4186
4187         Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
4188         https://bugs.webkit.org/show_bug.cgi?id=49977
4189
4190         * editing/SelectionController.cpp:
4191         (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
4192         * page/EventHandler.cpp:
4193         (WebCore::EventHandler::disp