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