42fe7c3e4ed6f044080f9caf744353e1a668d0c0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
2
3         Reviewed by Antti Koivisto.
4
5         Add <head> to the simpleUserAgentStyleSheet
6         https://bugs.webkit.org/show_bug.cgi?id=57915
7
8         * css/CSSStyleSelector.cpp:
9         (WebCore::elementCanUseSimpleDefaultStyle): add head to the
10         simple stylesheet, display:none.
11
12 2011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
13
14         Reviewed by Pavel Feldman.
15
16         Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
17         https://bugs.webkit.org/show_bug.cgi?id=57856
18
19         Test: inspector/profiler/detailed-heapshots-summary.html
20
21         * inspector/front-end/DataGrid.js:
22         (WebInspector.DataGrid):
23         * inspector/front-end/DetailedHeapshotGridNodes.js:
24         (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
25         (WebInspector.HeapSnapshotGridNode.prototype._populate):
26         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
27         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
28         (WebInspector.HeapSnapshotGridNode.prototype.sort):
29         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
30         * inspector/front-end/DetailedHeapshotView.js:
31         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
32         * inspector/front-end/ProfilesPanel.js:
33         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
34         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
35
36 2011-04-06  Anders Bakken  <agbakken@gmail.com>
37
38         Reviewed by David Levin.
39
40         [Qt] SmartReplaceQt.cpp has coding-style errors
41         https://bugs.webkit.org/show_bug.cgi?id=40261
42
43         This patch does not require new test cases.
44
45         * editing/qt/SmartReplaceQt.cpp:
46         (WebCore::isCharacterSmartReplaceExempt):
47
48 2011-04-06  Naoki Takano  <takano.naoki@gmail.com>
49
50         Reviewed by Ryosuke Niwa.
51
52         REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
53         https://bugs.webkit.org/show_bug.cgi?id=57755
54
55         Test: editing/execCommand/insert-line-break-onload.html
56
57         * editing/TypingCommand.cpp:
58         (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
59
60 2011-04-05  Antti Koivisto  <antti@apple.com>
61
62         Reviewed by Cameron Zwarich.
63
64         Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
65         https://bugs.webkit.org/show_bug.cgi?id=57914
66
67         Don't call adjustedDeferredRepaintDelay unnecessarily.
68
69         * page/FrameView.cpp:
70         (WebCore::FrameView::repaintContentRectangle):
71         (WebCore::FrameView::adjustedDeferredRepaintDelay):
72
73 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
74
75         Reviewed by David Levin.
76
77         Update call to SkAdvancedTypefaceMetrics to new API.
78         https://bugs.webkit.org/show_bug.cgi?id=57887
79
80         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
81         (WebCore::FontPlatformData::emSizeInFontUnits):
82
83 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
84
85         Reviewed by Darin Adler.
86
87         Rename event dispatching functions after form event removal
88         https://bugs.webkit.org/show_bug.cgi?id=57908
89
90         * dom/InputElement.cpp:
91         (WebCore::InputElement::setValueFromRenderer):
92         * dom/Node.cpp:
93         (WebCore::Node::dispatchChangeEvent):
94         (WebCore::Node::dispatchInputEvent):
95         (WebCore::Node::defaultEventHandler):
96         * dom/Node.h:
97         * html/HTMLFormControlElement.cpp:
98         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
99         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
100         (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
101         Renamed "events" to "event", since there is only one event to dispatch now.
102
103 2011-04-05  Anders Bakken  <agbakken@gmail.com>
104
105         Reviewed by David Levin.
106
107         [Qt] DragControllerQt.cpp has coding-style errors
108         https://bugs.webkit.org/show_bug.cgi?id=40258
109
110         This patch does not require new test cases.
111
112         * page/qt/DragControllerQt.cpp:
113         (WebCore::DragController::dragOperation):
114
115 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
116
117         Reviewed by David Levin.
118
119         Update deprecated include: platform_canvas_win.h to platform_canvas.h.
120         https://bugs.webkit.org/show_bug.cgi?id=57896
121
122         * platform/graphics/chromium/FontChromiumWin.cpp:
123
124 2011-04-05  Darin Adler  <darin@apple.com>
125
126         Try to fix Leopard bots.
127
128         * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems
129         to have intended it.
130
131 2011-04-05  Darin Adler  <darin@apple.com>
132
133         Try to fix Leopard bots.
134
135         * platform/mac/HTMLConverter.mm: Move declarations of new functions
136         inside the appropriate #if.
137
138 2011-04-05  Adrienne Walker  <enne@google.com>
139
140         Reviewed by Tony Chang.
141
142         Correctly set color when using skia's fillRoundedRect.
143         https://bugs.webkit.org/show_bug.cgi?id=57907
144
145         * platform/graphics/skia/GraphicsContextSkia.cpp:
146         (WebCore::GraphicsContext::fillRoundedRect):
147
148 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
149
150         Reviewed by Darin Adler.
151
152         Move attributedStringFromRange down to WebCore
153         https://bugs.webkit.org/show_bug.cgi?id=57905
154
155         No change in behavior, so no new tests.
156
157         Also tweaked HTMLConverter to not use methods defined in WebKit.
158
159         * WebCore.exp.in:
160         * WebCore.xcodeproj/project.pbxproj:
161         * platform/mac/HTMLConverter.h:
162         * platform/mac/HTMLConverter.mm:
163         (-[WebHTMLConverter _newTabForElement:]):
164         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
165         (+[WebHTMLConverter editingAttributedStringFromRange:]):
166         (fileWrapperForURL):
167         (fileWrapperForElement):
168         * platform/mac/PasteboardMac.mm:
169         (WebCore::Pasteboard::writeSelection):
170         * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h.
171         * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm.
172         (WebCore::attributedStringByStrippingAttachmentCharacters):
173
174 2011-04-05  Simon Fraser  <simon.fraser@apple.com>
175
176         Reviewed by Darin Adler.
177
178         Rename variables in border drawing code for readability
179         https://bugs.webkit.org/show_bug.cgi?id=57894
180
181         * rendering/RenderObject.cpp:
182         (WebCore::RenderObject::drawLineForBoxSide):
183         (WebCore::RenderObject::drawBoxSideFromPath):
184         (WebCore::RenderObject::drawArcForBoxSide):
185
186 2011-04-05  Antti Koivisto  <antti@apple.com>
187
188         Reviewed by Darin Adler.
189
190         Defer repaints during style recalc
191         https://bugs.webkit.org/show_bug.cgi?id=57886
192
193         This reduces the need to do (often expensive) platform surface invalidation.
194         We already do this during layout but style recalculation may trigger
195         invalidation as well.
196     
197         * dom/Document.cpp:
198         (WebCore::Document::recalcStyle):
199
200 2011-04-05  Jer Noble  <jer.noble@apple.com>
201
202         Reviewed by Darin Adler.
203
204         HTML5 Player Has no Fullscreen Mode
205         https://bugs.webkit.org/show_bug.cgi?id=57795
206
207         * html/HTMLVideoElement.cpp:
208         (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API
209             supportsFullScreenForElement() before the old supportsFullScreenForNode() API.
210
211 2011-04-05  Vsevolod Vlasov  <vsevik@chromium.org>
212
213         Reviewed by Pavel Feldman.
214
215         Web Inspector: fix data url's status and timing the network panel.
216         https://bugs.webkit.org/show_bug.cgi?id=53066
217
218         Added data url support for status of network resources.
219
220         * English.lproj/localizedStrings.js:
221         * inspector/front-end/NetworkPanel.js:
222         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
223         * inspector/front-end/Resource.js:
224         (WebInspector.Resource.prototype.isDataURL):
225
226 2011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
227
228         Reviewed by Adam Barth.
229
230         [V8] Keep dirty primitive CSS values alive.
231         https://bugs.webkit.org/show_bug.cgi?id=57810
232
233         * bindings/v8/V8GCController.cpp:
234         (WebCore::GrouperVisitor::visitDOMWrapper):
235
236 2011-04-05  Simon Fraser  <simon.fraser@apple.com>
237
238         Reviewed by Adele Peterson.
239
240         Add a fast path for simple color backgrounds
241         https://bugs.webkit.org/show_bug.cgi?id=57773
242
243         Add a fast path for drawing simple color backgrounds. It's
244         faster to fill a path or rect than it is to set up a clip,
245         and then paint the rect.
246         
247         No visible behavior change so no new tests.
248
249         * rendering/RenderBoxModelObject.cpp:
250         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
251
252 2011-04-05  Patrick Gansterer  <paroga@webkit.org>
253
254         Unreviewed EFL build fix for r82962.
255
256         * CMakeListsEfl.txt:
257
258 2011-04-05  Chris Rogers  <crogers@google.com>
259
260         Reviewed by Kenneth Russell.
261
262         Add support for offline audio rendering to AudioContext API
263         https://bugs.webkit.org/show_bug.cgi?id=57676
264
265         No new tests since audio API is not yet implemented.
266
267         * DerivedSources.make:
268         * WebCore.gypi:
269         * WebCore.xcodeproj/project.pbxproj:
270         * bindings/js/JSAudioContextCustom.cpp:
271         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
272         * bindings/js/JSEventCustom.cpp:
273         (WebCore::toJS):
274         * bindings/js/JSEventTarget.cpp:
275         (WebCore::toJS):
276         * bindings/v8/V8DOMWrapper.cpp:
277         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
278         * bindings/v8/custom/V8AudioContextCustom.cpp:
279         (WebCore::V8AudioContext::constructorCallback):
280         * bindings/v8/custom/V8EventCustom.cpp:
281         (WebCore::toV8):
282         * dom/Event.cpp:
283         (WebCore::Event::isOfflineAudioCompletionEvent):
284         * dom/Event.h:
285         * dom/EventTarget.cpp:
286         (WebCore::EventTarget::toAudioContext):
287         * dom/EventTarget.h:
288         * platform/audio/HRTFDatabaseLoader.cpp:
289         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
290         * platform/audio/HRTFDatabaseLoader.h:
291         (WebCore::HRTFDatabaseLoader::loader):
292         * webaudio/AudioContext.cpp:
293         (WebCore::AudioContext::createOfflineContext):
294         (WebCore::AudioContext::AudioContext):
295         (WebCore::AudioContext::constructCommon):
296         (WebCore::AudioContext::document):
297         (WebCore::AudioContext::scriptExecutionContext):
298         (WebCore::AudioContext::toAudioContext):
299         (WebCore::AudioContext::startRendering):
300         (WebCore::AudioContext::fireCompletionEvent):
301         * webaudio/AudioContext.h:
302         (WebCore::AudioContext::isOfflineContext):
303         (WebCore::AudioContext::eventTargetData):
304         (WebCore::AudioContext::ensureEventTargetData):
305         (WebCore::AudioContext::refEventTarget):
306         (WebCore::AudioContext::derefEventTarget):
307         * webaudio/AudioContext.idl:
308         * webaudio/AudioDestinationNode.cpp:
309         (WebCore::AudioDestinationNode::AudioDestinationNode):
310         * webaudio/AudioDestinationNode.h:
311         (WebCore::AudioDestinationNode::reset):
312         (WebCore::AudioDestinationNode::numberOfChannels):
313         * webaudio/ConvolverNode.cpp:
314         (WebCore::ConvolverNode::setBuffer):
315         * webaudio/DefaultAudioDestinationNode.cpp: Added.
316         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
317         (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
318         (WebCore::DefaultAudioDestinationNode::initialize):
319         (WebCore::DefaultAudioDestinationNode::uninitialize):
320         (WebCore::DefaultAudioDestinationNode::startRendering):
321         * webaudio/DefaultAudioDestinationNode.h: Added.
322         (WebCore::DefaultAudioDestinationNode::create):
323         (WebCore::DefaultAudioDestinationNode::sampleRate):
324         * webaudio/OfflineAudioCompletionEvent.cpp: Added.
325         (WebCore::OfflineAudioCompletionEvent::create):
326         (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
327         (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent):
328         (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent):
329         * webaudio/OfflineAudioCompletionEvent.h: Added.
330         (WebCore::OfflineAudioCompletionEvent::renderedBuffer):
331         * webaudio/OfflineAudioCompletionEvent.idl: Added.
332         * webaudio/OfflineAudioDestinationNode.cpp: Added.
333         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
334         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
335         (WebCore::OfflineAudioDestinationNode::initialize):
336         (WebCore::OfflineAudioDestinationNode::uninitialize):
337         (WebCore::OfflineAudioDestinationNode::startRendering):
338         (WebCore::OfflineAudioDestinationNode::renderEntry):
339         (WebCore::OfflineAudioDestinationNode::render):
340         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
341         (WebCore::OfflineAudioDestinationNode::notifyComplete):
342         * webaudio/OfflineAudioDestinationNode.h: Added.
343         (WebCore::OfflineAudioDestinationNode::create):
344         (WebCore::OfflineAudioDestinationNode::sampleRate):
345
346 2011-04-05  Martin Robinson  <mrobinson@igalia.com>
347
348         Reviewed by Eric Seidel.
349
350         [Cairo] Better separate the concerns of GraphicsContextCairo
351         https://bugs.webkit.org/show_bug.cgi?id=55150
352
353         Add a PlatformContextCairo which right now stores the cairo_t* for a
354         GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
355         and image masking layers into this PlatformContextCairo class.
356
357         No new tests. This patch is only a code cleanup.
358
359         * GNUmakefile.am:
360         * platform/graphics/GraphicsContext.h: The platform context is no longer a
361         cairo_t, but our new class the PlatformContextCairo.
362         * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
363         * platform/graphics/cairo/FontCairo.cpp: Ditto.
364         * platform/graphics/cairo/GradientCairo.cpp: Ditto.
365         * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
366         changes which now reference platformContext()->cr() to get the cairo_t.
367         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
368         PlatformContextCairo instead of the cairo_t.
369         * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
370         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
371         * platform/graphics/cairo/PathCairo.cpp: Ditto.
372         * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
373         * platform/graphics/cairo/PlatformContextCairo.h: Added.
374         * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
375         * platform/graphics/gtk/IconGtk.cpp: Ditto.
376         * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
377         m_data with a private section containing the platform context instead of
378         just a cairo_t.
379         * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
380         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
381         (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
382         * plugins/gtk/PluginViewGtk.cpp: Ditto.
383
384 2011-04-05  David Dorwin  <ddorwin@chromium.org>
385
386         Reviewed by David Levin.
387
388         Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
389         https://bugs.webkit.org/show_bug.cgi?id=57400
390
391         Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid. 
392         Accelerated compositing may be compiled in but disabled at runtime or for some elements.
393
394         Tests: Fullscreen layout tests on Chromium.
395
396         * dom/Document.cpp:
397         (WebCore::Document::webkitWillEnterFullScreenForElement):
398         (WebCore::Document::webkitDidEnterFullScreenForElement):
399         (WebCore::Document::webkitWillExitFullScreenForElement):
400
401 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
402
403         Reviewed by Dirk Schulze.
404
405         Regression: Invalid write in SVGTextLayoutEngine
406         https://bugs.webkit.org/show_bug.cgi?id=57721
407
408         Properly stop layout if all metrics object refer to zero-width/height characters,
409         which can happen for instance when using <text font-size="0">.
410
411         Test: svg/text/font-size-null-assertion.svg
412
413         * rendering/svg/SVGTextLayoutEngine.cpp:
414         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
415         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
416
417 2011-04-04 MORITA Hajime  <morrita@google.com>
418
419         Reviewed by Ryosuke Niwa.
420
421         [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
422         https://bugs.webkit.org/show_bug.cgi?id=56085
423         
424         Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult.
425         This change also added TextCheckerClient::requestCheckingOfString() should have
426         TextCheckingTypeMask as a parameter to control text checking type.
427
428         * WebCore.exp.in:
429         * editing/Editor.cpp:
430         (WebCore::Editor::replaceSelectionWithFragment):
431         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
432         (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges()
433         * editing/SpellChecker.cpp:
434         (WebCore::SpellChecker::requestCheckingFor): Added a parameter.
435         (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object.
436         (WebCore::SpellChecker::didCheck):
437         * editing/SpellChecker.h:
438         * loader/EmptyClients.h:
439         (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
440         (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
441         * platform/text/TextCheckerClient.h:
442
443 2011-04-04  Antti Koivisto  <antti@apple.com>
444
445         Reviewed by Sam Weinig.
446
447         Print stylesheet on nytimes.com loads too early
448         https://bugs.webkit.org/show_bug.cgi?id=57814
449
450         Don't load resources with Very Low priority until there are no other resources to 
451         load for the host (or until document is complete enough that we stop limiting requests).
452
453         No tests, this is  difficult to observe reliably with our current testing infrastructure.
454         Verified working with Wireshark.
455
456         * loader/ResourceLoadScheduler.cpp:
457         (WebCore::ResourceLoadScheduler::servePendingRequests):
458         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
459         * loader/ResourceLoadScheduler.h:
460
461 2011-04-04  Steve Block  <steveblock@google.com>
462
463         Reviewed by Dimitri Glazkov.
464
465         JavaInstance should be a pure interface
466         https://bugs.webkit.org/show_bug.cgi?id=55383
467
468         This patch fixes JavaInstance for V8 only.
469
470         It factors out a JavaInstance interface which does not use JNI
471         types. This will allow the Java bridge to be used with objects
472         that don't use JNI directly. The existing jobject-backed
473         implementation is moved to a new JavaInstanceJobject class which
474         implements the interface.
475
476         No new tests, refactoring only.
477
478         * Android.v8bindings.mk:
479         * WebCore.gypi:
480         * bridge/jni/JobjectWrapper.h:
481         * bridge/jni/v8/JNIUtilityPrivate.cpp:
482         (JSC::Bindings::jvalueToJavaValue):
483         (JSC::Bindings::javaValueToJvalue):
484         * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
485         (JavaInstanceJobject::JavaInstanceJobject):
486         (JavaInstanceJobject::~JavaInstanceJobject):
487         (JavaInstanceJobject::begin):
488         (JavaInstanceJobject::end):
489         (JavaInstanceJobject::getClass):
490         (JavaInstanceJobject::invokeMethod):
491         (JavaInstanceJobject::getField):
492         * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h.
493         (JSC::Bindings::JavaInstanceJobject::javaInstance):
494         * bridge/jni/v8/JavaInstanceV8.h:
495         (JSC::Bindings::JavaInstance::~JavaInstance):
496
497 2011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
498
499        Reviewed by Darin Adler.
500
501         Move MouseEvent-dispatching logic into MouseEventDispatchMediator.
502         https://bugs.webkit.org/show_bug.cgi?id=57639
503
504         Refactoring, covered by existing tests.
505
506         * dom/EventDispatcher.cpp:
507         (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here
508             from dispatchMouseEvent.
509         (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method.
510         * dom/EventDispatcher.h: Adjusted decls.
511         (WebCore::EventDispatcher::node): Added.
512         * dom/MouseEvent.cpp:
513         (WebCore::MouseEvent::create): Moved useful assertion here from
514             dispatchMouseEvent.
515         (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added.
516         (WebCore::MouseEventDispatchMediator::event): Added.
517         (WebCore::MouseEventDispatchMediator::dispatchEvent): Added.
518         * dom/MouseEvent.h:
519         (WebCore::MouseEvent::setRelatedTarget): Added.
520         * dom/Node.cpp:
521         (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator.
522
523 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
524
525         Reviewed by Adam Roben & Dirk Schulze.
526
527         text-tspan-02-b.svg from SVG 1.1 2nd edition fails
528         https://bugs.webkit.org/show_bug.cgi?id=57831
529
530         We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering.
531         While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and
532         should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler
533         to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the
534         required memory.
535
536         Example:
537         <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text>
538     
539         text:   A  B  C  D  E  F  G  H
540         rotate="10 20 30 30 30 50 50 50"
541
542         Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg
543                svg/text/text-midpoint-split-bug.svg
544
545         * rendering/RenderBlockLineLayout.cpp:     Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an
546         (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase.
547         * rendering/svg/SVGTextLayoutAttributes.cpp:
548         (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization).
549         (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder.
550         (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto.
551         (WebCore::safeValueAtPosition): Ditto. (Inline helper)
552         (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto.
553         * rendering/svg/SVGTextLayoutAttributes.h: Ditto.
554         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above.
555         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
556         (WebCore::processRenderSVGInlineText):
557         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
558         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters):
559         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
560         (WebCore::fillListAtPosition):
561         (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition):
562         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
563         (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition):
564
565 2011-04-05  Levi Weintraub  <leviw@chromium.org>
566
567         Reviewed by Ryosuke Niwa.
568
569         DeleteButtonController is given invalid style
570         https://bugs.webkit.org/show_bug.cgi?id=57853
571
572         DeleteButtonController was assigned an invalid style that can lead to assertions
573         in debug builds. This matches up the code with its intent.
574
575         No new tests as this changes nothing on release builds.
576
577         * editing/DeleteButtonController.cpp:
578         (WebCore::DeleteButtonController::createDeletionUI):
579
580 2011-04-05  Anders Bakken  <agbakken@gmail.com>
581
582         Reviewed by Laszlo Gombos.
583
584         [Qt] EditorQt.cpp has coding-style errors
585         https://bugs.webkit.org/show_bug.cgi?id=40260
586         
587         This patch does not require new test cases.
588
589         * editing/qt/EditorQt.cpp:
590
591 2011-04-05  Pavel Podivilov  <podivilov@chromium.org>
592
593         Reviewed by Pavel Feldman.
594
595         Web Inspector: go to line dialog highlights wrong line.
596         https://bugs.webkit.org/show_bug.cgi?id=57845
597
598         * inspector/front-end/GoToLineDialog.js:
599         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
600
601 2011-04-05  Luke Macpherson   <macpherson@chromium.org>
602
603         Reviewed by Dimitri Glazkov.
604
605         Implement CSSPropertyDirection in CSSStyleApplyProperty
606         https://bugs.webkit.org/show_bug.cgi?id=57608
607
608         No new tests required as no new functionality introduced.
609
610         * css/CSSStyleApplyProperty.cpp:
611         Add implementation class for CSSPropertyDirection
612         * css/CSSStyleSelector.cpp:
613         Remove existing implementation for CSSPropertyDirection
614         * css/CSSStyleSelector.h:
615         Add getter for element
616
617 2011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
618
619         Reviewed by Steve Block.
620
621         Factoring the creation of 'FunctionOnly' callbacks in V8.
622         https://bugs.webkit.org/show_bug.cgi?id=57760
623
624         This method creates a template from an existing functionality in V8GeolocationCustom.cpp
625         to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
626
627         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
628
629         * bindings/v8/V8Utilities.cpp:
630         (WebCore::throwTypeMismatchException):
631         * bindings/v8/V8Utilities.h:
632         (WebCore::createFunctionOnlyCallback):
633         * bindings/v8/custom/V8GeolocationCustom.cpp:
634         (WebCore::V8Geolocation::getCurrentPositionCallback):
635         (WebCore::V8Geolocation::watchPositionCallback):
636
637 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
638
639         Reviewed by Andreas Kling.
640
641         Switch from Vector<UChar> to StringBuilder in bindings/
642         https://bugs.webkit.org/show_bug.cgi?id=57838
643
644         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
645         (WebCore::cssPropertyName):
646         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
647         (WebCore::cssPropertyInfo):
648
649 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
650
651         Reviewed by Andreas Kling.
652
653         Switch from Vector<UChar> to StringBuilder in accessibility/
654         https://bugs.webkit.org/show_bug.cgi?id=57837
655
656         * accessibility/AccessibilityObject.cpp:
657         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
658         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
659         * accessibility/AccessibilityRenderObject.cpp:
660         (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
661
662 2011-04-05  Andrey Adaikin  <aandrey@google.com>
663
664         Reviewed by Pavel Feldman.
665
666         Web Inspector: Scripts with syntax errors are cropped in the UI
667         https://bugs.webkit.org/show_bug.cgi?id=57828
668
669         * inspector/front-end/SourceFrame.js:
670         (WebInspector.SourceFrame.prototype.addMessageToSource):
671
672 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
673
674         Reviewed by Darin Adler.
675
676         Remove onformchange and onforminput events/event handlers
677         https://bugs.webkit.org/show_bug.cgi?id=55755
678         <rdar://problem/9087969>
679
680         Covered by existing tests.
681
682         * dom/Document.h:
683         * dom/Document.idl:
684         * dom/Element.h:
685         * dom/Element.idl:
686         * dom/Event.cpp:
687         (WebCore::Event::fromUserGesture):
688         * dom/EventNames.h:
689         * html/FormAssociatedElement.h:
690         * html/HTMLAttributeNames.in:
691         * html/HTMLElement.cpp:
692         (WebCore::HTMLElement::parseMappedAttribute):
693         * html/HTMLElement.h:
694         * html/HTMLFormControlElement.h:
695         (WebCore::HTMLFormControlElement::isEnumeratable):
696         * html/HTMLFormElement.cpp:
697         * html/HTMLFormElement.h:
698         * html/HTMLFormElement.idl:
699         * html/HTMLInputElement.h:
700         * html/HTMLKeygenElement.h:
701         * html/HTMLObjectElement.h:
702         (WebCore::HTMLObjectElement::isEnumeratable):
703         * html/HTMLOutputElement.h:
704         (WebCore::HTMLOutputElement::isEnumeratable):
705         * html/HTMLSelectElement.h:
706         (WebCore::HTMLSelectElement::isEnumeratable):
707         * html/HTMLTextAreaElement.h:
708         (WebCore::HTMLTextAreaElement::isEnumeratable):
709         * page/DOMWindow.h:
710         * page/DOMWindow.idl:
711
712 2011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
713
714         Unreviewed, rolling out r82915.
715         http://trac.webkit.org/changeset/82915
716         https://bugs.webkit.org/show_bug.cgi?id=57825
717
718         Broke 270 chromium tests on win and linux (Requested by
719         podivilov on #webkit).
720
721         * rendering/RenderThemeChromiumSkia.cpp:
722         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
723
724 2011-04-05  James Simonsen  <simonjam@chromium.org>
725
726         Reviewed by Adam Barth.
727
728         Stop preload scanning CSS when it&apos;s impossible to have another @import.
729         https://bugs.webkit.org/show_bug.cgi?id=57664
730
731         @import statements are only allowed at the beginning of a CSS file.
732         Only comments or @charset can precede them. After seeing anything else,
733         abort early so that we:
734         - don't have to parse the rest of the CSS.
735         - don't preload something that the regular parser won't load.
736
737         * html/parser/CSSPreloadScanner.cpp:
738         (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
739         (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
740         (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
741         * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
742
743 2011-04-05  Takayoshi Kochi <kochi@chromium.org>
744
745         Reviewed by Tony Chang.
746
747         [chromium] Specify 'sans-serif' as a fallback to the default UI font
748         'Arial' for non-latin UI scripts (e.g. CJK).
749         https://bugs.webkit.org/show_bug.cgi?id=55035
750
751         No new tests, because it may still fail if the system is not configured
752         properly to resolve 'sans-serif' to existing real font file, thus even
753         manual test is hard to systematically tell it is working properly.
754
755         * rendering/RenderThemeChromiumSkia.cpp
756
757 2011-04-05  Kent Tamura  <tkent@chromium.org>
758
759         Reviewed by Dimitri Glazkov.
760
761         Setting defaultValue on a textarea with a modified value still clobbers the value
762         https://bugs.webkit.org/show_bug.cgi?id=57636
763
764         If the dirty flag is true, we shouldn't update the value when the
765         defaultValue is updated
766
767         Test: fast/forms/textarea-set-defaultvalue-after-value.html
768
769         * html/HTMLTextAreaElement.cpp:
770         (WebCore::HTMLTextAreaElement::childrenChanged):
771         (WebCore::HTMLTextAreaElement::setDefaultValue):
772
773 2011-04-04  Kent Tamura  <tkent@chromium.org>
774
775         Add a case label which was unexpectedly removed in r82899.
776         https://bugs.webkit.org/show_bug.cgi?id=50661
777
778         * css/CSSSelector.cpp:
779         (WebCore::CSSSelector::extractPseudoType):
780
781 2011-04-04  Dan Bernstein  <mitz@apple.com>
782
783         Reviewed by Simon Fraser.
784
785         <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
786         https://bugs.webkit.org/show_bug.cgi?id=49334
787
788         Tests: fast/ruby/overhang-horizontal.html
789                fast/ruby/overhang-vertical.html
790
791         This is a first cut at ruby overhang. It allows ruby text to hang over other
792         text of equal or smaller size. Two notable omissions are that max preferred
793         width computation was not patched, so it will overshoot, and that overhang
794         ignores the width of the adjoining text runs.
795
796         * rendering/RenderBlock.h:
797         * rendering/RenderBlockLineLayout.cpp:
798         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
799         of ruby runs for overhang.
800         (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
801         compensate for overhang.
802         (WebCore::RenderBlock::findNextLineBreak): When encountering
803         a ruby run, increase the line width to account for the fact that overhang will be
804         collapsed.
805         * rendering/RenderRubyRun.cpp:
806         (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
807         the adjoining renderer is text with equal or smaller font size.
808         * rendering/RenderRubyRun.h:
809         (WebCore::toRenderRubyRun):
810
811 2011-04-04  David Kilzer  <ddkilzer@apple.com>
812
813         <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
814
815         Reviewed by Alexey Proskuryakov.
816
817         * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
818         * platform/mac/WebCoreSystemInterface.h:
819         (wkSetHTTPPipeliningMaximumPriority): Added function pointer
820         declaration.
821         * platform/mac/WebCoreSystemInterface.mm:
822         (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
823         * platform/network/cf/ResourceRequestCFNet.cpp:
824         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
825         wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
826         pipelining priority.
827         * platform/network/cf/ResourceRequestCFNet.h:
828         (WebCore::toResourceLoadPriority): Renamed from
829         mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
830         to handle Unresolved case.
831         (WebCore::toHTTPPipeliningPriority): Renamed from
832         mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
833         handle Unresolved case.
834         * platform/network/mac/ResourceRequestMac.mm:
835         (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
836         use toResourceLoadPriority().
837         (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
838         use toHTTPPipeliningPriority().  Moved
839         shouldForceHTTPPipeliningPriorityHigh() check into the argument
840         of toHTTPPipeliningPriority() instead of hard-coding a
841         now-incorrect value.
842
843 2011-04-04  MORITA Hajime  <morrita@google.com>
844
845         Reviewed by Kent Tamura.
846
847         Convert <meter> shadow DOM to a DOM-based shadow.
848         https://bugs.webkit.org/show_bug.cgi?id=50661
849         
850         Eliminated a large part of <meter> custom layout code,
851         which is replaced by a shadow tree.
852         Note that the shadow tree is created on construction time and
853         will remain during the host HTMLMeterElement lifecycle.
854         
855         * Android.mk:
856         * CMakeLists.txt:
857         * GNUmakefile.am:
858         * WebCore.gypi:
859         * WebCore.pro:
860         * WebCore.vcproj/WebCore.vcproj:
861         * WebCore.xcodeproj/project.pbxproj:
862         * css/CSSMutableStyleDeclaration.cpp:
863         (WebCore::CSSMutableStyleDeclaration::setProperty):
864         * css/CSSMutableStyleDeclaration.h:
865         * css/CSSSelector.cpp:
866         (WebCore::CSSSelector::pseudoId):
867         (WebCore::nameToPseudoTypeMap):
868         (WebCore::CSSSelector::extractPseudoType):
869         * css/CSSSelector.h:
870         * css/html.css:
871         (meter):
872         (meter::-webkit-meter-bar):
873         (meter::-webkit-meter-optimum-value):
874         (meter::-webkit-meter-suboptimum-value):
875         (meter::-webkit-meter-even-less-good-value):
876         * html/HTMLMeterElement.cpp:
877         (WebCore::HTMLMeterElement::~HTMLMeterElement):
878         (WebCore::HTMLMeterElement::parseMappedAttribute):
879         (WebCore::HTMLMeterElement::attach):
880         (WebCore::HTMLMeterElement::valueRatio):
881         (WebCore::HTMLMeterElement::didElementStateChange):
882         (WebCore::HTMLMeterElement::createShadowSubtree):
883         * html/HTMLMeterElement.h:
884         * html/shadow/MeterShadowElement.cpp: Added.
885         (WebCore::MeterShadowElement::MeterShadowElement):        
886         (WebCore::MeterShadowElement::meterElement):
887         (WebCore::MeterShadowElement::rendererIsNeeded):
888         (WebCore::MeterBarElement::shadowPseudoId):
889         (WebCore::MeterValueElement::shadowPseudoId):
890         (WebCore::MeterValueElement::setWidthPercentage):
891         * html/shadow/MeterShadowElement.h: Added.
892         (WebCore::MeterBarElement::MeterBarElement):
893         (WebCore::MeterBarElement::create):
894         (WebCore::MeterValueElement::MeterValueElement):
895         (WebCore::MeterValueElement::create):
896         * rendering/RenderMeter.cpp:
897         (WebCore::RenderMeter::RenderMeter):
898         (WebCore::RenderMeter::~RenderMeter):
899         (WebCore::RenderMeter::valueRatio):
900         * rendering/RenderMeter.h:
901         (WebCore::RenderMeter::renderName):
902         (WebCore::RenderMeter::isMeter):
903         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
904         (WebCore::RenderMeter::canHaveChildren):
905
906 2011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
907
908         Reviewed by Adam Barth.
909
910         Introduce EventDispatchMediator abstraction, which encapsulate all
911         non-trivial logic around firing a specific type of an event.
912         https://bugs.webkit.org/show_bug.cgi?id=57562
913
914         Refactoring, covered by existing tests.
915
916         * dom/Event.cpp:
917         (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
918         (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
919         (WebCore::EventDispatchMediator::dispatchEvent): Added.
920         (WebCore::EventDispatchMediator::event): Added.
921         * dom/Event.h: Added decl.
922         * dom/EventDispatcher.cpp:
923         (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
924         * dom/EventDispatcher.h: Updated decls.
925         * dom/KeyboardEvent.cpp:
926         (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
927         (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
928         * dom/KeyboardEvent.h: Updated decls
929         * dom/Node.cpp:
930         (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
931         (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
932
933 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
934
935         Reviewed by Xan Lopez.
936
937         [Cairo] Memory leak in RefPtrCairo
938         https://bugs.webkit.org/show_bug.cgi?id=57758
939
940         No new tests. This just fixes a memory leak.
941
942         * platform/graphics/cairo/RefPtrCairo.cpp:
943         (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
944
945 2011-04-04  Adrienne Walker  <enne@google.com>
946
947         Unreviewed, rolling out r82880.
948         http://trac.webkit.org/changeset/82880
949         https://bugs.webkit.org/show_bug.cgi?id=50661
950
951         Meter elements not rendered in Chromium Linux layout tests
952
953         * Android.mk:
954         * CMakeLists.txt:
955         * GNUmakefile.am:
956         * WebCore.gypi:
957         * WebCore.pro:
958         * WebCore.vcproj/WebCore.vcproj:
959         * WebCore.xcodeproj/project.pbxproj:
960         * css/CSSMutableStyleDeclaration.cpp:
961         * css/CSSMutableStyleDeclaration.h:
962         * css/CSSSelector.cpp:
963         (WebCore::CSSSelector::pseudoId):
964         (WebCore::nameToPseudoTypeMap):
965         (WebCore::CSSSelector::extractPseudoType):
966         * css/CSSSelector.h:
967         * css/html.css:
968         (meter):
969         (meter::-webkit-meter):
970         (meter::-webkit-meter-bar):
971         (meter::-webkit-meter-optimum-value):
972         (meter::-webkit-meter-suboptimal-value):
973         (meter::-webkit-meter-even-less-good-value):
974         * html/HTMLMeterElement.cpp:
975         (WebCore::HTMLMeterElement::create):
976         (WebCore::HTMLMeterElement::parseMappedAttribute):
977         (WebCore::HTMLMeterElement::attach):
978         * html/HTMLMeterElement.h:
979         * html/shadow/MeterShadowElement.cpp: Removed.
980         * html/shadow/MeterShadowElement.h: Removed.
981         * rendering/RenderMeter.cpp:
982         (WebCore::RenderMeter::RenderMeter):
983         (WebCore::RenderMeter::~RenderMeter):
984         (WebCore::RenderMeter::createPart):
985         (WebCore::RenderMeter::updateFromElement):
986         (WebCore::RenderMeter::layoutParts):
987         (WebCore::RenderMeter::styleDidChange):
988         (WebCore::RenderMeter::shouldHaveParts):
989         (WebCore::RenderMeter::valueRatio):
990         (WebCore::RenderMeter::barPartRect):
991         (WebCore::RenderMeter::valuePartRect):
992         (WebCore::RenderMeter::valuePseudoId):
993         (WebCore::RenderMeter::barPseudoId):
994         (WebCore::RenderMeter::detachShadows):
995         (WebCore::RenderMeter::updateShadows):
996         * rendering/RenderMeter.h:
997         (WebCore::RenderMeter::renderName):
998         (WebCore::RenderMeter::isMeter):
999         (WebCore::RenderMeter::shadowAttached):
1000
1001 2011-04-04  Chang Shu  <cshu@webkit.org>
1002
1003         Reviewed by Ryosuke Niwa.
1004
1005         setContentEditable with true/false/inherit string is not working properly
1006         https://bugs.webkit.org/show_bug.cgi?id=52058
1007
1008         Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
1009         checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
1010         which does NOT trigger layout and only checks the render style of usermodify. The latter
1011         updates the layout first to make sure the render style syncs with DOM contenteditable 
1012         attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
1013         are also updated in the patch. But a complete fix will follow up in bug 57244.
1014
1015         This patch fixes all the failed layout tests related to set contenteditable.
1016
1017         * accessibility/AccessibilityRenderObject.cpp:
1018         (WebCore::AccessibilityRenderObject::isReadOnly):
1019         * dom/Node.cpp:
1020         (WebCore::Node::isContentEditable):
1021         (WebCore::Node::shouldUseInputMethod):
1022         * dom/Node.h:
1023         * html/HTMLElement.cpp:
1024         * html/HTMLElement.h:
1025
1026 2011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
1027
1028         Reviewed by Dimitri Glazkov.
1029
1030         Bug 57689 - Extract scoping functionality from Document
1031         https://bugs.webkit.org/show_bug.cgi?id=57689
1032
1033         Moved selfOnlyRef (renamed to guardRef), element ID, image map
1034         and accesss key functionalities from Document to a new base
1035         class TreeScope.
1036
1037         TreeShared: made removedLastRef protected
1038
1039         No new tests. (refactoring)
1040
1041         * Android.mk:
1042         * CMakeLists.txt:
1043         * GNUmakefile.am:
1044         * WebCore.gypi:
1045         * WebCore.pro:
1046         * WebCore.vcproj/WebCore.vcproj:
1047         * WebCore.xcodeproj/project.pbxproj:
1048         * dom/Document.cpp:
1049         (WebCore::Document::Document):
1050         (WebCore::Document::destroyScope):
1051         (WebCore::Document::getElementById):
1052         (WebCore::Document::childrenChanged):
1053         (WebCore::Document::scheduleStyleRecalc):
1054         (WebCore::Document::attach):
1055         (WebCore::Document::detach):
1056         * dom/Document.h:
1057         (WebCore::Node::Node):
1058         * dom/DocumentOrderedMap.cpp:
1059         (WebCore::DocumentOrderedMap::get):
1060         (WebCore::DocumentOrderedMap::getElementById):
1061         (WebCore::DocumentOrderedMap::getElementByMapName):
1062         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1063         * dom/DocumentOrderedMap.h:
1064         * dom/DOMAllInOne.cpp:
1065         * dom/Node.cpp:
1066         (WebCore::Node::~Node):
1067         (WebCore::Node::setDocument):
1068         * dom/Node.h:
1069         * dom/TreeScope.cpp: Added.
1070         * dom/TreeScope.h: Added.
1071         * platform/TreeShared.h:
1072         (WebCore::TreeShared::removedLastRef): made protected
1073
1074 2011-04-04  MORITA Hajime  <morrita@google.com>
1075
1076         Reviewed by Dimitri Glazkov.
1077
1078         Convert <meter> shadow DOM to a DOM-based shadow.
1079         https://bugs.webkit.org/show_bug.cgi?id=50661
1080         
1081         Eliminated a large part of <meter> custom layout code,
1082         which is replaced by a shadow tree.
1083         Note that the shadow tree is created on construction time and
1084         will remain during the host HTMLMeterElement lifecycle.
1085         
1086         * Android.mk:
1087         * CMakeLists.txt:
1088         * GNUmakefile.am:
1089         * WebCore.gypi:
1090         * WebCore.pro:
1091         * WebCore.vcproj/WebCore.vcproj:
1092         * WebCore.xcodeproj/project.pbxproj:
1093         * css/CSSMutableStyleDeclaration.cpp:
1094         (WebCore::CSSMutableStyleDeclaration::setProperty):
1095         * css/CSSMutableStyleDeclaration.h:
1096         * css/CSSSelector.cpp:
1097         (WebCore::CSSSelector::pseudoId):
1098         (WebCore::nameToPseudoTypeMap):
1099         (WebCore::CSSSelector::extractPseudoType):
1100         * css/CSSSelector.h:
1101         * css/html.css:
1102         (meter):
1103         (meter::-webkit-meter-bar):
1104         (meter::-webkit-meter-optimum-value):
1105         (meter::-webkit-meter-suboptimum-value):
1106         (meter::-webkit-meter-even-less-good-value):
1107         * html/HTMLMeterElement.cpp:
1108         (WebCore::HTMLMeterElement::~HTMLMeterElement):
1109         (WebCore::HTMLMeterElement::parseMappedAttribute):
1110         (WebCore::HTMLMeterElement::attach):
1111         (WebCore::HTMLMeterElement::valueRatio):
1112         (WebCore::HTMLMeterElement::didElementStateChange):
1113         (WebCore::HTMLMeterElement::createShadowSubtree):
1114         * html/HTMLMeterElement.h:
1115         * html/shadow/MeterShadowElement.cpp: Added.
1116         (WebCore::MeterShadowElement::MeterShadowElement):        
1117         (WebCore::MeterShadowElement::meterElement):
1118         (WebCore::MeterShadowElement::rendererIsNeeded):
1119         (WebCore::MeterBarElement::shadowPseudoId):
1120         (WebCore::MeterValueElement::shadowPseudoId):
1121         (WebCore::MeterValueElement::setWidthPercentage):
1122         * html/shadow/MeterShadowElement.h: Added.
1123         (WebCore::MeterBarElement::MeterBarElement):
1124         (WebCore::MeterBarElement::create):
1125         (WebCore::MeterValueElement::MeterValueElement):
1126         (WebCore::MeterValueElement::create):
1127         * rendering/RenderMeter.cpp:
1128         (WebCore::RenderMeter::RenderMeter):
1129         (WebCore::RenderMeter::~RenderMeter):
1130         (WebCore::RenderMeter::valueRatio):
1131         * rendering/RenderMeter.h:
1132         (WebCore::RenderMeter::renderName):
1133         (WebCore::RenderMeter::isMeter):
1134         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
1135         (WebCore::RenderMeter::canHaveChildren):
1136
1137 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
1138
1139         Reviewed by Gustavo Noronha Silva.
1140
1141         [GTK] WebGL support
1142         https://bugs.webkit.org/show_bug.cgi?id=31517
1143
1144         Add WebGL support for the GTK+ bits of WebCore.
1145
1146         No new tests. This will be covered by the existing WebGL tests once
1147         the bots are capable of running WebGL tests.
1148
1149         * GNUmakefile.am: Added new files required for WebGL support.
1150         * html/HTMLCanvasElement.cpp:
1151         (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
1152         yet support accelerated compositing.
1153         * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
1154         a framework for GTK+.
1155         * platform/graphics/GraphicsContext3D.h:
1156         (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
1157         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
1158         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
1159         (WebCore::GraphicsContext3D::getImageData): Added.
1160         (WebCore::GraphicsContext3D::paintToCanvas): Added.
1161         * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
1162         functions dynamically. They have different names across the different vendors' GL implementations.
1163         (WebCore::lookupOpenGLFunctionAddress): Added
1164         (WebCore::openGLFunctionTable): Added
1165         (WebCore::initializeOpenGLShims): Added
1166         * platform/graphics/cairo/OpenGLShims.h: Added.
1167         * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
1168         (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
1169         (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
1170         (WebCore::DrawingBuffer::didReset): Ditto.
1171         (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
1172         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
1173         (WebCore::GraphicsContext3D::create): Initial implementation.
1174         (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
1175         (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
1176         (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
1177         (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
1178         (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
1179         * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
1180         (sharedDisplay): Added this shared display which is required by some
1181         display drivers.
1182         (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
1183         contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
1184         (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
1185         (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
1186         (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
1187         (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
1188         context given the current environment.
1189         (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
1190         (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
1191         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
1192         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
1193         (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
1194         * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
1195         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
1196         (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
1197         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1198         (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
1199         the private bits that are specific to the Apple port.
1200
1201 2011-04-04  Alexey Proskuryakov  <ap@apple.com>
1202
1203         Reviewed by Dan Bernstein.
1204
1205         REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
1206         https://bugs.webkit.org/show_bug.cgi?id=51230
1207         <rdar://problem/8780989>
1208
1209         <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
1210
1211         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
1212         WebKits to WebCore, because WebKit shouldn't be smart.
1213
1214 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
1215
1216         Fix Windows build warning.
1217
1218         * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
1219
1220 2011-04-04  Adam Roben  <aroben@apple.com>
1221
1222         Attempted Mac build fix, part III
1223
1224         * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
1225
1226 2011-04-04  Andy Estes  <aestes@apple.com>
1227
1228         Fix the Mac build.
1229
1230         * WebCore.exp.in:
1231
1232 2011-04-04  David Dorwin  <ddorwin@chromium.org>
1233
1234         Reviewed by David Levin.
1235
1236         Chromium Mac crashes when entering fullscreen
1237         https://bugs.webkit.org/show_bug.cgi?id=57483
1238
1239         Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
1240
1241         * WebCore.gyp/WebCore.gyp:
1242         * rendering/RenderThemeChromiumMac.h:
1243         * rendering/RenderThemeChromiumMac.mm:
1244         (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
1245
1246 2011-04-04  Adam Roben  <aroben@apple.com>
1247
1248         Attempted Mac build fix, part II
1249
1250         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
1251         PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
1252
1253 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
1254
1255         Reviewed by Adam Roben.
1256
1257         Remove unused AnalyzeWithLargeStack code from Windows build files
1258         https://bugs.webkit.org/show_bug.cgi?id=57771
1259         
1260         This was used for us to build with prefast automatically,
1261         but it is out-of-date and hasn't been used for some time.
1262         Removing completely for now.
1263
1264         * WebCore.vcproj/WebCore.vcproj:
1265         * WebCore.vcproj/WebCorePreBuild.cmd:
1266
1267 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
1268
1269         Reviewed by Simon Fraser.
1270
1271         [CG] Do not accelerate small canvases
1272         https://bugs.webkit.org/show_bug.cgi?id=57596
1273
1274         No new tests. No outward behavior changes.
1275
1276         * platform/graphics/cg/ImageBufferCG.cpp:
1277
1278 2011-04-04  Adam Roben  <aroben@apple.com>
1279
1280         Attempted Mac build fix
1281
1282         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
1283         so that WebKit can #include them.
1284
1285 2011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
1286
1287         Reviewed by Kevin Ollivier.
1288
1289         [wx] Implement support for temporary files.
1290         
1291         https://bugs.webkit.org/show_bug.cgi?id=57772
1292
1293         * platform/FileSystem.h:
1294         * platform/wx/FileSystemWx.cpp:
1295         (WebCore::getFileModificationTime):
1296         (WebCore::openTemporaryFile):
1297         (WebCore::closeFile):
1298         (WebCore::writeToFile):
1299
1300 2011-04-01  Oliver Hunt  <oliver@apple.com>
1301
1302         Reviewed by Geoffrey Garen.
1303
1304         Make StructureChain GC allocated
1305         https://bugs.webkit.org/show_bug.cgi?id=56695
1306
1307         Update for new Structure marking function
1308
1309         * bindings/js/JSDOMGlobalObject.cpp:
1310         (WebCore::JSDOMGlobalObject::markChildren):
1311
1312 2011-04-04  Pavel Feldman  <pfeldman@google.com>
1313
1314         Reviewed by Yury Semikhatsky.
1315
1316         Web Inspector: add support for the enumerated types in the protocol.
1317         https://bugs.webkit.org/show_bug.cgi?id=57761
1318
1319         * inspector/Inspector.json:
1320         * inspector/InspectorDebuggerAgent.cpp:
1321         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
1322         * inspector/InspectorDebuggerAgent.h:
1323         * inspector/InspectorInstrumentation.cpp:
1324         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1325         (WebCore::InspectorInstrumentation::scriptImportedImpl):
1326         * inspector/InspectorResourceAgent.cpp:
1327         (WebCore::cachedResourceTypeString):
1328         (WebCore::InspectorResourceAgent::didReceiveResponse):
1329         (WebCore::InspectorResourceAgent::setInitialScriptContent):
1330         (WebCore::InspectorResourceAgent::setInitialXHRContent):
1331         * inspector/InspectorResourceAgent.h:
1332         * inspector/front-end/ScriptsPanel.js:
1333         * inspector/generate-inspector-idl:
1334
1335 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
1336
1337         Reviewed by Pavel Feldman.
1338
1339         Web Inspector: InspectorRuntimeAgent should not depend on Page
1340         https://bugs.webkit.org/show_bug.cgi?id=57759
1341
1342         Descendants of InspectorRuntimeAgent should implement a method providing access to the default
1343         inspected state used for console evaluations.
1344
1345         * inspector/InspectorAgent.cpp:
1346         (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
1347         (WebCore::InspectorAgent::setFrontend):
1348         * inspector/InspectorAgent.h:
1349         * inspector/InspectorRuntimeAgent.cpp:
1350         (WebCore::InspectorRuntimeAgent::create):
1351         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1352         (WebCore::InspectorRuntimeAgent::evaluate):
1353         * inspector/InspectorRuntimeAgent.h:
1354         (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
1355
1356 2011-04-04  Yong Li  <yoli@rim.com>
1357
1358         Reviewed by Antonio Gomes.
1359
1360         https://bugs.webkit.org/show_bug.cgi?id=55969
1361         Fix the issue that document state is not saved when
1362         going backward and ending up with error page.
1363
1364         Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
1365
1366         (For manual test, load a non-existent html first, then load
1367         fast/history/resources/check-scroll-position.html, then go
1368         back and go forward. If it doesn't show "SUCCESS" at the bottom
1369         of the page, your browser has failed the test)
1370
1371         * loader/FrameLoader.cpp:
1372         (WebCore::FrameLoader::load):
1373
1374 2011-04-04  Sergio Villar Senin  <svillar@igalia.com>
1375
1376         Reviewed by Martin Robinson.
1377
1378         [GTK] Fix make distcheck for 1.4.0
1379         https://bugs.webkit.org/show_bug.cgi?id=57750
1380
1381         Added a missing header file to the Makefile
1382
1383         * GNUmakefile.am:
1384
1385 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
1386
1387         Reviewed by Xan Lopez.
1388
1389         [GTK] http/tests/plugins/post-url-file.html fails on GTK+
1390         https://bugs.webkit.org/show_bug.cgi?id=55826
1391
1392         Correct the implementation of handlePostReadFile which uses GIO APIs and
1393         actually resizes the buffer to fit the entire size of the file data. This
1394         was likely leading to memory corruption until now.
1395
1396         * plugins/gtk/PluginViewGtk.cpp:
1397         (WebCore::PluginView::handlePostReadFile): Fix this method.
1398
1399 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
1400
1401         Reviewed by Yury Semikhatsky.
1402
1403         Web Inspector: [Extensions API] add notifications on panels shown/hidden
1404         https://bugs.webkit.org/show_bug.cgi?id=57752
1405
1406         * inspector/front-end/ExtensionAPI.js:
1407         (WebInspector.injectedExtensionAPI.PanelImpl):
1408         * inspector/front-end/ExtensionServer.js:
1409         (WebInspector.ExtensionServer.prototype.notifyPanelShown):
1410         (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
1411         * inspector/front-end/Panel.js:
1412         (WebInspector.Panel.prototype.show):
1413         (WebInspector.Panel.prototype.hide):
1414
1415 2011-04-04  Pavel Podivilov  <podivilov@chromium.org>
1416
1417         Reviewed by Yury Semikhatsky.
1418
1419         Web Inspector: search in resources panel is broken.
1420         https://bugs.webkit.org/show_bug.cgi?id=57631
1421
1422         Search in resources panel should trigger source frame content load.
1423
1424         * inspector/front-end/Panel.js:
1425         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1426         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
1427         * inspector/front-end/ResourcesPanel.js:
1428         * inspector/front-end/SearchController.js:
1429         (WebInspector.SearchController.prototype.handleShortcut):
1430         (WebInspector.SearchController.prototype.focusSearchField):
1431         * inspector/front-end/SourceFrame.js:
1432         (WebInspector.SourceFrame.prototype.show):
1433         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1434         (WebInspector.SourceFrame.prototype.performSearch):
1435
1436 2011-04-03  Eric Seidel  <eric@webkit.org>
1437
1438         Reviewed by Ryosuke Niwa.
1439
1440         Split out UnicodeBidi enum into its own header (to allow use in platform)
1441         https://bugs.webkit.org/show_bug.cgi?id=57722
1442
1443         unicode-bidi is a CSS concept.  However the same concept is really needed throughout
1444         the bidi code in platform as well.  So I'm moving the enum to platform.
1445         The only part of the enum which doesn't make much sense to platform/ is "normal".
1446
1447         * WebCore.xcodeproj/project.pbxproj:
1448         * css/CSSPrimitiveValueMappings.h:
1449         * platform/text/UnicodeBidi.h: Added.
1450         * rendering/style/RenderStyle.h:
1451         * rendering/style/RenderStyleConstants.h:
1452
1453 2011-04-04  Andrey Adaikin  <aandrey@google.com>
1454
1455         Reviewed by Yury Semikhatsky.
1456
1457         Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
1458         https://bugs.webkit.org/show_bug.cgi?id=57749
1459
1460         * inspector/front-end/TextViewer.js:
1461         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1462         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1463
1464 2011-04-04  Alexander Pavlov  <apavlov@chromium.org>
1465
1466         Reviewed by Yury Semikhatsky.
1467
1468         Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
1469         https://bugs.webkit.org/show_bug.cgi?id=48525
1470
1471         * inspector/front-end/Resource.js:
1472         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1473
1474 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
1475
1476         Reviewed by Yury Semikhatsky.
1477
1478         Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
1479         https://bugs.webkit.org/show_bug.cgi?id=57632
1480
1481         Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
1482
1483         * inspector/front-end/DOMAgent.js:
1484         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
1485         * inspector/front-end/EventListenersSidebarPane.js:
1486         ():
1487         * inspector/front-end/StylesSidebarPane.js:
1488         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
1489         * inspector/front-end/utilities.js:
1490
1491 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
1492
1493         Unreviewed. Followup to an incomplete commit in r82806.
1494
1495         * inspector/front-end/ExtensionAPI.js:
1496         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
1497         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
1498         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
1499         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
1500         (WebInspector.injectedExtensionAPI):
1501         * inspector/front-end/ExtensionPanel.js:
1502         (WebInspector.ExtensionSidebarPane):
1503         (WebInspector.ExtensionSidebarPane.prototype.setPage):
1504         (WebInspector.ExtensionSidebarPane.prototype._setObject):
1505         * inspector/front-end/ExtensionServer.js:
1506         (WebInspector.ExtensionServer):
1507         (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
1508         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1509         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
1510         (WebInspector.ExtensionServer.prototype.createClientIframe):
1511         (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
1512
1513 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
1514
1515         Unreviewed. Fix Qt minimal build.
1516
1517         * inspector/InspectorFrontendChannel.h:
1518
1519 2011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
1520
1521         Reviewed by Yury Semikhatsky.
1522
1523         Web Inspector: Separate sendMessageToFrontend function
1524         from InspectorClient to individual interface.
1525         https://bugs.webkit.org/show_bug.cgi?id=57548
1526
1527         Refactoring - covered with existing inspector tests.
1528
1529         * GNUmakefile.am:
1530         * WebCore.gypi:
1531         * WebCore.vcproj/WebCore.vcproj:
1532         * WebCore.xcodeproj/project.pbxproj:
1533         * inspector/CodeGeneratorInspector.pm:
1534         * inspector/InspectorClient.h:
1535         * inspector/InspectorFrontendChannel.h: Added.
1536         (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
1537
1538 2011-04-04  Nico Weber  <thakis@chromium.org>
1539
1540         Reviewed by Eric Seidel.
1541
1542         Prefer a using directive over qualified names in LocalizedNumberICU.cpp
1543         https://bugs.webkit.org/show_bug.cgi?id=57742
1544
1545         Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
1546
1547         * platform/text/LocalizedNumberICU.cpp:
1548         (WebCore::createFormatterForCurrentLocale):
1549         (WebCore::numberFormatter):
1550         (WebCore::parseLocalizedNumber):
1551         (WebCore::formatLocalizedNumber):
1552
1553 2011-04-04  Andrey Adaikin  <aandrey@google.com>
1554
1555         Reviewed by Yury Semikhatsky.
1556
1557         Web Inspector: Breakpoints in the gutter stay static while editing the text
1558         https://bugs.webkit.org/show_bug.cgi?id=57616
1559
1560         * inspector/front-end/SourceFrame.js:
1561         (WebInspector.SourceFrame):
1562         (WebInspector.SourceFrame.prototype._saveViewerState):
1563         (WebInspector.SourceFrame.prototype._restoreViewerState):
1564         (WebInspector.SourceFrame.prototype._endEditing):
1565         (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
1566         (WebInspector.SourceFrame.prototype.addBreakpoint):
1567         (WebInspector.SourceFrame.prototype.removeBreakpoint):
1568         * inspector/front-end/TextViewer.js:
1569         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1570         (WebInspector):
1571         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
1572         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1573         (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
1574         (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
1575
1576 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
1577
1578         Reviewed by Yury Semikhatsky.
1579
1580         Web Inspector: remove obsolete doc generating code from CodeGenerator.
1581         https://bugs.webkit.org/show_bug.cgi?id=57748
1582
1583         * inspector/CodeGeneratorInspector.pm:
1584
1585 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
1586
1587         Reviewed by Yury Semikhatsky.
1588
1589         Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
1590         https://bugs.webkit.org/show_bug.cgi?id=57622
1591
1592         Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
1593         Fixed wrong getter in schema (scripts -> elements)
1594
1595         * inspector/front-end/ExtensionAPI.js:
1596         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
1597         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
1598         * inspector/front-end/ExtensionAPISchema.json:
1599         * inspector/front-end/ExtensionServer.js:
1600         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
1601
1602 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
1603
1604         Reviewed by Pavel Feldman.
1605
1606         Web Inspector: introduce support of 'optional' flag for command arguments.
1607         https://bugs.webkit.org/show_bug.cgi?id=57698
1608
1609         * inspector/CodeGeneratorInspector.pm:
1610         * inspector/Inspector.json:
1611         * inspector/InspectorDebuggerAgent.cpp:
1612         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1613         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1614         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1615         * inspector/InspectorDebuggerAgent.h:
1616         * inspector/InspectorPageAgent.cpp:
1617         (WebCore::InspectorPageAgent::reloadPage):
1618         * inspector/InspectorPageAgent.h:
1619         * inspector/InspectorResourceAgent.cpp:
1620         (WebCore::InspectorResourceAgent::getResourceContent):
1621         * inspector/InspectorResourceAgent.h:
1622         * inspector/InspectorRuntimeAgent.cpp:
1623         (WebCore::InspectorRuntimeAgent::evaluate):
1624         * inspector/InspectorRuntimeAgent.h:
1625         * inspector/generate-inspector-idl:
1626
1627 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
1628
1629         Reviewed by Pavel Feldman.
1630
1631         Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
1632         https://bugs.webkit.org/show_bug.cgi?id=57637
1633
1634         * bindings/js/JSInjectedScriptManager.cpp:
1635         (WebCore::InjectedScriptManager::injectedScriptFor):
1636         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1637         (WebCore::InjectedScriptManager::injectedScriptFor):
1638         * inspector/InjectedScript.cpp:
1639         (WebCore::InjectedScript::InjectedScript):
1640         (WebCore::InjectedScript::canAccessInspectedWindow):
1641         * inspector/InjectedScript.h:
1642         * inspector/InjectedScriptManager.cpp:
1643         (WebCore::InjectedScriptManager::createForPage):
1644         (WebCore::InjectedScriptManager::createForWorker):
1645         (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
1646         and it depends on which type of context we're inspecting(worker or page).
1647         (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
1648         * inspector/InjectedScriptManager.h:
1649         * inspector/InspectorController.cpp:
1650         (WebCore::InspectorController::InspectorController):
1651
1652 2011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
1653
1654         Reviewed by Eric Seidel.
1655
1656         V8StringCallback.cpp requires V8Binding.h
1657         https://bugs.webkit.org/show_bug.cgi?id=57699
1658
1659         No new tests required because of just adding header file.
1660
1661         * bindings/scripts/CodeGeneratorV8.pm:
1662
1663 2011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
1664
1665         Reviewed by Eric Seidel.
1666
1667         [CMAKE] Clean duplicated files in WebCore_Sources
1668         https://bugs.webkit.org/show_bug.cgi?id=57741
1669
1670         No new tests, Only duplicated files were removed.
1671
1672         * CMakeLists.txt:
1673
1674 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
1675
1676         Reviewed by Darin Adler.
1677
1678         Fix 2-space indentation introduced in bug 54706.
1679         https://bugs.webkit.org/show_bug.cgi?id=57740
1680
1681         No new tests - whitespace changes only.
1682
1683         * css/CSSStyleSelector.cpp:
1684         (WebCore::CSSStyleSelector::applyProperty):
1685         Convert 2-space indentation to 4-space indentation.
1686
1687 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
1688
1689         Reviewed by Dimitri Glazkov.
1690
1691         Make CSSStyleApplyProperty non-copyable
1692         https://bugs.webkit.org/show_bug.cgi?id=57738
1693
1694         No new functionality added so no new tests required.
1695
1696         * css/CSSStyleApplyProperty.h:
1697         Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
1698
1699 2011-04-03  Dan Bernstein  <mitz@apple.com>
1700
1701         Reviewed by Maciej Stachowiak.
1702
1703         fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
1704         https://bugs.webkit.org/show_bug.cgi?id=57733
1705
1706         The crash happens because resetting the page scale as part of preparing the WebView for the
1707         next test triggered layout, which in turn caused a plug-in to make a resource request, and
1708         DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
1709         tests, and it references the layout test controller, which is null.
1710
1711         * page/Frame.cpp:
1712         (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
1713         is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
1714         DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
1715         I think there are currently no such tests, so I am not fixing DumpRenderTree.
1716
1717 2011-04-03  Eric Seidel  <eric@webkit.org>
1718
1719         Reviewed by Ryosuke Niwa.
1720
1721         Teach InlineIterator how to work from any root, not just a RenderBlock
1722         https://bugs.webkit.org/show_bug.cgi?id=57726
1723
1724         For implementing bidi-unicode: isolate, we need to be able to run the
1725         bidi algorithm over a subtree of inlines, not just from a block root.
1726         This is the first step in making this possible.
1727
1728         * rendering/InlineIterator.h:
1729         (WebCore::InlineIterator::InlineIterator):
1730         (WebCore::InlineIterator::root):
1731         (WebCore::bidiNext):
1732         (WebCore::bidiFirst):
1733         (WebCore::InlineIterator::increment):
1734         (WebCore::InlineBidiResolver::appendRun):
1735         * rendering/RenderBlockLineLayout.cpp:
1736         (WebCore::RenderBlock::findNextLineBreak):
1737
1738 2011-04-03  Eric Seidel  <eric@webkit.org>
1739
1740         Reviewed by Dan Bernstein.
1741
1742         Split out handling of trailing spaces from layoutInlineChildren
1743         https://bugs.webkit.org/show_bug.cgi?id=57432
1744
1745         There is much more we could split out from this function, but this is a start.
1746
1747         I suspect this is very hot code.  Hopefully the compiler will do the right thing.
1748         If it doesn't the Chromium PLT bots will tell us.
1749
1750         * rendering/RenderBlock.h:
1751         * rendering/RenderBlockLineLayout.cpp:
1752         (WebCore::RenderBlock::handleTrailingSpaces):
1753         (WebCore::RenderBlock::layoutInlineChildren):
1754
1755 2011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
1756
1757         Reviewed by Eric Seidel.
1758
1759         editing commands shouldn't run when there's no body
1760         https://bugs.webkit.org/show_bug.cgi?id=56771
1761
1762         The bug was caused by WebKit's not checking the existence of root editable element
1763         in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
1764         we should not run editing commands in a document without a body element editable because
1765         doing so results in appending a non-body element to the document node.
1766
1767         Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
1768         New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
1769         when there are no body element. Since StyleWithCSS is a document's state or property, we allow
1770         execCommand('StyleWithCSS') even in a document without a body element.
1771
1772         WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
1773         Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
1774         the selection when document.write("x") is ran and successfully inserts image.
1775
1776         Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
1777         while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
1778
1779         Since Internet Explorer does not allow execCommand to run under design mode properly, we could
1780         not test its behavior.
1781
1782         Tests: editing/editability/empty-document-delete.html
1783                editing/editability/empty-document-justify-right.html
1784                editing/editability/empty-document-stylewithcss.html
1785                editing/execCommand/insert-image-with-selecting-document.html
1786
1787         * editing/Editor.cpp:
1788         (WebCore::Editor::canEdit): Verify that the root editable element exists
1789         instead of just checking that selection endpoints are editable because
1790         selection endpoints could be document node without a body element in design mode
1791         and we don't want to consider such a document editable.
1792         (WebCore::Editor::canDelete): Ditto.
1793         * editing/EditorCommand.cpp:
1794         (WebCore::enabledInEditableText): Ditto.
1795         (WebCore::enabledInRichlyEditableText): Ditto.
1796         (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
1797         of duplicating the code in order to fix the same bug.
1798
1799 2011-04-02  Dan Bernstein  <mitz@apple.com>
1800
1801         Reviewed by Maciej Stachowiak.
1802
1803         REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
1804         https://bugs.webkit.org/show_bug.cgi?id=57719
1805
1806         r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
1807         that the timeline container is the parent of the time display. This is not true
1808         with the GTK media style, where the current time display is an inline box, and
1809         thus wrapped in an anonymous flexible box. The code was incorrectly considering
1810         the width of the anonymous box and deciding to hide the time display. Prior to
1811         r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
1812
1813         * rendering/MediaControlElements.cpp:
1814         (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
1815
1816 2011-04-02  Nico Weber  <thakis@chromium.org>
1817
1818         Reviewed by Adam Barth.
1819
1820         Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
1821
1822         By default, ICU includes |using namespace icu;| in its header files
1823         for backwards compatibility. Clients can define
1824         U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
1825         classes with |icu::| makes this file compile no matter what
1826         U_USING_ICU_NAMESPACE is set to.
1827
1828         https://bugs.webkit.org/show_bug.cgi?id=57715
1829
1830         * platform/text/LocalizedNumberICU.cpp:
1831         (WebCore::createFormatterForCurrentLocale):
1832         (WebCore::numberFormatter):
1833         (WebCore::parseLocalizedNumber):
1834         (WebCore::formatLocalizedNumber):
1835
1836 2011-04-02  Dan Bernstein  <mitz@apple.com>
1837
1838         Reviewed by Dave Hyatt.
1839
1840         Remove an unnecessary extra computeLogicalWidth() from line layout
1841         https://bugs.webkit.org/show_bug.cgi?id=57711
1842
1843         Changes in behavior (MathML progression) covered by existing layout tests.
1844
1845         * rendering/RenderBlockLineLayout.cpp:
1846         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1847         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
1848         actually prevents MathML rows from reverting to an incorrect width.
1849
1850 2011-04-02  Dan Bernstein  <mitz@apple.com>
1851
1852         Reviewed by Beth Dakin.
1853
1854         <details> marker loses its margin
1855         https://bugs.webkit.org/show_bug.cgi?id=57713
1856
1857         * rendering/RenderDetails.cpp:
1858         (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
1859         the marker location.
1860         * rendering/RenderDetails.h:
1861         (WebCore::RenderDetails::renderName): Made private.
1862         (WebCore::RenderDetails::isDetails): Ditto.
1863         * rendering/RenderDetailsMarker.cpp:
1864         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
1865         in the style, like RenderListMarker does.
1866         (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
1867
1868 2011-04-02  Andy Estes  <aestes@apple.com>
1869
1870         Reviewed by Oliver Hunt.
1871
1872         REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
1873         https://bugs.webkit.org/show_bug.cgi?id=52518
1874
1875         Test: fast/images/imagemap-focus-ring-zero-outline-width.html
1876
1877         * rendering/RenderImage.cpp:
1878         (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
1879
1880 2011-04-02  Beth Dakin  <bdakin@apple.com>
1881
1882         Reviewed by Sam Weinig.
1883
1884         https://bugs.webkit.org/show_bug.cgi?id=57605
1885         Frame::pageScaleFactor() should not affect getBoundingClientRect() or 
1886         getClientRects()
1887         -and corresponding-
1888         <rdar://problem/9194541>
1889
1890         New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
1891         * dom/Element.cpp:
1892         (WebCore::Element::getClientRects):
1893         (WebCore::Element::getBoundingClientRect):
1894         * dom/Range.cpp:
1895         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
1896         (WebCore::Range::getBorderAndTextQuads):
1897         * rendering/RenderObject.h:
1898         (WebCore::adjustFloatPointForPageScale):
1899         (WebCore::adjustFloatQuadForPageScale):
1900         (WebCore::adjustFloatRectForPageScale):
1901
1902 2011-04-02  Dan Bernstein  <mitz@apple.com>
1903
1904         Reverted r82775 due to changes in <details> test results, which are
1905         likely progressions.
1906
1907         * rendering/RenderBlockLineLayout.cpp:
1908         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1909
1910 2011-04-02  Dan Bernstein  <mitz@apple.com>
1911
1912         Reviewed by Dave Hyatt.
1913
1914         Remove an unnecessary extra computeLogicalWidth() from line layout
1915         https://bugs.webkit.org/show_bug.cgi?id=57711
1916
1917         Changes in behavior (MathML progression) covered by existing layout tests.
1918
1919         * rendering/RenderBlockLineLayout.cpp:
1920         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1921         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
1922         actually prevents MathML rows from reverting to an incorrect width.
1923
1924 2011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
1925
1926         Reviewed by Martin Robinson.
1927
1928         [GTK] Fix leaked pointer in FontGtk.cpp
1929         https://bugs.webkit.org/show_bug.cgi?id=57307
1930
1931         Fix a memory leak.
1932
1933         No new functionality, so no new tests.
1934
1935         * platform/graphics/gtk/FontGtk.cpp:
1936         (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
1937         (WebCore::convertUniCharToUTF8):
1938
1939 2011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
1940
1941         Reviewed by Pavel Feldman.
1942
1943         Web Inspector: we should be able to have in and out arguments of a command with same name.
1944         https://bugs.webkit.org/show_bug.cgi?id=57701
1945
1946         * inspector/CodeGeneratorInspector.pm:
1947         * inspector/Inspector.json:
1948
1949 2011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
1950
1951         Not reviewed trivial change.
1952
1953         Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
1954         Followup change for r82281.
1955         https://bugs.webkit.org/show_bug.cgi?id=57327
1956
1957         * inspector/InspectorPageAgent.cpp:
1958         * inspector/InspectorPageAgent.h:
1959
1960 2011-04-01  Michael Saboff  <msaboff@apple.com>
1961
1962         Reviewed by Darin Adler.
1963
1964         Cached Resource Overhead Space Usage and Accounting Inaccurate
1965         https://bugs.webkit.org/show_bug.cgi?id=57488
1966
1967         Fixed windows test failures.
1968         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
1969         Modified ResourceResponse::platformLazyInit() to handle "base" level
1970         attributes or all attributes.  The base attributes, like URL, status
1971         code, mime type and a few header fields (mostly cache related) are
1972         suitable for most resources.  This reduces the per resource memory
1973         needs by over 1K bytes per resource thus saving memory in the cache.
1974         Collectively, these two changes bring the overhead memory calculation
1975         in line with reality.
1976
1977         No new tests added due to existing tests cover areas of change and
1978         there is no functional change.  The change is limited to reducing 
1979         memory usage along existing paths.
1980
1981         * loader/cache/CachedResource.cpp:
1982         (WebCore::CachedResource::canUseCacheValidator):
1983         * platform/network/ResourceResponseBase.cpp:
1984         (WebCore::ResourceResponseBase::adopt):
1985         (WebCore::ResourceResponseBase::isHTTP):
1986         (WebCore::ResourceResponseBase::url):
1987         (WebCore::ResourceResponseBase::setURL):
1988         (WebCore::ResourceResponseBase::mimeType):
1989         (WebCore::ResourceResponseBase::setMimeType):
1990         (WebCore::ResourceResponseBase::expectedContentLength):
1991         (WebCore::ResourceResponseBase::setExpectedContentLength):
1992         (WebCore::ResourceResponseBase::textEncodingName):
1993         (WebCore::ResourceResponseBase::setTextEncodingName):
1994         (WebCore::ResourceResponseBase::suggestedFilename):
1995         (WebCore::ResourceResponseBase::setSuggestedFilename):
1996         (WebCore::ResourceResponseBase::httpStatusCode):
1997         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1998         (WebCore::ResourceResponseBase::httpStatusText):
1999         (WebCore::ResourceResponseBase::setHTTPStatusText):
2000         (WebCore::ResourceResponseBase::httpHeaderField):
2001         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2002         (WebCore::ResourceResponseBase::httpHeaderFields):
2003         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2004         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
2005         (WebCore::ResourceResponseBase::date):
2006         (WebCore::ResourceResponseBase::age):
2007         (WebCore::ResourceResponseBase::expires):
2008         (WebCore::ResourceResponseBase::lastModified):
2009         (WebCore::ResourceResponseBase::isAttachment):
2010         (WebCore::ResourceResponseBase::setLastModifiedDate):
2011         (WebCore::ResourceResponseBase::lastModifiedDate):
2012         (WebCore::ResourceResponseBase::wasCached):
2013         (WebCore::ResourceResponseBase::connectionReused):
2014         (WebCore::ResourceResponseBase::setConnectionReused):
2015         (WebCore::ResourceResponseBase::connectionID):
2016         (WebCore::ResourceResponseBase::setConnectionID):
2017         (WebCore::ResourceResponseBase::resourceLoadTiming):
2018         (WebCore::ResourceResponseBase::setResourceLoadTiming):
2019         (WebCore::ResourceResponseBase::resourceLoadInfo):
2020         (WebCore::ResourceResponseBase::setResourceLoadInfo):
2021         (WebCore::ResourceResponseBase::lazyInit):
2022         * platform/network/ResourceResponseBase.h:
2023         (WebCore::ResourceResponseBase::platformLazyInit):
2024         * platform/network/cf/ResourceResponse.h:
2025         (WebCore::ResourceResponse::ResourceResponse):
2026         (WebCore::ResourceResponse::memoryUsage):
2027         * platform/network/cf/ResourceResponseCFNet.cpp:
2028         (WebCore::ResourceResponse::platformLazyInit):
2029         * platform/network/mac/ResourceResponseMac.mm:
2030         (WebCore::ResourceResponse::platformLazyInit):
2031
2032 2011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
2033
2034         Reviewed by Adam Barth.
2035
2036         https://bugs.webkit.org/show_bug.cgi?id=45855
2037         Windowless plugins added dynamically to the DOM should receive paint events.
2038         This is done by ensuring that the plugin widget is marked for painting when
2039         it is added.
2040
2041         Test: plugins/windowless_plugin_paint_test.html
2042
2043         * rendering/RenderWidget.cpp:
2044         (WebCore::RenderWidget::setWidget):
2045
2046 2011-04-01  Mike Reed  <reed@google.com>
2047
2048         Reviewed by James Robinson.
2049
2050         always use native font rendering on skia_gpu
2051         fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
2052         https://bugs.webkit.org/show_bug.cgi?id=57663
2053
2054         No new tests. existing rendering tests will exercise this
2055
2056         * platform/graphics/skia/PlatformContextSkia.cpp:
2057         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2058
2059 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2060
2061         Unreviewed, rolling out r82712, r82729, and r82746.
2062         http://trac.webkit.org/changeset/82712
2063         http://trac.webkit.org/changeset/82729
2064         http://trac.webkit.org/changeset/82746
2065         https://bugs.webkit.org/show_bug.cgi?id=57682
2066
2067         fast/frames/frame-programmatic-noresize.html is failing on
2068         Windows bots. Will look into this offline. (Requested by dydx
2069         on #webkit).
2070
2071         * html/HTMLFrameElement.cpp:
2072         (WebCore::HTMLFrameElement::HTMLFrameElement):
2073         (WebCore::HTMLFrameElement::attach):
2074         (WebCore::HTMLFrameElement::parseMappedAttribute):
2075         * html/HTMLFrameElement.h:
2076         (WebCore::HTMLFrameElement::noResize):
2077         * rendering/RenderFrame.cpp:
2078         * rendering/RenderFrame.h:
2079         * rendering/RenderFrameSet.cpp:
2080         * rendering/RenderFrameSet.h:
2081
2082 2011-04-01  Adam Barth  <abarth@webkit.org>
2083
2084         Reviewed by Tony Chang.
2085
2086         Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
2087         https://bugs.webkit.org/show_bug.cgi?id=57656
2088
2089         We should initialize memory when constructing objects.
2090
2091         * platform/text/StringWithDirection.h:
2092         (WebCore::StringWithDirection::StringWithDirection):
2093
2094 2011-04-01  Jer Noble  <jer.noble@apple.com>
2095
2096         Reviewed by Darin Adler.
2097
2098         WebKit2: Link from PDF opens in a new tab instead of in the same tab
2099         https://bugs.webkit.org/show_bug.cgi?id=57528
2100
2101         * WebCore.exp.in: Export MouseEvent::create().
2102
2103 2011-04-01  John Bauman  <jbauman@chromium.org>
2104
2105         Reviewed by Kenneth Russell.
2106
2107         Avoid decoding images twice in texImage2D
2108         https://bugs.webkit.org/show_bug.cgi?id=51498
2109
2110         Make sure to redecode the image only if it's not opaque and texImage2D
2111         wouldn't premultiply it anyway.
2112
2113         * platform/graphics/BitmapImage.h:
2114         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2115         (WebCore::GraphicsContext3D::getImageData):
2116         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2117         (WebCore::GraphicsContext3D::getImageData):
2118
2119 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
2120
2121         32-bit Mac build fix.
2122
2123         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
2124         to avoid ambiguity.
2125
2126 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
2127
2128         Reviewed by Darin Adler.
2129
2130         Make WebKit2 text input handling more like WebKit1
2131         https://bugs.webkit.org/show_bug.cgi?id=57649
2132
2133         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
2134         we used to have. It is dangerous to confuse editor commands and selector names - besides the
2135         presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
2136
2137 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2138
2139         Unreviewed, rolling out r82711.
2140         http://trac.webkit.org/changeset/82711
2141         https://bugs.webkit.org/show_bug.cgi?id=57657
2142
2143         Made every test crash on XP and Win7 (Requested by
2144         abarth|gardening on #webkit).
2145
2146         * loader/cache/CachedResource.cpp:
2147         (WebCore::CachedResource::canUseCacheValidator):
2148         * platform/network/ResourceResponseBase.cpp:
2149         (WebCore::ResourceResponseBase::adopt):
2150         (WebCore::ResourceResponseBase::isHTTP):
2151         (WebCore::ResourceResponseBase::url):
2152         (WebCore::ResourceResponseBase::setURL):
2153         (WebCore::ResourceResponseBase::mimeType):
2154         (WebCore::ResourceResponseBase::setMimeType):
2155         (WebCore::ResourceResponseBase::expectedContentLength):
2156         (WebCore::ResourceResponseBase::setExpectedContentLength):
2157         (WebCore::ResourceResponseBase::textEncodingName):
2158         (WebCore::ResourceResponseBase::setTextEncodingName):
2159         (WebCore::ResourceResponseBase::suggestedFilename):
2160         (WebCore::ResourceResponseBase::setSuggestedFilename):
2161         (WebCore::ResourceResponseBase::httpStatusCode):
2162         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2163         (WebCore::ResourceResponseBase::httpStatusText):
2164         (WebCore::ResourceResponseBase::setHTTPStatusText):
2165         (WebCore::ResourceResponseBase::httpHeaderField):
2166         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2167         (WebCore::ResourceResponseBase::httpHeaderFields):
2168         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2169         (WebCore::ResourceResponseBase::date):
2170         (WebCore::ResourceResponseBase::age):
2171         (WebCore::ResourceResponseBase::expires):
2172         (WebCore::ResourceResponseBase::lastModified):
2173         (WebCore::ResourceResponseBase::isAttachment):
2174         (WebCore::ResourceResponseBase::setLastModifiedDate):
2175         (WebCore::ResourceResponseBase::lastModifiedDate):
2176         (WebCore::ResourceResponseBase::wasCached):
2177         (WebCore::ResourceResponseBase::connectionReused):
2178         (WebCore::ResourceResponseBase::setConnectionReused):
2179         (WebCore::ResourceResponseBase::connectionID):
2180         (WebCore::ResourceResponseBase::setConnectionID):
2181         (WebCore::ResourceResponseBase::resourceLoadTiming):
2182         (WebCore::ResourceResponseBase::setResourceLoadTiming):
2183         (WebCore::ResourceResponseBase::resourceLoadInfo):
2184         (WebCore::ResourceResponseBase::setResourceLoadInfo):
2185         (WebCore::ResourceResponseBase::lazyInit):
2186         * platform/network/ResourceResponseBase.h:
2187         (WebCore::ResourceResponseBase::platformLazyInit):
2188         * platform/network/cf/ResourceResponse.h:
2189         (WebCore::ResourceResponse::ResourceResponse):
2190         (WebCore::ResourceResponse::memoryUsage):
2191         * platform/network/cf/ResourceResponseCFNet.cpp:
2192         (WebCore::ResourceResponse::platformLazyInit):
2193         * platform/network/mac/ResourceResponseMac.mm:
2194         (WebCore::ResourceResponse::platformLazyInit):
2195
2196 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
2197
2198         Reviewed by Simon Fraser.
2199
2200         Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
2201         https://bugs.webkit.org/show_bug.cgi?id=57651
2202
2203         No new tests. This patch does not affect outward behavior.
2204
2205         * html/canvas/CanvasRenderingContext2D.cpp:
2206         (WebCore::CanvasRenderingContext2D::isAccelerated):
2207         * platform/graphics/ImageBuffer.h:
2208         (WebCore::ImageBuffer::isAccelerated):
2209
2210 2011-04-01  Daniel Bates  <dbates@rim.com>
2211
2212         Reviewed by Darin Adler.
2213
2214         Frame's noResize attribute can not be set by JavaScript
2215         https://bugs.webkit.org/show_bug.cgi?id=14845
2216
2217         Tests: fast/frames/frame-inherit-noresize-from-frameset.html
2218                fast/frames/frame-programmatic-noresize.html
2219                fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
2220                fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
2221
2222         Implements support to programmatically allow and disallow frame resizing.
2223
2224         Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
2225         m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
2226         point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
2227         frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
2228         attribute.
2229
2230         * html/HTMLFrameElement.cpp:
2231         (WebCore::HTMLFrameElement::HTMLFrameElement):
2232         (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
2233         code path isn't performance critical.
2234         (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
2235         parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
2236         (WebCore::HTMLFrameElement::parseMappedAttribute):
2237         * html/HTMLFrameElement.h:
2238         * rendering/RenderFrame.cpp:
2239         (WebCore::RenderFrame::updateFromElement): Added.
2240         * rendering/RenderFrame.h:
2241         * rendering/RenderFrameSet.cpp:
2242         (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
2243         * rendering/RenderFrameSet.h:
2244
2245 2011-04-01  Michael Saboff  <msaboff@apple.com>
2246
2247         Reviewed by Darin Adler.
2248
2249         Cached Resource Overhead Space Usage and Accounting Inaccurate
2250         https://bugs.webkit.org/show_bug.cgi?id=57488
2251
2252         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
2253         Modified ResourceResponse::platformLazyInit() to handle "base" level
2254         attributes or all attributes.  The base attributes, like URL, status
2255         code, mime type and a few header fields (mostly cache related) are
2256         suitable for most resources.  This reduces the per resource memory
2257         needs by over 1K bytes per resource thus saving memory in the cache.
2258         Collectively, these two changes bring the overhead memory calculation
2259         in line with reality.
2260
2261         No new tests added due to existing tests cover areas of change and
2262         there is no functional change.  The change is limited to reducing 
2263         memory usage along existing paths.
2264
2265         * loader/cache/CachedResource.cpp:
2266         (WebCore::CachedResource::canUseCacheValidator):
2267         * platform/network/ResourceResponseBase.cpp:
2268         (WebCore::ResourceResponseBase::isHTTP):
2269         (WebCore::ResourceResponseBase::url):
2270         (WebCore::ResourceResponseBase::setURL):
2271         (WebCore::ResourceResponseBase::mimeType):
2272         (WebCore::ResourceResponseBase::setMimeType):
2273         (WebCore::ResourceResponseBase::expectedContentLength):
2274         (WebCore::ResourceResponseBase::setExpectedContentLength):
2275         (WebCore::ResourceResponseBase::textEncodingName):
2276         (WebCore::ResourceResponseBase::setTextEncodingName):
2277         (WebCore::ResourceResponseBase::suggestedFilename):
2278         (WebCore::ResourceResponseBase::setSuggestedFilename):
2279         (WebCore::ResourceResponseBase::httpStatusCode):
2280         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2281         (WebCore::ResourceResponseBase::httpHeaderField):
2282         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2283         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2284         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
2285         (WebCore::ResourceResponseBase::date):
2286         (WebCore::ResourceResponseBase::age):
2287         (WebCore::ResourceResponseBase::expires):
2288         (WebCore::ResourceResponseBase::lastModified):
2289         (WebCore::ResourceResponseBase::lazyInit):
2290         * platform/network/ResourceResponseBase.h:
2291         (WebCore::ResourceResponseBase::platformLazyInit):
2292         * platform/network/cf/ResourceResponse.h:
2293         (WebCore::ResourceResponse::ResourceResponse):
2294         (WebCore::ResourceResponse::memoryUsage):
2295         * platform/network/cf/ResourceResponseCFNet.cpp:
2296         * platform/network/mac/ResourceResponseMac.mm:
2297         (WebCore::ResourceResponse::platformLazyInit):
2298
2299 2011-04-01  Timothy Hatcher  <timothy@apple.com>
2300
2301         Make momentum scroll event latching work in WebKit2 on Mac.
2302
2303         <rdar://problem/8751861>
2304
2305         Reviewed by Darin Adler.
2306
2307         * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
2308         * page/EventHandler.cpp:
2309         (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
2310         event's momentumPhase.
2311         * page/mac/EventHandlerMac.mm:
2312         (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
2313         It is now done in EventHandler::handleWheelEvent.
2314         * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
2315         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2316         * platform/mac/WheelEventMac.mm:
2317         (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
2318
2319 2011-04-01  Steve Block  <steveblock@google.com>
2320
2321         Reviewed by Jeremy Orlow.
2322
2323         JavaClass should be an interface and free of JNI types
2324         https://bugs.webkit.org/show_bug.cgi?id=57533
2325
2326         This patch fixes JavaClass for V8 only.
2327
2328         It factors out a JavaClass interface which does not use JNI types.
2329         This will allow the Java bridge to be used with objects that
2330         don't use JNI directly. The existing jobject-backed
2331         implementation is moved to a new JavaClassJobject class which
2332         implements the interface.
2333
2334         No new tests, refactoring only.
2335
2336         * Android.v8bindings.mk:
2337         * WebCore.gypi:
2338         * bridge/jni/v8/JavaClassJobjectV8.cpp:
2339         (JavaClassJobject::JavaClassJobject):
2340         (JavaClassJobject::~JavaClassJobject):
2341         (JavaClassJobject::methodsNamed):
2342         (JavaClassJobject::fieldNamed):
2343         * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
2344         * bridge/jni/v8/JavaClassV8.h:
2345         (JSC::Bindings::JavaClass::~JavaClass):
2346         * bridge/jni/v8/JavaInstanceV8.cpp:
2347         (JavaInstance::getClass):
2348
2349 2011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
2350
2351         Unreviewed build fix.
2352
2353         Fix build break when font backend is Pango.
2354         Pango is missed in changeset 80589.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=57609
2357
2358         * platform/graphics/pango/FontPlatformData.h:
2359         (WebCore::FontPlatformData::setOrientation):
2360
2361 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2362
2363         Unreviewed, rolling out r82687.
2364         http://trac.webkit.org/changeset/82687
2365         https://bugs.webkit.org/show_bug.cgi?id=57643
2366
2367         This patch broke accessibility aria-treegrid test in Mac
2368         (Requested by msanchez on #webkit).
2369
2370         * accessibility/AccessibilityARIAGrid.cpp:
2371         * accessibility/AccessibilityARIAGrid.h:
2372         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2373         (atkRole):
2374         * accessibility/mac/AccessibilityObjectWrapper.mm:
2375
2376 2011-03-31  Abhishek Arya  <inferno@chromium.org>
2377
2378         Reviewed by Andreas Kling.
2379
2380         Whenever a relayout is trigger for SVGPath, make sure
2381         to clear its previous marker layout info. This helps
2382         to prevent removed markers from being used.
2383         https://bugs.webkit.org/show_bug.cgi?id=57492
2384
2385         Test: svg/dom/path-marker-removed-crash.svg
2386
2387         * rendering/svg/RenderSVGPath.cpp:
2388         (WebCore::RenderSVGPath::layout):
2389         * rendering/svg/SVGMarkerLayoutInfo.cpp:
2390         (WebCore::SVGMarkerLayoutInfo::clear):
2391         * rendering/svg/SVGMarkerLayoutInfo.h:
2392
2393 2011-04-01  Rob Buis  <rwlbuis@gmail.com>
2394
2395         Reviewed by Nikolas Zimmermann.
2396
2397         https://bugs.webkit.org/show_bug.cgi?id=55750
2398         SVG <image> referenced by <use> is displayed incorrectly
2399
2400         Reintroduce old behaviour for valid base URI, for invalid
2401         keep using document base URI.
2402         Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
2403
2404         Test: svg/custom/image-base-uri.svg
2405
2406         * svg/SVGImageLoader.cpp:
2407         (WebCore::SVGImageLoader::sourceURI):
2408
2409 2011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
2410
2411         Reviewed by Chris Fleizach.
2412
2413         ARIA Grid tables should return GridRole in roleValue() method
2414         https://bugs.webkit.org/show_bug.cgi?id=57614
2415
2416         This change does not need any test since it doesn't change anything
2417         from the point of view of the consumers (Assistive Technoglogies).
2418         It's just an internal change to simplify identifying HTML and ARIA
2419         tables by calling to the AccessibilityObject::roleValue method.
2420
2421         * accessibility/AccessibilityARIAGrid.h:
2422         * accessibility/AccessibilityARIAGrid.cpp:
2423         (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
2424
2425         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2426         (atkRole): Removed unneeded comment.
2427
2428         * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
2429         NSAccessibilityTableRole, to keep the same behaviour.
2430
2431 2011-04-01  MORITA Hajime  <morrita@google.com>
2432
2433         Reviewed by Dimitri Glazkov.
2434
2435         <meter> can only support horizontal indicator
2436         https://bugs.webkit.org/show_bug.cgi?id=56001
2437
2438         - Removed code which deals with the direction and
2439           left the horizontal path.
2440         - Removed "horizontal" from related names which is now
2441           redundant.
2442         
2443         * css/CSSSelector.cpp:
2444         (WebCore::CSSSelector::pseudoId):
2445         (WebCore::nameToPseudoTypeMap):
2446         (WebCore::CSSSelector::extractPseudoType):
2447         * css/CSSSelector.h:
2448         * css/html.css:
2449         (meter::-webkit-meter-bar):
2450         (meter::-webkit-meter-optimum-value):
2451         (meter::-webkit-meter-suboptimal-value):
2452         (meter::-webkit-meter-even-less-good-value):
2453         * rendering/RenderMeter.cpp:
2454         (WebCore::RenderMeter::~RenderMeter):
2455         (WebCore::RenderMeter::createPart):
2456         (WebCore::RenderMeter::updateFromElement):
2457         (WebCore::RenderMeter::layoutParts):
2458         (WebCore::RenderMeter::styleDidChange):
2459         (WebCore::RenderMeter::shouldHaveParts):
2460         (WebCore::RenderMeter::valuePartRect):
2461         (WebCore::RenderMeter::valuePseudoId):
2462         (WebCore::RenderMeter::barPseudoId):
2463         (WebCore::RenderMeter::detachShadows):
2464         (WebCore::RenderMeter::updateShadows):
2465         * rendering/RenderMeter.h:
2466         (WebCore::RenderMeter::shadowAttached):
2467         * rendering/RenderTheme.cpp:
2468         (WebCore::RenderTheme::supportsMeter):
2469         * rendering/RenderTheme.h:
2470         * rendering/RenderThemeMac.h:
2471         * rendering/RenderThemeMac.mm:
2472         (WebCore::RenderThemeMac::paintMeter):
2473         (WebCore::RenderThemeMac::supportsMeter):
2474         * rendering/style/RenderStyleConstants.h:
2475
2476 2011-03-23  Pavel Podivilov  <podivilov@chromium.org>
2477
2478         Reviewed by Pavel Feldman.
2479
2480         Web Inspector: fix reveal line in formatted script.
2481         https://bugs.webkit.org/show_bug.cgi?id=56941
2482
2483         * inspector/front-end/BreakpointsSidebarPane.js:
2484         (WebInspector.JavaScriptBreakpointsSidebarPane):
2485         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
2486         * inspector/front-end/DebuggerPresentationModel.js:
2487         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
2488         * inspector/front-end/NetworkPanel.js:
2489         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
2490         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
2491         * inspector/front-end/Panel.js:
2492         (WebInspector.Panel.prototype.canShowAnchorLocation):
2493         (WebInspector.Panel.prototype.showAnchorLocation):
2494         * inspector/front-end/ResourcesPanel.js:
2495         (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
2496         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
2497         (WebInspector.ResourcesPanel.prototype.showResource):
2498         * inspector/front-end/ScriptsPanel.js:
2499         (WebInspector.ScriptsPanel):
2500         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2501         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2502         (WebInspector.ScriptsPanel.prototype._showSourceLine):
2503         * inspector/front-end/SourceFrame.js:
2504         (WebInspector.SourceFrame.prototype.highlightLine):
2505         (WebInspector.SourceFrame.prototype._createTextViewer):
2506         * inspector/front-end/inspector.js:
2507         (WebInspector.documentClick.followLink):
2508         (WebInspector.documentClick):
2509         (WebInspector._showAnchorLocation):
2510
2511 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
2512
2513         Reviewed by Yury Semikhatsky.
2514
2515         Web Inspector: make editScriptSource a Script's method.
2516         https://bugs.webkit.org/show_bug.cgi?id=57615
2517
2518         * inspector/front-end/DebuggerModel.js:
2519         (WebInspector.DebuggerModel.prototype.editScriptSource):
2520         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2521         * inspector/front-end/Script.js:
2522         (WebInspector.Script.prototype.requestSource):
2523         (WebInspector.Script.prototype.editSource):
2524
2525 2011-04-01  Pavel Feldman  <pfeldman@google.com>
2526
2527         Reviewed by Yury Semikhatsky.
2528
2529         Web Inspector: event should have "data" attribute, not "body"
2530         https://bugs.webkit.org/show_bug.cgi?id=57628
2531
2532         * inspector/CodeGeneratorInspector.pm:
2533
2534 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
2535
2536         Reviewed by Yury Semikhatsky.
2537
2538         Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
2539         https://bugs.webkit.org/show_bug.cgi?id=57610
2540
2541         * inspector/front-end/BreakpointsSidebarPane.js:
2542         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
2543
2544 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
2545
2546         Reviewed by Yury Semikhatsky.
2547
2548         Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
2549         https://bugs.webkit.org/show_bug.cgi?id=40522
2550
2551         Drive-by: fix inc/dec for numbers like ".5"
2552
2553         Test: inspector/styles/up-down-numerics-and-colors.html
2554
2555         * inspector/front-end/StylesSidebarPane.js:
2556         (WebInspector.StylePropertyTreeElement.prototype):
2557
2558 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2559
2560         Reviewed by Pavel Feldman.
2561
2562         Web Inspector: remove dead code from Script.js.
2563         https://bugs.webkit.org/show_bug.cgi?id=57454
2564
2565         * inspector/front-end/DebuggerModel.js:
2566         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2567         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
2568         * inspector/front-end/Script.js:
2569         (WebInspector.Script):
2570         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
2571         (WebInspector.Script.prototype.requestSource):
2572
2573 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2574
2575         Unreviewed, rolling out r82667.
2576         http://trac.webkit.org/changeset/82667
2577         https://bugs.webkit.org/show_bug.cgi?id=57612
2578
2579         Breaks Leopard layout tests (Requested by podivilov on
2580         #webkit).
2581
2582         * GNUmakefile.am:
2583         * inspector/front-end/DebuggerPresentationModel.js:
2584         (WebInspector.DebuggerPresentationModel):
2585         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2586
2587 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2588
2589         Reviewed by Pavel Feldman.
2590
2591         Web Inspector: remove unused SourceFrameContent class.
2592         https://bugs.webkit.org/show_bug.cgi?id=57453
2593
2594         * WebCore.gypi:
2595         * WebCore.vcproj/WebCore.vcproj:
2596         * inspector/front-end/ResourceView.js:
2597         (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
2598         * inspector/front-end/ScriptsPanel.js:
2599         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2600         * inspector/front-end/SourceFrame.js:
2601         (WebInspector.SourceFrame.prototype._createTextViewer):
2602         * inspector/front-end/SourceFrameContent.js: Removed.
2603         * inspector/front-end/WebKit.qrc:
2604         * inspector/front-end/inspector.html:
2605
2606 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2607
2608         Reviewed by Pavel Feldman.
2609
2610         Web Inspector: add test for script formatter worker.
2611         https://bugs.webkit.org/show_bug.cgi?id=57447
2612
2613         Test: inspector/debugger/script-formatter.html
2614
2615         * GNUmakefile.am:
2616         * inspector/front-end/DebuggerPresentationModel.js:
2617         (WebInspector.DebuggerPresentationModel):
2618         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2619
2620 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2621
2622         Reviewed by Pavel Feldman.
2623
2624         Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
2625         https://bugs.webkit.org/show_bug.cgi?id=57446
2626
2627         * inspector/front-end/ScriptFormatterWorker.js:
2628
2629 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
2630
2631         Reviewed by Pavel Feldman.
2632
2633         Web Inspector: allow file access from inspector page so inspector can use workers.
2634         https://bugs.webkit.org/show_bug.cgi?id=57339
2635
2636         * inspector/InspectorFrontendClientLocal.cpp:
2637         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2638
2639 2011-03-31  Yury Semikhatsky  <yurys@chromium.org>
2640
2641         Reviewed by Pavel Feldman.
2642
2643         Web Inspector: inspected page crashes on attempt to log object with broken .toString
2644         https://bugs.webkit.org/show_bug.cgi?id=57557
2645
2646         If ScriptValue.toString causes a JavaScript exception, the exception is cleared
2647         before returning from the toString method.
2648
2649         Test: inspector/console/console-log-toString-object.html
2650
2651         * bindings/js/ScriptValue.cpp:
2652         (WebCore::ScriptValue::toString):
2653         * bindings/js/ScriptValue.h:
2654         * bindings/v8/ScriptValue.cpp:
2655         (WebCore::ScriptValue::toString):
2656
2657 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
2658
2659         Reviewed by Pavel Feldman.
2660
2661         - removed documentWide parameter to querySelector[All]() (user document node id instead)
2662         - factor out document request logic within DOMAgent into separate method
2663         - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
2664         - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
2665         - minor style fixes in Inspector.json
2666         - more error logging
2667
2668         Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
2669         https://bugs.webkit.org/show_bug.cgi?id=57466
2670
2671         * inspector/Inspector.json:
2672         * inspector/InspectorDOMAgent.cpp:
2673         (WebCore::InspectorDOMAgent::querySelector):
2674         (WebCore::InspectorDOMAgent::querySelectorAll):
2675         * inspector/InspectorDOMAgent.h:
2676         * inspector/front-end/AuditRules.js:
2677         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2678         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2679         * inspector/front-end/CSSStyleModel.js:
2680         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
2681         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2682         (WebInspector.CSSStyleModel.prototype.addRule.callback):
2683         (WebInspector.CSSStyleModel.prototype.addRule):
2684         * inspector/front-end/DOMAgent.js:
2685         (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
2686         (WebInspector.DOMAgent.prototype.requestDocument):
2687         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2688         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
2689         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
2690         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
2691         (WebInspector.DOMAgent.prototype.cancelSearch):
2692         (WebInspector.DOMAgent.prototype.querySelector):
2693         (WebInspector.DOMAgent.prototype.querySelectorAll):
2694
2695 2011-04-01  Kent Tamura  <tkent@chromium.org>
2696
2697         Apply sort-Xcode-project-file.
2698
2699         * WebCore.xcodeproj/project.pbxproj:
2700
2701 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2702
2703         Unreviewed, rolling out r82652.
2704         http://trac.webkit.org/changeset/82652
2705         https://bugs.webkit.org/show_bug.cgi?id=57603
2706
2707         Test still fails (Requested by abarth|gardener on #webkit).
2708
2709         * rendering/RenderWidget.cpp:
2710         (WebCore::RenderWidget::setWidget):
2711
2712 2011-03-31  Naoki Takano  <takano.naoki@gmail.com>
2713
2714         Reviewed by Kent Tamura.
2715
2716         REGRESSION (r64712): Safari removes the first blank line in a textarea
2717         https://bugs.webkit.org/show_bug.cgi?id=56434
2718
2719         Test: fast/forms/textarea-newline.html
2720
2721         A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
2722         But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
2723         And devalutValue() removal is not needed anymore.
2724
2725         * html/HTMLTextAreaElement.cpp:
2726         (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
2727         (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
2728
2729 2011-03-31  Luke Macpherson   <macpherson@chromium.org>
2730
2731         Reviewed by Dimitri Glazkov.
2732
2733         Remove refcounting of CSSStyleApplyProperty singleton
2734         https://bugs.webkit.org/show_bug.cgi?id=57592
2735
2736         No new tests required as no functionality changes.
2737
2738         * css/CSSStyleApplyProperty.h:
2739
2740 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
2741
2742         Reviewed by Adam Barth.
2743
2744         https://bugs.webkit.org/show_bug.cgi?id=45855
2745         Windowless plugins added dynamically to the DOM should receive paint events.
2746         This is done by ensuring that the plugin widget is marked for painting when
2747         it is added.
2748
2749         Test: plugins/windowless_plugin_paint_test.html
2750
2751         * rendering/RenderWidget.cpp:
2752         (WebCore::RenderWidget::setWidget):
2753
2754 2011-03-31  Adam Roben  <aroben@apple.com>
2755
2756         Add a new AbstractCACFLayerTreeHost base class
2757
2758         This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
2759         CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
2760         LayerTreeHostCA will also derive from it (on Windows).
2761
2762         This should cause no change in behavior.
2763
2764         Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
2765         code is too high
2766
2767         Reviewed by Anders Carlsson.
2768
2769         * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
2770
2771         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
2772
2773         * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
2774         AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
2775         AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
2776         PlatformCALayer.
2777
2778         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2779         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
2780         (WebCore::LayerChangesFlusher::cancelPendingFlush):
2781         (WebCore::LayerChangesFlusher::hookFired):
2782         * platform/graphics/ca/win/LayerChangesFlusher.h:
2783         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2784         (layerTreeHostForLayer):
2785         (PlatformCALayer::rootLayer):
2786         (PlatformCALayer::setNeedsCommit):
2787         (PlatformCALayer::addAnimationForKey):
2788         (PlatformCALayer::removeAnimationForKey):
2789         Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
2790
2791 2011-03-31  Andy Estes  <aestes@apple.com>
2792
2793         Reviewed by Alexey Proskuryakov.
2794
2795         REGRESSION: Java applet fails to load when <object> has a classid attribute.
2796         https://bugs.webkit.org/show_bug.cgi?id=52703
2797         
2798         Java applets embedded with the object element sometimes use classid to
2799         specify their main resource. When this is done, the classid is prefixed
2800         with "java:". Treat these as supported classids in WebKit.
2801
2802         Test: java/embedding-java-with-object.html
2803
2804         * html/HTMLObjectElement.cpp:
2805         (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
2806         Java Applet type and the classid starts with "java:", the classid
2807         should be considered valid.
2808
2809 2011-03-31  Brent Fulgham  <bfulgham@webkit.org>
2810
2811         Reviewed Adam Roben.
2812
2813         [WinCairo] Implement Missing drawWindowsBitmap method.
2814         https://bugs.webkit.org/show_bug.cgi?id=57409
2815
2816         * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
2817         * platform/graphics/GraphicsContext.h:
2818         (WebCore::GraphicsContext::WindowsBitmap::buffer):
2819         (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
2820         (WebCore::GraphicsContext::WindowsBitmap::size):
2821         (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
2822         (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
2823         (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
2824         * platform/graphics/win/GraphicsContextCGWin.cpp:
2825         (WebCore::CGContextWithHDC):
2826         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
2827         new common routines.
2828         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2829         (WebCore::drawBitmapToContext): New common drawing implementation.
2830         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
2831         new common routines.
2832         (WebCore::GraphicsContext::drawWindowsBitmap):
2833         * platform/graphics/win/GraphicsContextWin.cpp:
2834         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
2835         to use new DIBPixelData data type.
2836         * platform/graphics/win/DIBPixelData.cpp: Added.
2837         (WebCore::DIBPixelData::DIBPixelData):
2838         (WebCore::DIBPixelData::initialize):
2839         * platform/graphics/win/DIBPixelData.h: Added.
2840         (WebCore::DIBPixelData::DIBPixelData):
2841         (WebCore::DIBPixelData::buffer):
2842         (WebCore::DIBPixelData::bufferLength):
2843         (WebCore::DIBPixelData::size):
2844         (WebCore::DIBPixelData::bytesPerRow):
2845         (WebCore::DIBPixelData::bitsPerPixel):
2846
2847 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2848
2849         Unreviewed, rolling out r81849.
2850         http://trac.webkit.org/changeset/81849
2851         https://bugs.webkit.org/show_bug.cgi?id=57588
2852
2853         CSS Parsing broke with -webkit-calc and introduced crashes
2854         (Requested by inferno-sec on #webkit).
2855
2856         * css/CSSGrammar.y:
2857         * css/CSSParserValues.cpp:
2858         * css/CSSParserValues.h:
2859         * css/tokenizer.flex:
2860
2861 2011-03-31  Adam Roben  <aroben@apple.com>
2862
2863         Don't ref CACFLayerTreeHosts when telling them to flush layer changes
2864
2865         LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
2866         have protected us if calling out to one CACFLayerTreeHost could cause a different
2867         CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
2868         associated with its own page, and flushing layer changes doesn't touch any other page. So it
2869         isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
2870         changes.
2871
2872         One benefit of this change is that it will make it easier to make LayerChangesFlusher
2873         interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
2874
2875         This should cause no change in behavior.
2876
2877         Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
2878         before calling out to it
2879
2880         Reviewed by Darin Adler.
2881
2882         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2883         (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
2884         CACFLayerTreeHosts.
2885
2886 2011-03-31  Antti Koivisto  <antti@apple.com>
2887
2888         Reviewed by Oliver Hunt.
2889
2890         https://bugs.webkit.org/show_bug.cgi?id=57574
2891         Preload scanner fails to pick up resources from document.write() output
2892
2893         - Scan script inserted source using a separate preload scanner.
2894         - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
2895
2896         Tests: fast/preloader/document-write-2.html
2897                fast/preloader/document-write.html
2898
2899         * html/parser/HTMLDocumentParser.cpp:
2900         (WebCore::HTMLDocumentParser::insert):
2901         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
2902         * html/parser/HTMLDocumentParser.h:
2903         (WebCore::HTMLDocumentParser::hasPreloadScanner):
2904         * html/parser/HTMLScriptRunner.cpp:
2905         (WebCore::HTMLScriptRunner::execute):
2906         * html/parser/HTMLScriptRunnerHost.h:
2907
2908 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
2909
2910         Build fix: Add missing include
2911         https://bugs.webkit.org/show_bug.cgi?id=57587
2912
2913         * loader/cache/CachedResourceLoader.cpp:
2914
2915 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
2916
2917         Reviewed by Antti Koivisto.
2918
2919         PreloadScanner doesn&apos;t find image while executing script in head
2920         https://bugs.webkit.org/show_bug.cgi?id=45072
2921
2922         Previously, while parsing the head, no resources in the body would be
2923         preloaded. After this patch, we will preload scripts and styles in the
2924         body, although we continue to hold off on all images until the page is 
2925         first rendered.
2926
2927         To evaluate this change, I've recorded a sampling of 45 of alexa's top
2928         sites and replayed them under simulated bandwidth conditions, loading
2929         each 5-15 times until stddev is small enough.
2930
2931         Time to the load event improved at the overall average by 3%.
2932         Most sites are unchanged, but sites with certain blocking patterns had
2933         big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
2934         nytimes 7% (182ms).
2935
2936         Time to DOM content loaded event improved by 6% with some even bigger
2937         individual wins.
2938
2939         First paint time held steady.
2940
2941         Note that I originally wanted to allow preloading of images while in the
2942         head, but that regressed first paint time (even though it was better for
2943         overall load time).
2944
2945         Test: fast/preloader/scan-body-from-head.html
2946
2947         * loader/cache/CachedResourceLoader.cpp:
2948         (WebCore::CachedResourceLoader::preload):
2949
2950 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2951
2952         Unreviewed, rolling out r82616.
2953         http://trac.webkit.org/changeset/82616
2954         https://bugs.webkit.org/show_bug.cgi?id=57585
2955
2956         New test does not pass on Gtk, chromium-mac, chromium-linux
2957         and possibly elsewhere (Requested by abarth|gardener on
2958         #webkit).
2959
2960         * rendering/RenderWidget.cpp:
2961         (WebCore::RenderWidget::setWidget):
2962
2963 2011-03-31  Adrienne Walker  <enne@google.com>
2964
2965         Reviewed by James Robinson.
2966
2967         [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
2968         https://bugs.webkit.org/show_bug.cgi?id=57577
2969
2970         LayerRendererChromium now uses a RefPtr to preserve ownership of all
2971         of the CCLayerImpl layers that it is using during the update/draw
2972         pass.  Addtionally, when a LayerChromium is destroyed, the weak
2973         owner pointer from its CCLayerImpl is correctly unset.
2974
2975         * platform/graphics/chromium/LayerRendererChromium.cpp:
2976         (WebCore::LayerRendererChromium::compareLayerZ):
2977         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2978         (WebCore::LayerRendererChromium::updateLayers):
2979         (WebCore::LayerRendererChromium::drawLayers):
2980         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2981         (WebCore::LayerRendererChromium::drawLayer):
2982         * platform/graphics/chromium/LayerRendererChromium.h:
2983         * platform/graphics/chromium/RenderSurfaceChromium.h:
2984         * platform/graphics/chromium/VideoLayerChromium.cpp:
2985         (WebCore::VideoLayerChromium::updateCompositorResources):
2986         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2987         (WebCore::CCLayerImpl::drawsContent):
2988         (WebCore::CCLayerImpl::cleanupResources):
2989
2990 2011-03-31  Sam Weinig  <sam@webkit.org>
2991
2992         Reviewed by Anders Carlsson.
2993
2994         Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
2995         https://bugs.webkit.org/show_bug.cgi?id=57582
2996
2997         * platform/DefaultLocalizationStrategy.cpp:
2998         * platform/LocalizedStrings.h:
2999
3000 2011-03-31  Eric Seidel  <eric@webkit.org>
3001
3002         Reviewed by Ryosuke Niwa.
3003
3004         Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
3005         https://bugs.webkit.org/show_bug.cgi?id=57550
3006
3007         * platform/text/BidiResolver.h:
3008         (WebCore::::createBidiRunsForLine):
3009
3010 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
3011
3012         Reviewed by James Robinson.
3013
3014         https://bugs.webkit.org/show_bug.cgi?id=45855
3015         Windowless plugins added dynamically to the DOM should receive paint events.
3016         This is done by ensuring that the plugin widget is marked for painting when
3017         it is added.
3018
3019         Test: plugins/windowless_plugin_paint_test.html
3020
3021         * rendering/RenderWidget.cpp:
3022         (WebCore::RenderWidget::setWidget):
3023
3024 2011-03-31  Stephen White  <senorblanco@chromium.org>
3025
3026         Reviewed by Kenneth Russell.
3027
3028         Speed up accelerated path drawing.
3029         https://bugs.webkit.org/show_bug.cgi?id=57371
3030         This CL does three things:  re-uses the same vertex and index buffer
3031         for all path draws, converts all vertex layouts from vec3 to vec2, and
3032         does a convexity check for polygons before passing them to the
3033         tesselator.
3034
3035         Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
3036
3037         * platform/graphics/chromium/GLES2Canvas.cpp:
3038         Replace the Vector<double> for interpolated curves with a
3039         Vector<FloatPoint>.
3040         (WebCore::Cubic::evaluate):
3041         Inline the evaluation function (as Quadratic does).
3042         (WebCore::GLES2Canvas::GLES2Canvas):
3043         Initialize the m_pathIndexBuffer.
3044         (WebCore::GLES2Canvas::~GLES2Canvas):
3045         Delete the path vertex and index buffers on destruction.
3046         (WebCore::interpolateQuadratic):
3047         (WebCore::interpolateCubic):
3048         Interpolate directly to a Vector<FloatPoint>, rather than
3049         Vector<double>.
3050         (WebCore::PolygonData::PolygonData):
3051         (WebCore::combineData):
3052         Replace the DoubleVector with a FloatPointVector.
3053         (WebCore::GLES2Canvas::tesselateAndFillPath):
3054         Move curve drawing into this function, and rename it to reflect the
3055         new behaviour.  Re-use the common vertex and index buffers.  If the
3056         curve consists of a single convex polygon, draw the curve as a single
3057         triangle fan.  Otherwise, convert it to doubles and pass it to the
3058         tesselator.
3059         (WebCore::GLES2Canvas::fillPathInternal):
3060         * platform/graphics/chromium/GLES2Canvas.h:
3061         Rename createVertexBufferFromPath() -> tesselateAndFillPath().
3062         Add a persistent index buffer for all path draws.
3063         * platform/graphics/gpu/BicubicShader.cpp:
3064         (WebCore::BicubicShader::create):
3065         (WebCore::BicubicShader::use):
3066         * platform/graphics/gpu/ConvolutionShader.cpp:
3067         (WebCore::ConvolutionShader::create):
3068         (WebCore::ConvolutionShader::use):
3069         Use vec2s instead of vec3s for all vertex data.
3070         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3071         (WebCore::LoopBlinnMathUtils::convexCompare):
3072         (WebCore::LoopBlinnMathUtils::convexCross):
3073         (WebCore::LoopBlinnMathUtils::convexCheckTriple):
3074         (WebCore::LoopBlinnMathUtils::isConvex):
3075         * platform/graphics/gpu/LoopBlinnMathUtils.h:
3076         Implement a convexity check, based on the code in Graphics Gems IV.
3077         * platform/graphics/gpu/Shader.cpp:
3078         (WebCore::Shader::generateVertex):
3079         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3080         (WebCore::SharedGraphicsContext3D::useQuadVertices):
3081         * platform/graphics/gpu/SolidFillShader.cpp:
3082         (WebCore::SolidFillShader::use):
3083         * platform/graphics/gpu/TexShader.cpp:
3084         (WebCore::TexShader::use):
3085         Use vec2s instead of vec3s for all vertex data.
3086
3087 2011-03-31  David Hyatt  <hyatt@apple.com>
3088
3089         Reviewed by Simon Fraser.
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=57565
3092
3093         Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
3094         to check the line for overflow in the first place.
3095         
3096         For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
3097         all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
3098         replaced objects to be inside spans without triggering overflow allocation.
3099         
3100         The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
3101         dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
3102         lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
3103         back up to the root box to fetch them.
3104         
3105         Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
3106         possibly be present.  When the bit is set, computeOverflow will just immediately return.
3107  
3108         This change speeds up line layout by ~10%.
3109
3110         * rendering/EllipsisBox.cpp:
3111         (WebCore::EllipsisBox::paint):
3112         (WebCore::EllipsisBox::nodeAtPoint):
3113         * rendering/EllipsisBox.h:
3114         * rendering/InlineBox.cpp:
3115         (WebCore::InlineBox::paint):
3116         (WebCore::InlineBox::nodeAtPoint):
3117         (WebCore::InlineBox::clearKnownToHaveNoOverflow):
3118         * rendering/InlineBox.h:
3119         (WebCore::InlineBox::InlineBox):
3120         (WebCore::InlineBox::logicalFrameRect):
3121         (WebCore::InlineBox::knownToHaveNoOverflow):
3122         * rendering/InlineFlowBox.cpp:
3123         (WebCore::InlineFlowBox::addToLine):
3124         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3125         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3126         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3127         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3128         (WebCore::InlineFlowBox::addReplacedChildOverflow):
3129         (WebCore::InlineFlowBox::computeOverflow):
3130         (WebCore::InlineFlowBox::setLayoutOverflow):
3131         (WebCore::InlineFlowBox::setVisualOverflow):
3132         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
3133         (WebCore::InlineFlowBox::nodeAtPoint):
3134         (WebCore::InlineFlowBox::paint):
3135         * rendering/InlineFlowBox.h:
3136         (WebCore::InlineFlowBox::layoutOverflowRect):
3137         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
3138         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
3139         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
3140         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
3141         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
3142         (WebCore::InlineFlowBox::visualOverflowRect):
3143         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
3144         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
3145         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
3146         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
3147         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
3148         (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
3149         (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
3150         * rendering/InlineTextBox.cpp:
3151         (WebCore::InlineTextBox::nodeAtPoint):
3152         (WebCore::InlineTextBox::paint):
3153         * rendering/InlineTextBox.h:
3154         * rendering/RenderBlock.cpp:
3155         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
3156         (WebCore::RenderBlock::paintEllipsisBoxes):
3157         (WebCore::RenderBlock::adjustLinePositionForPagination):
3158         * rendering/RenderBlock.h:
3159         * rendering/RenderBlockLineLayout.cpp:
3160         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3161         (WebCore::RenderBlock::layoutInlineChildren):
3162         (WebCore::RenderBlock::determineStartPosition):
3163         (WebCore::RenderBlock::matchedEndLine):
3164         (WebCore::RenderBlock::addOverflowFromInlineChildren):
3165         * rendering/RenderBox.h:
3166         (WebCore::RenderBox::hasRenderOverflow):
3167         * rendering/RenderBoxModelObject.cpp:
3168         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3169         * rendering/RenderInline.cpp:
3170         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3171         * rendering/RenderLineBoxList.cpp:
3172         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
3173         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
3174         (WebCore::RenderLineBoxList::paint):
3175         (WebCore::RenderLineBoxList::hitTest):
3176         * rendering/RenderListItem.cpp:
3177         (WebCore::RenderListItem::positionListMarker):
3178         * rendering/RootInlineBox.cpp:
3179         (WebCore::RootInlineBox::paintEllipsisBox):
3180         (WebCore::RootInlineBox::addHighlightOverflow):
3181         (WebCore::RootInlineBox::paint):
3182         (WebCore::RootInlineBox::nodeAtPoint):
3183         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3184         * rendering/RootInlineBox.h:
3185         (WebCore::RootInlineBox::logicalTopVisualOverflow):
3186         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
3187         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
3188         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
3189         * rendering/svg/SVGInlineFlowBox.cpp:
3190         (WebCore::SVGInlineFlowBox::paint):
3191         * rendering/svg/SVGInlineFlowBox.h:
3192         * rendering/svg/SVGInlineTextBox.cpp:
3193         (WebCore::SVGInlineTextBox::paint):
3194         * rendering/svg/SVGInlineTextBox.h:
3195         * rendering/svg/SVGRootInlineBox.cpp:
3196         (WebCore::SVGRootInlineBox::paint):
3197         * rendering/svg/SVGRootInlineBox.h:
3198
3199 2011-03-31  Pavel Feldman  <pfeldman@chromium.org>
3200
3201         Reviewed by Yury Semikhatsky.
3202
3203         Web Inspector: disable properties abbreviation.
3204         https://bugs.webkit.org/show_bug.cgi?id=57525
3205
3206         * inspector/InjectedScript.cpp:
3207         (WebCore::InjectedScript::getProperties):
3208         * inspector/InjectedScript.h:
3209         * inspector/InjectedScriptSource.js:
3210         (.):
3211         ():
3212         * inspector/Inspector.json:
3213         * inspector/InspectorRuntimeAgent.cpp:
3214         (WebCore::InspectorRuntimeAgent::getProperties):
3215         * inspector/InspectorRuntimeAgent.h:
3216         * inspector/front-end/ConsoleView.js:
3217         (WebInspector.ConsoleView.prototype.completions.evaluated):
3218         (WebInspector.ConsoleView.prototype._formatarray):
3219         * inspector/front-end/ObjectPropertiesSection.js:
3220         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
3221         (WebInspector.ObjectPropertiesSection.prototype.update):
3222         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3223         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3224         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
3225         * inspector/front-end/PropertiesSidebarPane.js:
3226         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
3227         * inspector/front-end/RemoteObject.js:
3228         (WebInspector.RemoteObject.prototype.getOwnProperties):
3229         (WebInspector.RemoteObject.prototype.getAllProperties):
3230         (WebInspector.RemoteObject.prototype._getProperties):
3231         (WebInspector.LocalJSONObject.prototype.getOwnProperties):
3232         (WebInspector.LocalJSONObject.prototype.getAllProperties):
3233         * inspector/front-end/inspector.css:
3234         (.console-formatted-string, .console-formatted-regexp):
3235
3236 2011-03-31  Adam Roben  <aroben@apple.com>
3237
3238         Update WKCACFViewLayerTreeHost for changes to WKCACFView API
3239
3240         This should not result in any change in behavior.
3241
3242         Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
3243         render
3244
3245         Reviewed by Darin Adler.
3246
3247         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
3248         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
3249         render into the window we give it.
3250
3251 2011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
3252
3253         Reviewed by Kenneth Rohde Christiansen.
3254
3255         [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
3256         https://bugs.webkit.org/show_bug.cgi?id=57017
3257
3258         Build fix. No new tests.
3259
3260         * WebCore.pri:
3261
3262 2011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
3263
3264         Reviewed by Pavel Feldman.
3265
3266         XML viewer is not shown when frame has non-null opener
3267         https://bugs.webkit.org/show_bug.cgi?id=56384
3268
3269         Removed opener check in XML viewer
3270
3271         Test: http/tests/xmlviewer/extensions-api.html
3272
3273         * xml/XMLTreeViewer.cpp:
3274         (WebCore::XMLTreeViewer::hasNoStyleInformation):
3275         * xml/XMLViewer.js:
3276
3277 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3278
3279         Unreviewed, rolling out r82589.
3280         http://trac.webkit.org/changeset/82589
3281         https://bugs.webkit.org/show_bug.cgi?id=57564
3282
3283         This patch requires many more updated results than it contains
3284         (Requested by abarth|gardener on #webkit).
3285
3286         * css/CSSSelector.cpp:
3287         (WebCore::CSSSelector::pseudoId):
3288         (WebCore::nameToPseudoTypeMap):
3289         (WebCore::CSSSelector::extractPseudoType):
3290         * css/CSSSelector.h:
3291         * css/html.css:
3292         (meter::-webkit-meter-horizontal-bar):
3293         (meter::-webkit-meter-vertical-bar):
3294         (meter::-webkit-meter-horizontal-optimum-value):
3295         (meter::-webkit-meter-horizontal-suboptimal-value):
3296         (meter::-webkit-meter-horizontal-even-less-good-value):
3297         (meter::-webkit-meter-vertical-optimum-value):
3298         (meter::-webkit-meter-vertical-suboptimal-value):
3299         (meter::-webkit-meter-vertical-even-less-good-value):
3300         * rendering/RenderMeter.cpp:
3301         (WebCore::MeterPartElement::MeterPartElement):
3302         (WebCore::MeterPartElement::createForPart):
3303         (WebCore::MeterPartElement::hide):
3304         (WebCore::MeterPartElement::restoreVisibility):
3305         (WebCore::MeterPartElement::updateStyleForPart):
3306         (WebCore::MeterPartElement::saveVisibility):
3307         (WebCore::RenderMeter::~RenderMeter):
3308         (WebCore::RenderMeter::createPart):
3309         (WebCore::RenderMeter::updateFromElement):
3310         (WebCore::RenderMeter::layoutParts):
3311         (WebCore::RenderMeter::shouldHaveParts):
3312         (WebCore::RenderMeter::valuePartRect):
3313         (WebCore::RenderMeter::orientation):
3314         (WebCore::RenderMeter::valuePseudoId):
3315         (WebCore::RenderMeter::barPseudoId):
3316         * rendering/RenderMeter.h:
3317         (WebCore::RenderMeter::shadowAttached):
3318         * rendering/RenderTheme.cpp:
3319         (WebCore::RenderTheme::supportsMeter):
3320         * rendering/RenderTheme.h:
3321         * rendering/RenderThemeMac.h:
3322         * rendering/RenderThemeMac.mm:
3323         (WebCore::RenderThemeMac::paintMeter):
3324         (WebCore::RenderThemeMac::supportsMeter):
3325         * rendering/style/RenderStyleConstants.h:
3326
3327 2011-03-31  Xan Lopez  <xlopez@igalia.com>
3328
3329         Reviewed by Martin Robinson.
3330
3331         [GTK] Link explicitly with XRender on Linux/Unix
3332         https://bugs.webkit.org/show_bug.cgi?id=57558
3333
3334         * GNUmakefile.am: add XRender CFLAGS.
3335
3336 2011-03-31  Eric Seidel  <eric@webkit.org>
3337
3338         Reviewed by Ryosuke Niwa.
3339
3340         Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
3341         https://bugs.webkit.org/show_bug.cgi?id=57549
3342
3343         * platform/text/BidiResolver.h:
3344         (WebCore::BidiResolver::BidiResolver):
3345         (WebCore::::appendRun):
3346         (WebCore::::lowerExplicitEmbeddingLevel):
3347         (WebCore::::raiseExplicitEmbeddingLevel):
3348         (WebCore::::deleteRuns):
3349         (WebCore::::createBidiRunsForLine):
3350         * rendering/InlineIterator.h:
3351         (WebCore::InlineBidiResolver::appendRun):
3352
3353 2011-03-31  Tom Sepez  <tsepez@chromium.org>
3354
3355         Reviewed by Eric Seidel.
3356
3357         Make ContainerNode::insertIntoDocument() collect all nodes before
3358         operating on any of them.  Add small helper function and use it
3359         througout the file where this action is already taking place.
3360         https://bugs.webkit.org/show_bug.cgi?id=57265
3361         
3362         Test: svg/dom/range-delete.html
3363
3364         * dom/ContainerNode.cpp:
3365         (WebCore::collectNodes):
3366         (WebCore::collectTargetNodes):
3367         (WebCore::ContainerNode::takeAllChildrenFrom):
3368         (WebCore::willRemoveChildren):
3369         (WebCore::ContainerNode::insertedIntoDocument):
3370
3371 2011-03-31  Satish Sampath  <satish@chromium.org>
3372
3373         Reviewed by Steve Block.
3374
3375         While drawing a speech input button, validate that the node is really a speech input button.
3376         https://bugs.webkit.org/show_bug.cgi?id=57469
3377
3378         Test: fast/speech/speech-style-on-non-speech-elements.html
3379
3380         * dom/Element.h:
3381         (WebCore::Element::isInputFieldSpeechButtonElement):
3382         * html/shadow/TextControlInnerElements.h:
3383         (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
3384         (WebCore::toInputFieldSpeechButtonElement):
3385         * rendering/RenderInputSpeech.cpp:
3386         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
3387
3388 2011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
3389
3390         Build fix after r82588. Reverted unintentional change.
3391
3392         * editing/SelectionController.cpp:
3393         (WebCore::SelectionController::modifyMovingLeft):
3394
3395 2011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
3396
3397         Reviewed by Xan Lopez.
3398
3399         [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
3400         https://bugs.webkit.org/show_bug.cgi?id=57534
3401
3402         Fix compilation warnings.
3403
3404         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3405         (getAttributeSetForAccessibilityObject): Add unhandled cases.
3406
3407 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
3408
3409         Reviewed by Pavel Feldman.
3410
3411         Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
3412         https://bugs.webkit.org/show_bug.cgi?id=57444
3413
3414         * bindings/js/ScriptDebugServer.cpp:
3415         (WebCore::ScriptDebugServer::editScriptSource):
3416         * bindings/js/ScriptDebugServer.h:
3417         * bindings/v8/ScriptDebugServer.cpp:
3418         (WebCore::ScriptDebugServer::editScriptSource):
3419         * bindings/v8/ScriptDebugServer.h:
3420         * inspector/Inspector.json:
3421         * inspector/InspectorDebuggerAgent.cpp:
3422         (WebCore::InspectorDebuggerAgent::editScriptSource):
3423         * inspector/InspectorDebuggerAgent.h:
3424         * inspector/front-end/DebuggerModel.js:
3425         (WebInspector.DebuggerModel.prototype.editScriptSource):
3426         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
3427         * inspector/front-end/DebuggerPresentationModel.js:
3428         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
3429         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
3430         * inspector/front-end/SourceFrame.js:
3431         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
3432         (WebInspector.SourceFrame.prototype._handleSave):
3433
3434 2011-03-30  MORITA Hajime <morrita@google.com>
3435
3436         Reviewed by Dimitri Glazkov.
3437
3438         <meter> can only support horizontal indicator
3439         https://bugs.webkit.org/show_bug.cgi?id=56001
3440
3441         - Removed code which deals with the direction and
3442           left the horizontal path.
3443         - Removed "horizontal" from related names which is now
3444           redundant.
3445         
3446         * css/CSSSelector.cpp:
3447         (WebCore::CSSSelector::pseudoId):
3448         (WebCore::nameToPseudoTypeMap):
3449         (WebCore::CSSSelector::extractPseudoType):
3450         * css/CSSSelector.h:
3451         * css/html.css:
3452         (meter::-webkit-meter-bar):
3453         (meter::-webkit-meter-optimum-value):
3454         (meter::-webkit-meter-suboptimal-value):
3455         (meter::-webkit-meter-even-less-good-value):
3456         * rendering/RenderMeter.cpp:
3457         (WebCore::RenderMeter::~RenderMeter):
3458         (WebCore::RenderMeter::createPart):
3459         (WebCore::RenderMeter::updateFromElement):
3460         (WebCore::RenderMeter::layoutParts):
3461         (WebCore::RenderMeter::styleDidChange):
3462         (WebCore::RenderMeter::shouldHaveParts):
3463         (WebCore::RenderMeter::valuePartRect):
3464         (WebCore::RenderMeter::valuePseudoId):
3465         (WebCore::RenderMeter::barPseudoId):
3466         (WebCore::RenderMeter::detachShadows):
3467         (WebCore::RenderMeter::updateShadows):
3468         * rendering/RenderMeter.h:
3469         (WebCore::RenderMeter::shadowAttached):
3470         * rendering/RenderTheme.cpp:
3471         (WebCore::RenderTheme::supportsMeter):
3472         * rendering/RenderTheme.h:
3473         * rendering/RenderThemeMac.h:
3474         * rendering/RenderThemeMac.mm:
3475         (WebCore::RenderThemeMac::paintMeter):
3476         (WebCore::RenderThemeMac::supportsMeter):
3477         * rendering/style/RenderStyleConstants.h:
3478
3479 2011-03-30  Xiaomei Ji  <xji@chromium.org>
3480
3481         Reviewed by Ryosuke Niwa.
3482
3483         Experiment with moving caret by word in visual order.
3484         https://bugs.webkit.org/show_bug.cgi?id=57336
3485
3486         Follow Firefox's convention in Windows, 
3487         In LTR block, word break visually moves cursor to the left boundary of words,
3488         In RTL block, word break visually moves cursor to the right boundary of words.
3489
3490         This is the 1st version of implementing "move caret by word in visual order".
3491         It only works in the following situation:
3492         1. For a LTR box in a LTR block or a RTL box in RTL block, 
3493         when caret is at the left boundary of the box and we are looking for 
3494         the word boundary in right.
3495         2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
3496         of the box and we are looking for the word boundary in left and 
3497         previous box is a LTR box.
3498         3. For a LTR or RTL box in a RTL block, when the caret is at the right 
3499         boundary of the box and we are looking for the word boundary in right and next box is RTL box.
3500
3501         An experimental granularity is introduced, as a side effect, functions having switch statements
3502         to handle those granularities have to add more one case to handle this new granularity.
3503         The experimental granularity is exposed though JS by '-webkit-visual-word".
3504
3505         The overall algorithm is looping through inline boxes visually and looking
3506         for the visually nearest word break position. 
3507
3508         Test: editing/selection/move-by-word-visually.html
3509
3510         * editing/SelectionController.cpp:
3511         (WebCore::SelectionController::modifyExtendingRight):
3512         (WebCore::SelectionController::modifyExtendingForward):
3513         (WebCore::SelectionController::modifyMovingRight):
3514         (WebCore::SelectionController::modifyMovingForward):
3515         (WebCore::SelectionController::modifyExtendingLeft):
3516         (WebCore::SelectionController::modifyExtendingBackward):
3517         (WebCore::SelectionController::modifyMovingLeft):
3518         (WebCore::SelectionController::modifyMovingBackward):
3519         * editing/TextGranularity.h:
3520         * editing/VisibleSelection.cpp:
3521         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3522         * editing/visible_units.cpp:
3523         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
3524         (WebCore::wordBoundaryInBox):
3525         (WebCore::wordBoundaryInAdjacentBoxes):
3526         (WebCore::leftWordBoundary):
3527         (WebCore::rightWordBoundary):
3528         (WebCore::leftWordPosition):
3529         (WebCore::rightWordPosition):
3530         * editing/visible_units.h:
3531         * page/DOMSelection.cpp:
3532         (WebCore::DOMSelection::modify):
3533
3534 2011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
3535
3536         Reviewed by Darin Adler.
3537
3538         Move coordinate-computing logic into MouseRelatedEvent.
3539         https://bugs.webkit.org/show_bug.cgi?id=57521
3540
3541         Refactoring, covered by existing tests.
3542
3543         * dom/EventDispatcher.cpp:
3544         (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
3545             coordinates out.
3546         (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
3547         * dom/MouseEvent.cpp:
3548         (WebCore::MouseEvent::create): Add coordinate-computing logic.
3549         * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
3550         * dom/MouseRelatedEvent.cpp:
3551         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
3552         * page/EventHandler.cpp:
3553         (WebCore::EventHandler::dispatchDragEvent): Ditto.
3554
3555 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
3556
3557         Reviewed by Pavel Feldman.
3558
3559         Web Inspector: document CSS agent.
3560         https://bugs.webkit.org/show_bug.cgi?id=57435
3561
3562         * inspector/Inspector.json:
3563
3564 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
3565
3566         Reviewed by Yury Semikhatsky.
3567
3568         Web Inspector: remove periods at the end of error messages
3569         https://bugs.webkit.org/show_bug.cgi?id=57544
3570
3571         * inspector/InjectedScript.cpp:
3572         (WebCore::InjectedScript::getProperties):
3573         (WebCore::InjectedScript::makeObjectCall):
3574         * inspector/InspectorCSSAgent.cpp:
3575         (WebCore::InspectorCSSAgent::elementForId):
3576         (WebCore::InspectorCSSAgent::styleSheetForId):
3577         * inspector/InspectorDOMAgent.cpp:
3578         (WebCore::InspectorDOMAgent::assertNode):
3579         (WebCore::InspectorDOMAgent::assertElement):
3580         (WebCore::InspectorDOMAgent::assertHTMLElement):
3581         (WebCore::InspectorDOMAgent::querySelector):
3582         (WebCore::InspectorDOMAgent::querySelectorAll):
3583         (WebCore::InspectorDOMAgent::setAttribute):
3584         (WebCore::InspectorDOMAgent::removeAttribute):
3585         (WebCore::InspectorDOMAgent::removeNode):
3586         (WebCore::InspectorDOMAgent::setNodeValue):
3587         * inspector/InspectorDebuggerAgent.cpp:
3588         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
3589         * inspector/InspectorResourceAgent.cpp:
3590         (WebCore::InspectorResourceAgent::resourceContent):
3591         (WebCore::InspectorResourceAgent::resourceContentBase64):
3592         (WebCore::InspectorResourceAgent::getResourceContent):
3593         * inspector/InspectorRuntimeAgent.cpp:
3594         (WebCore::InspectorRuntimeAgent::setPropertyValue):
3595
3596 2011-03-31  Evan Martin  <evan@chromium.org>
3597
3598         Reviewed by Eric Seidel.
3599
3600         <title> should support dir attribute
3601         https://bugs.webkit.org/show_bug.cgi?id=50961
3602
3603         Introduce a new StringWithDirection object that carries a String along
3604         with the TextDirection associated with the String.  Use this object for
3605         document titles used within WebCore, because in HTML the direction of
3606         a title can be set with the 'dir' attribute.
3607
3608         Put FIXMEs at the WebKit level to expose the new direction information
3609         to clients.
3610
3611         No behavioral change intended, so no new tests.  A follow-up will expose
3612         the title direction and hopefully can be accompanied by tests that
3613         verify it is correct.
3614
3615         * dom/Document.cpp:
3616         (WebCore::Document::Document):
3617         (WebCore::Document::updateTitle):
3618         (WebCore::Document::setTitle):
3619         (WebCore::Document::removeTitle):
3620         * dom/Document.h:
3621         (WebCore::Document::title):
3622         * html/HTMLTitleElement.cpp:
3623         (WebCore::HTMLTitleElement::HTMLTitleElement):
3624         (WebCore::HTMLTitleElement::childrenChanged):
3625         (WebCore::HTMLTitleElement::text):
3626         (WebCore::HTMLTitleElement::textWithDirection):
3627         * html/HTMLTitleElement.h:
3628         * loader/DocumentLoader.cpp:
3629         (WebCore::DocumentLoader::setTitle):
3630         * loader/DocumentLoader.h:
3631         (WebCore::DocumentLoader::title):
3632         * loader/EmptyClients.h:
3633         (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
3634         (WebCore::EmptyFrameLoaderClient::setTitle):
3635         * loader/FrameLoader.cpp:
3636         (WebCore::FrameLoader::receivedFirstData):
3637         (WebCore::FrameLoader::commitProvisionalLoad):
3638         (WebCore::FrameLoader::setTitle):
3639         * loader/FrameLoader.h:
3640         * loader/FrameLoaderClient.h:
3641         * loader/HistoryController.cpp:
3642         (WebCore::HistoryController::updateForBackForwardNavigation):
3643         (WebCore::HistoryController::updateForReload):
3644         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
3645         (WebCore::HistoryController::updateForClientRedirect):
3646         (WebCore::HistoryController::updateForCommit):
3647         (WebCore::HistoryController::setCurrentItemTitle):
3648         (WebCore::HistoryController::initializeItem):
3649         * loader/HistoryController.h:
3650         * platform/text/StringWithDirection.h: Added.
3651         (WebCore::StringWithDirection::StringWithDirection):
3652         (WebCore::StringWithDirection::operator==):
3653         (WebCore::StringWithDirection::operator!=):
3654         * svg/SVGTitleElement.cpp:
3655         (WebCore::SVGTitleElement::insertedIntoDocument):
3656         (WebCore::SVGTitleElement::childrenChanged):
3657
3658 2011-03-31  Alexander Pavlov  <apavlov@chromium.org>
3659
3660         Reviewed by Yury Semikhatsky.
3661
3662         Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
3663         https://bugs.webkit.org/show_bug.cgi?id=57538
3664
3665         * inspector/InspectorStyleSheet.cpp:
3666         (WebCore::buildSourceRangeObject):
3667         (WebCore::InspectorStyle::buildObjectForStyle):
3668         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3669         * inspector/front-end/AuditRules.js:
3670         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3671         * inspector/front-end/CSSStyleModel.js:
3672         (WebInspector.CSSStyleDeclaration):
3673
3674 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3675
3676         Unreviewed, rolling out r82565.
3677         http://trac.webkit.org/changeset/82565
3678         https://bugs.webkit.org/show_bug.cgi?id=57541
3679
3680         Caused assertion failures. (Requested by bbandix on #webkit).
3681
3682         * platform/graphics/filters/FEFlood.cpp:
3683         (WebCore::FEFlood::setFloodColor):
3684         (WebCore::FEFlood::setFloodOpacity):
3685         * platform/graphics/filters/FEFlood.h:
3686         * platform/graphics/filters/FESpecularLighting.cpp:
3687         (WebCore::FESpecularLighting::setLightingColor):
3688         * platform/graphics/filters/FESpecularLighting.h:
3689         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3690         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3691         * rendering/svg/SVGResourcesCache.cpp:
3692         (WebCore::SVGResourcesCache::clientStyleChanged):
3693         * svg/SVGFEDiffuseLightingElement.cpp:
3694         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3695         * svg/SVGFEFloodElement.cpp:
3696         * svg/SVGFEFloodElement.h:
3697         * svg/SVGFESpecularLightingElement.cpp:
3698         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3699
3700 2011-03-31  Renata Hodovan  <reni@webkit.org>
3701
3702         Reviewed by Dirk Schulze.
3703
3704         CSS related SVG*Element changes doesn't require relayout
3705         https://bugs.webkit.org/show_bug.cgi?id=56906
3706
3707         The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
3708         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
3709         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
3710         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
3711
3712         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
3713                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
3714                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
3715                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
3716
3717         * platform/graphics/filters/FEFlood.cpp:
3718         (WebCore::FEFlood::setFloodColor):
3719         (WebCore::FEFlood::setFloodOpacity):
3720         * platform/graphics/filters/FEFlood.h:
3721         * platform/graphics/filters/FESpecularLighting.cpp:
3722         (WebCore::FESpecularLighting::setLightingColor):
3723         * platform/graphics/filters/FESpecularLighting.h:
3724         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3725         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
3726         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3727         * rendering/svg/SVGResourcesCache.cpp:
3728         (WebCore::SVGResourcesCache::clientStyleChanged):
3729         * svg/SVGFEDiffuseLightingElement.cpp:
3730         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3731         * svg/SVGFEFloodElement.cpp:
3732         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
3733         * svg/SVGFEFloodElement.h:
3734         * svg/SVGFESpecularLightingElement.cpp:
3735         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3736
3737 2011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
3738
3739         Reviewed by Pavel Feldman.
3740
3741         XML Viewer: declared namespaces are not rendered.
3742         https://bugs.webkit.org/show_bug.cgi?id=56262
3743
3744         XML viewer rewritten on javascript.
3745
3746         * CMakeLists.txt:
3747         * DerivedSources.make:
3748         * GNUmakefile.am:
3749         * WebCore.gyp/WebCore.gyp:
3750         * WebCore.gypi:
3751         * WebCore.vcproj/WebCore.vcproj:
3752         * WebCore.xcodeproj/project.pbxproj:
3753         * dom/XMLDocumentParserLibxml2.cpp:
3754         (WebCore::XMLDocumentParser::doEnd):
3755         * xml/XMLTreeViewer.cpp:
3756         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3757         * xml/XMLViewer.css: Added.
3758         * xml/XMLViewer.js: Added.
3759         * xml/XMLViewer.xsl: Removed.
3760         * xml/XSLStyleSheet.h:
3761
3762 2011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
3763
3764         Unreviewed build fix.
3765
3766         Fix build break after rolling out r82496
3767         https://bugs.webkit.org/show_bug.cgi?id=57536
3768
3769         * platform/efl/RenderThemeEfl.cpp:
3770
3771 2011-03-31  Andrey Adaikin  <aandrey@google.com>
3772
3773         Reviewed by Pavel Feldman.
3774
3775         Web Inspector: execution line is displayed incorrectly after source editing.
3776         https://bugs.webkit.org/show_bug.cgi?id=57229
3777
3778         * inspector/front-end/SourceFrame.js:
3779         (WebInspector.SourceFrame.prototype._saveViewerState):
3780         (WebInspector.SourceFrame.prototype._restoreViewerState):
3781         (WebInspector.SourceFrame.prototype._startEditing):
3782         (WebInspector.SourceFrame.prototype._endEditing):
3783         (WebInspector.SourceFrame.prototype._createTextViewer):
3784         (WebInspector.SourceFrame.prototype.setExecutionLine):
3785         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
3786         (WebInspector.SourceFrame.prototype._handleSave):
3787         (WebInspector.SourceFrame.prototype._handleRevertEditing):
3788         * inspector/front-end/TextViewer.js:
3789         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
3790         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
3791         (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
3792         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
3793
3794 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
3795
3796         Reviewed by Pavel Feldman.
3797
3798         Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
3799         https://bugs.webkit.org/show_bug.cgi?id=57452
3800
3801         No new tests, as this is a refactoring.
3802
3803         * inspector/InspectorCSSAgent.cpp:
3804         * inspector/InspectorStyleSheet.cpp:
3805         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3806         * inspector/front-end/CSSStyleModel.js:
3807         (WebInspector.CSSStyleDeclaration):
3808         (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
3809
3810 2011-03-30  Steve Block  <steveblock@google.com>
3811
3812         Reviewed by Jeremy Orlow.
3813
3814         JavaField should not expose JavaString in its API
3815         https://bugs.webkit.org/show_bug.cgi?id=55766
3816
3817         This patch fixes JavaField for V8 only.
3818         - Factors out a JavaField interface which does not use JNI types.
3819           This will allow the Java bridge to be used with objects that
3820           don't use JNI directly. The existing jobject-backed
3821           implementation is moved to a new JavaFieldJobject class which
3822           implements the interface.
3823         - Use WTF::String in place of JavaString in the API, as JavaString
3824           exposes JNI types in its interface.
3825
3826         No new tests, refactoring only.
3827
3828         * Android.v8bindings.mk:
3829         * WebCore.gypi:
3830         * bridge/jni/JavaMethod.h:
3831         (JSC::Bindings::JavaMethod::~JavaMethod):
3832         * bridge/jni/JobjectWrapper.h:
3833         * bridge/jni/v8/JavaClassV8.cpp:
3834         (JavaClass::JavaClass):
3835         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
3836         (JavaFieldJobject::JavaFieldJobject):
3837         * bridge/jni/v8/JavaFieldJobjectV8.h:
3838         (JSC::Bindings::JavaFieldJobject::name):
3839         (JSC::Bindings::JavaFieldJobject::typeClassName):
3840         (JSC::Bindings::JavaFieldJobject::type):
3841         * bridge/jni/v8/JavaFieldV8.h:
3842         (JSC::Bindings::JavaField::~JavaField):
3843         * bridge/jni/v8/JavaInstanceV8.cpp:
3844         (JavaInstance::getField):
3845
3846 2011-03-31  Levi Weintraub  <leviw@chromium.org>
3847
3848         Reviewed by Ryosuke Niwa.
3849
3850         Clean up from r82447.
3851         https://bugs.webkit.org/attachment.cgi?bugid=57532
3852
3853         No new tests since this doesn't change behavior.
3854
3855         * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
3856         * rendering/RootInlineBox.cpp:
3857         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
3858         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
3859         * rendering/RootInlineBox.h:
3860
3861 2011-03-31  Benjamin Kalman  <kalman@chromium.org>
3862
3863         Reviewed by Ojan Vafai.
3864
3865         DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
3866         https://bugs.webkit.org/show_bug.cgi?id=57079
3867
3868         Test: editing/execCommand/delete-table-with-empty-contents.html
3869
3870         This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
3871         of WebKit.
3872
3873         * editing/DeleteSelectionCommand.cpp:
3874         (WebCore::firstEditablePositionInNode):
3875         (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
3876         to find anchor node for the placeholder's position, if any.
3877
3878 2011-03-30  Ojan Vafai  <ojan@chromium.org>
3879
3880         Reviewed by Adam Roben.
3881
3882         REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
3883         https://bugs.webkit.org/show_bug.cgi?id=57478
3884
3885         * css/CSSGrammar.y:
3886         * css/CSSParser.cpp:
3887         (WebCore::CSSParser::sinkFloatingSelectorVector):
3888         * css/CSSParser.h:
3889
3890 2011-03-30  Dominic Cooney  <dominicc@google.com>
3891
3892         Reviewed by Dimitri Glazkov.
3893
3894         Adds layoutTestController.shadowRoot accessor to Mac DRT.
3895         https://bugs.webkit.org/show_bug.cgi?id=57415
3896
3897         * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
3898
3899 2011-03-30  Kent Tamura  <tkent@chromium.org>
3900
3901         Reviewed by Dimitri Glazkov.
3902
3903         Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
3904         https://bugs.webkit.org/show_bug.cgi?id=57424
3905
3906         r75555 made 'scroll' event asynchronous. So we don't need to worry about
3907         deleting or moving a target node in scrollIntoViewIfNeeded().
3908
3909         * html/HTMLFormElement.cpp:
3910         (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
3911
3912 2011-03-30  Kent Tamura  <tkent@chromium.org>
3913
3914         Reviewed by Darin Adler.
3915
3916         REGRESSION (r74895): Crash if input.type = 'file' twice
3917         https://bugs.webkit.org/show_bug.cgi?id=57343
3918
3919         * html/HTMLInputElement.cpp:
3920         (WebCore::HTMLInputElement::updateType):
3921           Don't call setAttribute() if the type is not changed.
3922
3923 2011-03-30  Jia Pu  <jpu@apple.com>
3924
3925         Reviewed by Darin Adler.
3926
3927         Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
3928         https://bugs.webkit.org/show_bug.cgi?id=57353
3929         <rdar://problem/9163983>
3930
3931         We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
3932         panel. The latter function compensates for zooming, which we don't need in this case. We also
3933         dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
3934
3935         * WebCore.exp.in:
3936         * dom/Range.cpp:
3937         (WebCore::Range::textQuads):
3938         * dom/Range.h:
3939         * editing/Editor.cpp:
3940         (WebCore::Editor::windowRectForRange):
3941         * editing/Editor.h:
3942         * page/Frame.cpp:
3943         (WebCore::Frame::setPageAndTextZoomFactors):
3944
3945 2011-03-30  Chris Guillory  <chris.guillory@google.com>
3946
3947         Reviewed by Dimitri Glazkov.
3948
3949         Render fonts using skia when requested by platform context.
3950         https://bugs.webkit.org/show_bug.cgi?id=56441
3951
3952         * platform/graphics/skia/PlatformContextSkia.cpp:
3953         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
3954         * platform/graphics/skia/PlatformContextSkia.h:
3955         * platform/graphics/skia/SkiaFontWin.cpp:
3956         (WebCore::windowsCanHandleTextDrawing):
3957         (WebCore::skiaDrawText):
3958         (WebCore::setupPaintForFont):
3959         (WebCore::paintSkiaText):
3960
3961 2011-03-30  Dan Bernstein  <mitz@apple.com>
3962
3963         Reviewed by Darin Adler.
3964
3965         <rdar://problem/9199518> Crash when focusing a styled editable element
3966
3967         Test: editing/deleting/delete-button-background-image-none.html
3968
3969         * editing/DeleteButtonController.cpp:
3970         (WebCore::isDeletableElement): Check all background layers for background images.
3971         * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
3972         in the above function.
3973
3974 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
3975
3976         Try once more to fix the EFL build.
3977
3978         * platform/efl/RenderThemeEfl.cpp:
3979
3980 2011-03-30  Chris Fleizach  <cfleizach@apple.com>
3981
3982         Reviewed by Darin Adler.
3983
3984         Regression: VO cursor doesn't follow KB focus back into HTML view
3985         https://bugs.webkit.org/show_bug.cgi?id=57509
3986
3987         In WK2, because the web area never believes focus leave the area, sending the initial
3988         focus change when moving back into the web area, does not trigger a notification.
3989
3990         That behavior needs to be overridden by explicitly posting a focused UI element change
3991         at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
3992
3993         * page/FocusController.cpp:
3994         (WebCore::FocusController::setInitialFocus):
3995
3996 2011-03-30  MORITA Hajime  <morrita@google.com>
3997
3998         Reviewed by Simon Fraser.
3999
4000         box-shadow radii stays the same regardless of any spread set
4001         https://bugs.webkit.org/show_bug.cgi?id=49726
4002
4003         - Removed special shadowSpread handling path
4004         - Fixed broken multple inset shadow border computation.
4005
4006         Test: fast/box-shadow/spread-multiple-inset.html
4007
4008         * rendering/RenderBoxModelObject.cpp:
4009         (WebCore::RenderBoxModelObject::paintBoxShadow):
4010
4011 2011-03-29  Matthew Delaney  <mdelaney@apple.com>
4012
4013         Reviewed by Simon Fraser.
4014
4015         Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
4016
4017         https://bugs.webkit.org/show_bug.cgi?id=53134
4018
4019         Test: fast/canvas/getPutImageDataPairTest.html
4020
4021         * platform/graphics/cg/ImageBufferCG.cpp:
4022
4023 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
4024
4025         Reviewed by Adam Roben.
4026
4027         Share most vsprops between Release and Production builds in releaseproduction.vsprops
4028         https://bugs.webkit.org/show_bug.cgi?id=57508
4029
4030         * WebCore.vcproj/QTMovieWinProduction.vsprops:
4031         * WebCore.vcproj/QTMovieWinRelease.vsprops:
4032         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
4033         * WebCore.vcproj/WebCoreProduction.vsprops:
4034         * WebCore.vcproj/WebCoreRelease.vsprops:
4035         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
4036
4037 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
4038
4039         Reviewed by Alexey Proskuryakov.
4040
4041         Add some dynamic annotations to JavaScriptCore/wtf
4042         https://bugs.webkit.org/show_bug.cgi?id=53747
4043
4044         By using these annotations we can improve the precision of finding
4045         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
4046         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
4047
4048         These files don't add new functionality, so don't need extra tests.
4049
4050         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
4051
4052 2011-03-30  Abhishek Arya  <inferno@chromium.org>
4053
4054         Reviewed by Simon Fraser.
4055
4056         Fix wrong type assumptions in editing code. Move code
4057         from ASSERTs to hard checks.
4058         https://bugs.webkit.org/show_bug.cgi?id=57348
4059
4060         Test: editing/execCommand/remove-format-non-html-element-crash.html
4061
4062         * css/CSSStyleSelector.cpp:
4063         (WebCore::CSSStyleSelector::applyProperty):
4064         * editing/ApplyStyleCommand.cpp:
4065         (WebCore::getRGBAFontColor):
4066         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
4067         * editing/DeleteButtonController.cpp:
4068         (WebCore::enclosingDeletableElement):
4069         * editing/EditingStyle.cpp:
4070         (WebCore::EditingStyle::textDirection):
4071         (WebCore::EditingStyle::prepareToApplyAt):
4072         * editing/Editor.cpp:
4073         (WebCore::Editor::textDirectionForSelection):
4074         * editing/FormatBlockCommand.cpp:
4075         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
4076
4077 2011-03-30  Stephen White  <senorblanco@chromium.org>
4078
4079         Reviewed by Kenneth Russell.
4080
4081         Speed up clipping in accelerated 2D canvas.
4082         https://bugs.webkit.org/show_bug.cgi?id=57464
4083
4084         Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
4085         Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
4086
4087         * platform/graphics/chromium/GLES2Canvas.cpp:
4088         (WebCore::PathAndTransform::PathAndTransform):
4089         New structure to keep track of the CTM at the time the clipping path was added.
4090         (WebCore::GLES2Canvas::State::State):
4091         Replace m_clippingEnabled with a count of total clipping paths.
4092         (WebCore::GLES2Canvas::clearRect):
4093         Check the total clipping path count, instead of m_clippingEnabled.
4094         (WebCore::GLES2Canvas::fillPath):
4095         (WebCore::GLES2Canvas::fillRect):
4096         Perform state application after doing shadows.  This is necessary
4097         since restore() may now leave clipping enabled.
4098         (WebCore::GLES2Canvas::clipPath):
4099         Explicitly specify the stencil operation as INCR.  Store the current
4100         transformation when saving clipping paths.
4101         (WebCore::GLES2Canvas::restore):
4102         Don't clear the stencil buffer and re-draw active paths on each restore.
4103         Erase the old paths with DECR.
4104         (WebCore::GLES2Canvas::drawTexturedRect):
4105         Check m_numClippingPaths instead of m_clippingEnabled.
4106         (WebCore::GLES2Canvas::beginShadowDraw):
4107         Perform state application when drawing hard shadows.
4108         (WebCore::GLES2Canvas::endShadowDraw):
4109         Check m_numClippingPaths instead of m_clippingEnabled.
4110         (WebCore::GLES2Canvas::beginStencilDraw):
4111         Make the stencil op a parameter to beginShadowDraw().
4112         (WebCore::GLES2Canvas::applyClipping):
4113         Compare against the total number of stencil paths, not just the ones in
4114         the current state.
4115         * platform/graphics/chromium/GLES2Canvas.h:
4116         Make the stencil op a parameter to beginShadowDraw().
4117
4118 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
4119
4120         Reviewed by Darin Adler.
4121
4122         Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
4123         https://bugs.webkit.org/show_bug.cgi?id=57419
4124