2010-01-13 Fumitoshi Ukai <ukai@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-13  Fumitoshi Ukai  <ukai@chromium.org>
2
3         Reviewed by David Levin.
4
5         Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
6         https://bugs.webkit.org/show_bug.cgi?id=33581
7
8         unref m_workerContext when websocket is disconnected, so that avoid
9         keeping reference to workerContext longer than worker thread runs.
10
11         * websockets/WorkerThreadableWebSocketChannel.cpp:
12         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
13         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
14
15 2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>
16
17         MSAA: selected, selectable, extended selectable, and multiple
18         selectable states are not reported
19
20         https://bugs.webkit.org/show_bug.cgi?id=33574
21         <rdar://problem/7536826>
22
23         Reviewed by Darin Adler.
24
25         * accessibility/AccessibilityObject.h:
26         (WebCore::AccessibilityObject::isMultiSelectable):
27         Use the correct function name - the function name overriden by
28         and used in AccessiblityRenderObject.
29
30         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31         (setAtkStateSetFromCoreObject):
32         Update for function rename.
33         (webkit_accessible_selection_select_all_selection):
34         Ditto.
35
36 2010-01-13  Darin Adler  <darin@apple.com>
37
38         Reviewed by Dan Bernstein.
39
40         Move more of the selection and caret painting code from Frame to SelectionController.
41         https://bugs.webkit.org/show_bug.cgi?id=33619
42
43         Helpful preparation step for a bug fix I am working on.
44
45         * editing/SelectionController.cpp:
46         (WebCore::SelectionController::SelectionController): Initialize new data members.
47         Note that m_caretVisible starts as true for the drag caret controller to match the
48         old behavior for painting.
49         (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
50         in its new name and location.
51         (WebCore::SelectionController::paintCaret): Added checks that were formerly done
52         at the Frame level. Tweaked formatting and changed to use early return as well.
53         (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
54         moved into this class.
55         (WebCore::SelectionController::updateAppearance): Moved the
56         Frame::selectionLayoutChanged function here. Had to rename it because the word
57         "layout" is usedfor other purposes in this function.
58         (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
59         (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
60         (WebCore::SelectionController::caretBlinkTimerFired): Ditto.
61
62         * editing/SelectionController.h: Added new functions. Moved conditional function
63         out of class definition for clarity. Removed unneeded == and != operators.
64         Removed unneeded use of bit fields.
65
66         * page/Frame.cpp: Moved functions to SelectionController.
67         (WebCore::Frame::Frame): Removed initialization of moved data members.
68
69         * page/Frame.h: Removed things moved to SelectionController as well as unneeded
70         forward declaration of Timer class template.
71
72         * page/FrameView.cpp:
73         (WebCore::FrameView::layout): Updated for new location of function.
74
75         * rendering/RenderBlock.cpp:
76         (WebCore::RenderBlock::paintCaret): Ditto.
77
78 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
79
80         Reviewed by Darin Adler.
81
82         <rdar://problem/7532544>
83         
84         Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
85         be used for a shadow drawing fix.
86
87         * WebCore.base.exp:
88         * platform/mac/WebCoreSystemInterface.h:
89         * platform/mac/WebCoreSystemInterface.mm:
90
91 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
92
93         Reviewed by Dan Bernstein.
94
95         Fix shadow drawing to do the correct computations using the base coordinate space
96         https://bugs.webkit.org/show_bug.cgi?id=33629
97
98         Step 1: do some renames in setPlatformShadow():
99             size -> offset
100             width -> xOffset
101             height -> yOffset
102         
103         * platform/graphics/cg/GraphicsContextCG.cpp:
104         (WebCore::GraphicsContext::setPlatformShadow):
105
106 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
107
108         Reviewed by Darin Fisher.
109
110         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
111         https://bugs.webkit.org/show_bug.cgi?id=33492
112
113         * page/Page.cpp:
114         (WebCore::Page::sessionStorage):
115         * storage/StorageNamespace.cpp:
116         (WebCore::StorageNamespace::sessionStorageNamespace):
117         * storage/StorageNamespace.h:
118         (WebCore::StorageNamespace::~StorageNamespace):
119
120 2010-01-13  Dirk Schulze  <krit@webkit.org>
121
122         Reviewed by Beth Dakin.
123
124         Repaint bug dragging a star shape with a dash stroke
125         https://bugs.webkit.org/show_bug.cgi?id=33406
126
127         Calculation of repaint rects for RenderPath objects was wrong. We must take the
128         union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
129         must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
130         strokes.
131
132         Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
133
134         * rendering/RenderPath.cpp:
135         (WebCore::RenderPath::strokeBoundingBox):
136
137 2010-01-13  Kevin Ollivier  <kevino@theolliviers.com>
138
139         [wx] Build fix. Make the XFORM operator work on wx port.
140
141         * platform/graphics/transforms/TransformationMatrix.h:
142         * wscript:
143
144 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
145
146         Reviewed by Timothy Hatcher.
147
148         Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
149         rendering capabilities.
150
151         Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
152         too close to each other, but were unrelated).
153
154         https://bugs.webkit.org/show_bug.cgi?id=33618
155
156         * WebCore.gypi:
157         * WebCore.vcproj/WebCore.vcproj:
158         * inspector/front-end/SourceFrame2.js: Added.
159         (WebInspector.SourceFrame2):
160         (WebInspector.SourceFrame2.prototype.set text):
161         (WebInspector.SourceFrame2.prototype.get executionLine):
162         (WebInspector.SourceFrame2.prototype.set executionLine):
163         (WebInspector.SourceFrame2.prototype.revealLine):
164         (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
165         (WebInspector.SourceFrame2.prototype.resize):
166         (WebInspector.BreakpointLineNumberDecorator):
167         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
168         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
169         (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
170         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
171         (WebInspector.ExecutionLineDecorator):
172         (WebInspector.ExecutionLineDecorator.prototype.decorate):
173         * inspector/front-end/TextEditor.js:
174         (WebInspector.TextEditor):
175         (WebInspector.TextEditor.prototype.get textModel):
176         (WebInspector.TextEditor.prototype.set readOnly):
177         (WebInspector.TextEditor.prototype.set lineNumberDecorator):
178         (WebInspector.TextEditor.prototype.set lineDecorator):
179         (WebInspector.TextEditor.prototype.selectionRange):
180         (WebInspector.TextEditor.prototype._offsetToLine):
181         (WebInspector.TextEditor.prototype._lineToOffset):
182         (WebInspector.TextEditor.prototype.reveal):
183         (WebInspector.TextEditor.prototype._textChanged):
184         (WebInspector.TextEditor.prototype._updateSize):
185         (WebInspector.TextEditor.prototype.updateCanvasSize):
186         (WebInspector.TextEditor.prototype._repaintAll):
187         (WebInspector.TextEditor.prototype._paintLines):
188         (WebInspector.TextEditor.prototype._paintLinesContinuation):
189         (WebInspector.TextEditor.prototype.paintLineNumbers):
190         (WebInspector.TextEditor.prototype._paintCurrentLine):
191         (WebInspector.TextEditor.prototype._mouseDown):
192         (WebInspector.TextEditor.prototype._caretForMouseEvent):
193         (WebInspector.TextEditor.prototype._keyDown):
194         (WebInspector.TextEditor.prototype._handleNavigationKey):
195         (WebInspector.TextEditor.prototype._textInput):
196         (WebInspector.TextEditor.prototype._updateCursor):
197         (WebInspector.TextEditor.prototype._paintSelection):
198         (WebInspector.TextEditor.prototype._initFont):
199
200 2010-01-13  Nate Chapin  <japhet@chromium.org>
201
202         Reviewed by Dimitri Glazkov.
203
204         Generate a function in the V8 bindings to convert v8 objects
205         to native WebCore objects.
206
207         * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
208         * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
209         (WebCore::getElementStringAttr):
210         (WebCore::setElementStringAttr):
211         * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
212         * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
213         (WebCore::V8SVGPODTypeWrapper::toNative):
214         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
215         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
216         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
217         (WebCore::V8WebGLRenderingContext::getUniformCallback):
218
219 2010-01-13  Brian Weinstein  <bweinstein@apple.com>
220
221         Reviewed by Adam Roben.
222
223         REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
224         is set (differs from HTML5).
225         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.
226
227         If no effectAllowed is set in the dragStart operation, we should default to
228         uninitialized instead of none, so the user doesn't have to manually set the
229         effectAllowed to enable drag and drop.
230
231         * dom/Clipboard.cpp:
232         (WebCore::Clipboard::Clipboard):
233
234 2010-01-13  Dave Hyatt  <hyatt@apple.com>
235
236         Reviewed by Dan Bernstein.
237
238         https://bugs.webkit.org/show_bug.cgi?id=32495
239
240         font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
241         a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
242         
243         Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html
244
245         * rendering/InlineFlowBox.cpp:
246         (WebCore::InlineFlowBox::computeVerticalOverflow):
247         (WebCore::InlineFlowBox::paintBoxDecorations):
248         (WebCore::InlineFlowBox::paintMask):
249
250 2010-01-13  Dumitru Daniliuc  <dumi@chromium.org>
251
252         Reviewed by Darin Adler.
253
254         Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
255         for the set of whitelisted sqlite functions, and fixing some
256         indenting issues.
257
258         https://bugs.webkit.org/show_bug.cgi?id=33612
259
260         * storage/DatabaseAuthorizer.cpp:
261         (WebCore::DatabaseAuthorizer::allowFunction):
262         * storage/DatabaseAuthorizer.h:
263
264 2010-01-13  Carol Szabo  <carol.szabo@nokia.com>
265
266         Reviewed by Darin Adler.
267
268         RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
269         https://bugs.webkit.org/show_bug.cgi?id=33600
270
271         No new tests as this fix affects mainly performance.
272         No test has been found yet that could evidence the bug in the layout
273         of a page, but the fix to bug 32884 exposes this bug on some pages
274         such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm
275
276         * rendering/RenderObject.cpp:
277         (WebCore::RenderObject::nextInPreOrderAfterChildren):
278
279 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
280
281         No reviewer.  More or less a build fix.  My 53180 broke some 
282         stuff on the Chromium port so I'm reverting.
283
284         * page/Page.cpp:
285         (WebCore::Page::sessionStorage):
286         * storage/StorageNamespace.cpp:
287         (WebCore::StorageNamespace::sessionStorageNamespace):
288         * storage/StorageNamespace.h:
289         (WebCore::StorageNamespace::~StorageNamespace):
290
291 2010-01-13  Steve Block  <steveblock@google.com>
292
293         Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
294         https://bugs.webkit.org/show_bug.cgi?id=33586
295
296         Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.
297
298         No new tests, refactoring only.
299
300         * bridge/jni/jni_runtime.cpp: Modified.
301         (JavaMethod::signature): Modified. Use WebCore::StringBuilder.
302
303 2010-01-13  Kent Hansen  <kent.hansen@nokia.com>
304
305         Reviewed by Timothy Hatcher.
306
307         Some objects in the global scope are not completed
308         https://bugs.webkit.org/show_bug.cgi?id=19119
309
310         Use Object.getOwnPropertyNames instead of for-in to provide completions, since
311         Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.
312
313         * inspector/front-end/InjectedScript.js:
314         (InjectedScript._getPropertyNames):
315         (InjectedScript.getCompletions):
316
317 2010-01-13  Ben Murdoch  <benm@google.com>
318
319         Reviewed by Simon Hausmann.
320
321         [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
322         https://bugs.webkit.org/show_bug.cgi?id=33597
323
324         * bindings/js/ScriptController.cpp:
325         (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.
326
327 2010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
328
329         Rubber-stamped by Tor Arne Vestbø.
330
331         [Qt] REGRESSION(53187) Touchevent related tests fail
332
333         https://bugs.webkit.org/show_bug.cgi?id=33602
334
335         Pass the ENABLE_TOUCH_EVENTS to the IDL generators.
336
337         * WebCore.pri:
338
339 2010-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
340
341         Reviewed by Pavel Feldman.
342
343         WebInspector: Timeline panel scrolling speed can be increased.
344         https://bugs.webkit.org/show_bug.cgi?id=33579
345
346         * inspector/front-end/TimelinePanel.js:
347         (WebInspector.TimelinePanel):
348         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
349         (WebInspector.TimelinePanel.prototype._refresh):
350         (WebInspector.TimelinePanel.prototype._refreshRecords):
351
352 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
353
354         Reviewed by Simon Hausmann.
355
356         [Qt] Split the build process in two different .pro files.
357         This allows qmake to be run once all source files are available.
358
359         * DerivedSources.pro: Added.
360         * WebCore.pri: Added. Contains common logic between source generation and compilation.
361         * WebCore.pro: Moved source generation to DerivedSources.pro.
362
363 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
364
365         Reviewed by Timothy Hatcher.
366
367         Web Inspector: Scrolling editor to the 20Kth line is not smooth.
368
369         https://bugs.webkit.org/show_bug.cgi?id=33587
370
371         * inspector/front-end/TextEditor.js:
372         (WebInspector.TextEditor):
373         (WebInspector.TextEditor.prototype._textChanged):
374         (WebInspector.TextEditor.prototype._highlightChanged):
375         (WebInspector.TextEditor.prototype._paintLinesContinuation):
376         * inspector/front-end/TextEditorHighlighter.js:
377         (WebInspector.TextEditorHighlighter):
378         (WebInspector.TextEditorHighlighter.prototype.highlight):
379         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
380         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
381         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
382         (WebInspector.TextEditorHighlighter.prototype._lex):
383         * inspector/front-end/TextEditorModel.js:
384         (WebInspector.TextEditorModel.prototype._setLine):
385         (WebInspector.TextEditorModel.prototype.setAttribute):
386         (WebInspector.TextEditorModel.prototype.getAttribute):
387         (WebInspector.TextEditorModel.prototype.removeAttribute):
388
389 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
390
391         Reviewed by Simon Hausmann.
392
393         [Qt] Fix the build on Windows.
394
395         PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
396
397         * WebCore.pro: Build TransformationMatrixWin.cpp.
398         * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
399
400 2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
401
402         Reviewed by Simon Hausmann.
403
404         [Qt/Symbian] Added missing vendor information to qtwebkit.sis
405
406         This information is necessary to Symbian sign the package.
407
408         http://bugreports.qt.nokia.com/browse/QTBUG-7290
409
410         * WebCore.pro:
411
412 2010-01-11  Jeremy Orlow  <jorlow@chromium.org>
413
414         Reviewed by Darin Fisher.
415
416         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
417         https://bugs.webkit.org/show_bug.cgi?id=33492
418
419         * page/Page.cpp:
420         (WebCore::Page::sessionStorage):
421         * storage/StorageNamespace.cpp:
422         (WebCore::StorageNamespace::sessionStorageNamespace):
423         * storage/StorageNamespace.h:
424         (WebCore::StorageNamespace::~StorageNamespace):
425
426 2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
427
428         Reviewed by Adam Barth.
429
430         Adding a list of whitelisted sqlite functions that users are
431         allowed to use.
432
433         https://bugs.webkit.org/show_bug.cgi?id=33549
434
435         * platform/sql/SQLiteDatabase.cpp:
436         (WebCore::SQLiteDatabase::authorizerFunction):
437         * storage/DatabaseAuthorizer.cpp:
438         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
439         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
440         (WebCore::DatabaseAuthorizer::allowFunction):
441         * storage/DatabaseAuthorizer.h:
442
443 2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
444
445         Reviewed by Simon Hausmann.
446
447         [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
448         https://bugs.webkit.org/show_bug.cgi?id=33077
449
450         * WebCore.pro:
451         * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
452         * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
453
454 2010-01-12  Simon Fraser  <simon.fraser@apple.com>
455
456         Reviewed by Dan Bernstein.
457
458         position:fixed and transform on same element breaks fixed behavior
459         https://bugs.webkit.org/show_bug.cgi?id=31283
460
461         Fix interactions of transforms and fixed positioning, namely that fixed position
462         elements with a transformed ancestor are positioned relative to that ancestor,
463         and an element with both a transform and fixed position respects that positioning.
464         
465         Test: transforms/2d/transform-fixed-container.html
466
467         * rendering/RenderBox.cpp:
468         (WebCore::RenderBox::mapLocalToContainer):
469         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
470         Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
471         but only if the transformed element is not itself fixed.
472         
473         * rendering/RenderLayer.cpp:
474         (WebCore::RenderLayer::convertToLayerCoords):
475         Fix this method to behave correctly for fixed position layers whose container is not
476         the root, but some other (probably transformed) ancestor. In that case, we can fall into
477         the "position: absolute" code path.
478
479 2010-01-12  Tony Chang  <tony@chromium.org>
480
481         Reviewed by Adam Barth.
482
483         Fix an assert being triggered by how the Chromium port sets the
484         replacing flag for error pages.  This was caused by r53143.
485
486         Covered by existing Chromium UI tests.
487
488         * loader/FrameLoader.cpp:
489         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
490
491 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
492
493         Reviewed by Geoffrey Garen.
494
495         [ES5] Implement Object.getOwnPropertyNames
496         https://bugs.webkit.org/show_bug.cgi?id=32242
497
498         Add new argument to reimplementations of getPropertyNames()
499         and getOwnPropertyNames(), and update the JS bindings generator.
500
501         Test: fast/js/Object-getOwnPropertyNames.html
502
503         * bindings/js/JSDOMWindowCustom.cpp:
504         (WebCore::JSDOMWindow::getPropertyNames):
505         (WebCore::JSDOMWindow::getOwnPropertyNames):
506         * bindings/js/JSDOMWindowShell.cpp:
507         (WebCore::JSDOMWindowShell::getPropertyNames):
508         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
509         * bindings/js/JSDOMWindowShell.h:
510         * bindings/js/JSHistoryCustom.cpp:
511         (WebCore::JSHistory::getOwnPropertyNames):
512         * bindings/js/JSLocationCustom.cpp:
513         (WebCore::JSLocation::getOwnPropertyNames):
514         * bindings/js/JSQuarantinedObjectWrapper.cpp:
515         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
516         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
517         * bindings/js/JSQuarantinedObjectWrapper.h:
518         * bindings/js/JSStorageCustom.cpp:
519         (WebCore::JSStorage::getOwnPropertyNames):
520         * bindings/scripts/CodeGeneratorJS.pm:
521         * bridge/runtime_array.cpp:
522         (JSC::RuntimeArray::getOwnPropertyNames):
523         * bridge/runtime_array.h:
524         * bridge/runtime_object.cpp:
525         (JSC::RuntimeObjectImp::getPropertyNames):
526         (JSC::RuntimeObjectImp::getOwnPropertyNames):
527         * bridge/runtime_object.h:
528
529 2010-01-12  Brian Weinstein  <bweinstein@apple.com>
530
531         Reviewed by Dave Hyatt.
532
533         Safari shows an unneeded horizontal scrollbar on many websites.
534         Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
535         
536         If a div has no children, and its height or width are 0, we can ignore
537         it in our calculation of lowest, rightmost, and leftmost positions. This
538         calculation was causing horizontal scrollbars to be drawn when they weren't needed.
539
540         Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
541
542         * rendering/RenderBlock.cpp:
543         (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
544         (WebCore::RenderBlock::rightmostPosition): Ditto.
545         (WebCore::RenderBlock::leftmostPosition): Ditto.
546
547 2010-01-12  Alexander Pavlov  <apavlov@chromium.org>
548
549         Reviewed by Timothy Hatcher.
550
551         Optimize WebInspector.TimelineGrid.prototype.updateDividers()
552
553         DOM element property access and modification are slow and should be done as lazily as possible.
554         https://bugs.webkit.org/show_bug.cgi?id=33536
555
556         * inspector/front-end/TimelineGrid.js:
557         (WebInspector.TimelineGrid.prototype.updateDividers):
558         (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
559
560 2010-01-12  Beth Dakin  <bdakin@apple.com>
561
562         Reviewed by Sam Weinig.
563
564         Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
565         webkit-svg-shadow with opacity still over-clipped
566
567         We need to call inflateForShadow() on the repaintRect before we 
568         clip for opacity or we will over-clip.
569         * rendering/SVGRenderSupport.cpp:
570         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
571
572 2010-01-12  Steve Falkenburg  <sfalken@apple.com>
573
574         Reviewed by Sam Weinig.
575
576         Update all-in-one derived sources for Geolocation.
577
578         * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
579
580 2010-01-12  Nate Chapin  <japhet@chromium.org>
581
582         Reviewed by Dimitri Glazkov.
583
584         Remove static const ints from V8CustomBinding.h
585
586         https://bugs.webkit.org/show_bug.cgi?id=33547
587
588         * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
589             internal field indices from lists of custom internal fields.
590         * bindings/v8/NPV8Object.cpp:
591         * bindings/v8/NPV8Object.h:
592         * bindings/v8/V8Binding.cpp:
593         * bindings/v8/V8DOMWindowShell.cpp:
594         * bindings/v8/V8DOMWindowShell.h:
595         * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
596             manually calls to setInternalFieldCount().
597         * bindings/v8/V8DOMWrapper.h:
598         * bindings/v8/V8Index.h:
599         * bindings/v8/V8IsolatedContext.cpp:
600         * bindings/v8/V8IsolatedContext.h:
601         * bindings/v8/V8NPObject.cpp:
602         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
603         * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
604         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
605         * bindings/v8/custom/V8DOMWindowCustom.cpp:
606         * bindings/v8/custom/V8DocumentCustom.cpp:
607         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
608         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
609         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
610         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
611         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
612         * bindings/v8/custom/V8MessagePortCustom.cpp:
613         * bindings/v8/custom/V8NodeCustom.cpp:
614         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
615         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
616         * bindings/v8/custom/V8WebSocketCustom.cpp:
617         * bindings/v8/custom/V8WorkerContextCustom.cpp:
618         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
619         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
620
621 2010-01-12  Darin Fisher  <darin@chromium.org>
622
623         Fixing chromium build bustage.
624
625         * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
626
627 2010-01-12  Darin Fisher  <darin@chromium.org>
628
629         Reviewed by Dimitri Glazkov.
630
631         Add V8 bindings for PopStateEvent.
632         https://bugs.webkit.org/show_bug.cgi?id=33546
633         
634         This is covered by existing tests for PopStateEvent.
635
636         * WebCore.gypi:
637         * bindings/v8/DOMObjectsInclude.h:
638         * bindings/v8/DerivedSourcesAllInOne.cpp:
639         * bindings/v8/V8DOMWrapper.cpp:
640         (WebCore::V8DOMWrapper::convertEventToV8Object):
641         * bindings/v8/V8Index.cpp:
642         * bindings/v8/V8Index.h:
643         * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
644         (WebCore::V8PopStateEvent::initPopStateEventCallback):
645         (WebCore::V8PopStateEvent::stateAccessorGetter):
646
647 2010-01-12  Kelly Norton  <knorton@google.com>
648
649         Reviewed by Timothy Hatcher.
650
651         Adds source length to ParseHTMLRecords in the inspector timeline.
652         https://bugs.webkit.org/show_bug.cgi?id=33548
653
654         Test: inspector/timeline-parse-html.html
655
656         * html/HTMLTokenizer.cpp:
657         (WebCore::HTMLTokenizer::write):
658         * inspector/InspectorTimelineAgent.cpp:
659         (WebCore::InspectorTimelineAgent::willWriteHTML):
660         * inspector/InspectorTimelineAgent.h:
661         * inspector/TimelineRecordFactory.cpp:
662         (WebCore::TimelineRecordFactory::createParseHTMLRecord):
663         * inspector/TimelineRecordFactory.h:
664
665 2010-01-12  Jungshik Shin  <jshin@chromium.org>
666
667         Reviewed by Darin Adler
668
669         https://bugs.webkit.org/show_bug.cgi?id=31597
670
671         Make ICU's text breakiterator and string search use Chrome's UI
672         language instead of 'en-US' or the OS UI language.
673
674         As long as the webkit layout tests are run in en-US locale, there'd be 
675         no visible change.
676
677         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
678         (UILanguage):
679         (WebCore::currentSearchLocaleID):
680         (WebCore::currentTextBreakLocaleID):
681
682 2010-01-12  Beth Dakin  <bdakin@apple.com>
683
684         Rubber-stamped by Dave Hyatt.
685
686         This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
687         to avoid giving a custom property an overly-general name.
688         <rdar://problem/7534590>
689
690         * css/CSSComputedStyleDeclaration.cpp:
691         (WebCore::):
692         * css/CSSParser.cpp:
693         (WebCore::CSSParser::parseShadow):
694         * css/SVGCSSComputedStyleDeclaration.cpp:
695         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
696         * css/SVGCSSParser.cpp:
697         (WebCore::CSSParser::parseSVGValue):
698         * css/SVGCSSPropertyNames.in:
699         * css/SVGCSSStyleSelector.cpp:
700         (WebCore::CSSStyleSelector::applySVGProperty):
701
702 2010-01-12  Peter Kasting  <pkasting@google.com>
703
704         Not reviewed, build fix.
705
706         * WebCore.vcproj/WebCore.vcproj:
707
708 2010-01-12  Nate Chapin  <japhet@chromium.org>
709
710         Reviewed by Dimitri Glazkov.
711
712         Add a null check in case of an event handler with invalid syntax.
713
714         Should make fast/js/invalid-syntax--for-function.html not crash in
715         Chromium's test shell.
716
717         * bindings/v8/V8LazyEventListener.cpp:
718         (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
719
720 2010-01-12  Peter Kasting  <pkasting@google.com>
721
722         Reviewed by Dimitri Glazkov.
723
724         Remove XBM support from the open-source image decoders.
725         https://bugs.webkit.org/show_bug.cgi?id=27823
726
727         * GNUmakefile.am:
728         * WebCore.gypi:
729         * WebCore.vcproj/WebCore.vcproj:
730         * WebCoreSources.bkl:
731         * platform/image-decoders/ImageDecoder.cpp:
732         (WebCore::ImageDecoder::create):
733         * platform/image-decoders/xbm: Removed.
734         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
735         * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
736
737 2010-01-12  Alexey Proskuryakov  <ap@apple.com>
738
739         Reviewed by Darin Adler.
740
741         https://bugs.webkit.org/show_bug.cgi?id=33540
742         Make it possible to build in debug mode with assertions disabled
743
744         * dom/Element.cpp: (WebCore::Element::getURLAttribute):
745         * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
746         * editing/TextIterator.cpp:
747         * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
748         * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
749
750 2010-01-12  Eric Carlson  <eric.carlson@apple.com>
751
752         Reviewed by Darin Adler and Simon Fraser.
753
754         rdar://problem/5684062
755         https://bugs.webkit.org/show_bug.cgi?id=23094
756         Flash of white when switching from poster image to video playback
757         
758         https://bugs.webkit.org/show_bug.cgi?id=23140
759         <video> poster should scale like a video frame
760
761         * html/HTMLMediaElement.cpp:
762         (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
763
764         * html/HTMLVideoElement.cpp:
765         (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
766         (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
767         (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
768             should display the poster image. renderer() is never a RenderImage, don't need to check.
769             m_shouldShowPosterImage -> m_shouldDisplayPoster.
770         (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
771         (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
772             it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
773         (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
774             display the poster as long as the attribute is valid and the media engine says it hasn't
775             rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
776         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
777             is available to render.
778         * html/HTMLVideoElement.h:
779         (WebCore::HTMLVideoElement::poster):
780         (WebCore::HTMLVideoElement::shouldDisplayPoster):
781
782         * loader/ImageLoader.cpp:
783         (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
784
785         * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
786
787         * platform/graphics/MediaPlayer.cpp:
788         (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
789             is available to render.
790
791         * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
792         * platform/graphics/MediaPlayerPrivate.h: Ditto.
793
794         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
795             all bool variables to aid packing.
796         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
797         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
798             floating point initializers to match coding guidelines.
799         (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
800         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
801         (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
802
803         (WebCore::RenderImage::paintReplaced): Split part out into paint method.
804         (WebCore::RenderImage::paint): New.
805         * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
806             instead of private so RenderVideo can use them.
807
808         * rendering/RenderMedia.cpp:
809         (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
810         (WebCore::RenderMedia::destroy): Ditto.
811         (WebCore::RenderMedia::styleDidChange): Ditto.
812         (WebCore::RenderMedia::layout): Ditto.
813         (WebCore::RenderMedia::lowestPosition): Ditto.
814         (WebCore::RenderMedia::rightmostPosition): Ditto.
815         (WebCore::RenderMedia::leftmostPosition): Ditto.
816         * rendering/RenderMedia.h: Declare isImage and isRenderImage.
817
818         * rendering/RenderVideo.cpp:
819         (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
820             when displaying a poster so it is sized correctly.
821         (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
822         use it when we also know the movie's intrinsic size but still need to draw the poster.
823         (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
824         use the movie's intrinsic size when drawing frames.
825         (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
826         (WebCore::RenderVideo::videoElement): New.
827         (WebCore::RenderVideo::updatePlayer):
828         * rendering/RenderVideo.h:
829         (WebCore::RenderVideo::minimumReplacedHeight): Added.
830
831 2010-01-12  Tony Chang  <tony@chromium.org>
832
833         Reviewed by Maciej Stachowiak.
834
835         Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
836         If we stop a multipart load after ResourceLoader::didReceiveResponse
837         but before ResourceLoader::didReceiveData, we have a NULL document
838         loader because it has been moved back to the provisional state.  New
839         loads that happen after this will dereference the NULL document
840         loader.
841
842         Work around this by moving the provisional document loader back as
843         the document loader when the request is stopped.
844
845         https://bugs.webkit.org/show_bug.cgi?id=31446
846
847         Test: http/tests/multipart/multipart-wait-before-boundary.html
848
849         * loader/FrameLoader.cpp:
850         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
851
852 2010-01-12  Enrica Casucci  <enrica@apple.com>
853
854         Reviewed by Darin Adler.
855
856         WebKit returns incorrect match count when first string match is on an element with user-select-none style
857         https://bugs.webkit.org/show_bug.cgi?id=33508
858         <rdar://problem/7482143>
859
860         If we use VisiblePosition to calculate the start of the new search range,
861         we skip all the nodes with user-select-none style, producing an incorrect
862         match count.
863         
864         No new tests: there are no API's available to Javascript to verify the
865         number of matches found.
866
867         * page/Frame.cpp:
868         (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
869         result range as the start of the new search range.
870
871 2010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
872
873         Reviewed by Timothy Hatcher.
874
875         Changed ".sidebar" style to allow v-scroll to appear in
876         "Profiles" panel sidebar.
877
878         https://bugs.webkit.org/show_bug.cgi?id=33470
879
880         No new tests -- no code changed.
881
882         * inspector/front-end/inspector.css:
883
884 2010-01-12  Adam Roben  <aroben@apple.com>
885
886         Windows accelerated compositing build fix after r53110
887
888         * plugins/PluginWidget.h:
889         (WebCore::PluginWidget::platformLayer): Define platformLayer() for
890         non-Mac platforms that have accelerated compositing turned on. It
891         would probably be better to make PluginWidget not be used at all on
892         non-Mac platforms, but this fix is much simpler.
893
894 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
895
896         Reviewed by Pavel Feldman.
897
898         Support injection of inspector scripts into the inspected context.
899
900         https://bugs.webkit.org/show_bug.cgi?id=33523
901
902         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
903         (WebCore::WeakReferenceCallback):
904         (WebCore::createInjectedScriptHostV8Wrapper):
905         (WebCore::createInjectedScript):
906         (WebCore::InjectedScriptHost::injectedScriptFor):
907
908 2010-01-12  Ben Murdoch  <benm@google.com>
909
910         Reviewed by Darin Adler.
911
912         Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
913         https://bugs.webkit.org/show_bug.cgi?id=31539
914
915         Added manual test: manual-tests/textarea-reset-default-value.html.
916
917         * html/HTMLTextAreaElement.cpp:
918         (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
919         * manual-tests/resources/textarea-form-back-on-submit.html: Added.
920         * manual-tests/textarea-reset-default-value.html: Added.
921
922 2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
923
924         Reviewed by Holger Freyther.
925
926         [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
927         https://bugs.webkit.org/show_bug.cgi?id=33466
928
929         WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
930         QPainterPath, which itself is a pointer to the elements (QVector).
931         That creates unecessary allocations in PathQt.cpp.
932
933         Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
934         is a plain QPainterPath.
935
936         * platform/graphics/Path.h:
937         (WebCore::Path::platformPath):
938         * platform/graphics/qt/GraphicsContextQt.cpp:
939         (WebCore::drawFilledShadowPath):
940         (WebCore::GraphicsContext::fillPath):
941         (WebCore::GraphicsContext::fillRoundedRect):
942         (WebCore::GraphicsContext::addPath):
943         (WebCore::GraphicsContext::clip):
944         (WebCore::GraphicsContext::clipOut):
945         * platform/graphics/qt/PathQt.cpp:
946         (WebCore::Path::~Path):
947         (WebCore::Path::operator=):
948         (WebCore::Path::contains):
949         (WebCore::Path::strokeContains):
950         (WebCore::Path::translate):
951         (WebCore::Path::boundingRect):
952         (WebCore::Path::strokeBoundingRect):
953         (WebCore::Path::moveTo):
954         (WebCore::Path::addLineTo):
955         (WebCore::Path::addQuadCurveTo):
956         (WebCore::Path::addBezierCurveTo):
957         (WebCore::Path::addArcTo):
958         (WebCore::Path::closeSubpath):
959         (WebCore::Path::addArc):
960         (WebCore::Path::addRect):
961         (WebCore::Path::addEllipse):
962         (WebCore::Path::clear):
963         (WebCore::Path::isEmpty):
964         (WebCore::Path::debugString):
965         (WebCore::Path::apply):
966         (WebCore::Path::transform):
967
968 2010-01-12  Jakub Wieczorek  <faw217@gmail.com>
969
970         Reviewed by Adam Barth.
971
972         [Qt] XSL stylesheets can load documents from a different origin
973
974         https://bugs.webkit.org/show_bug.cgi?id=33423
975
976         * xml/XSLTProcessorQt.cpp:
977         (WebCore::XSLTUriResolver::XSLTUriResolver):
978         (WebCore::XSLTUriResolver::resolve):
979         (WebCore::XSLTProcessor::transformToString):
980
981 2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
982
983         Reviewed by Gustavo Noronha Silva.
984
985         https://bugs.webkit.org/show_bug.cgi?id=30883
986         [Gtk] Implement AtkText for HTML elements which contain text
987
988         Tweak/correction: Eliminate a needless variable.
989
990         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
991         (webkit_accessible_text_get_caret_offset):
992
993 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
994
995         Reviewed by Geoffrey Garen.
996
997         Allow creating injected script for the inspected script state. The InjectedScript is
998         cached on the inspected ExecState global object and will be garbage collected when the
999         object is collected. Each InjectedScript object is assigned unique id.
1000
1001         https://bugs.webkit.org/show_bug.cgi?id=33469
1002
1003         * bindings/js/JSDOMGlobalObject.cpp:
1004         (WebCore::JSDOMGlobalObject::markChildren):
1005         (WebCore::JSDOMGlobalObject::setInjectedScript):
1006         (WebCore::JSDOMGlobalObject::injectedScript):
1007         * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
1008         field that is not visible from the inspected code. This InjectedScript should be alive as long as
1009         the global object is alive and should be accessible from Web Inspector's native code.
1010         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
1011         * bindings/js/JSInjectedScriptHostCustom.cpp:
1012         (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
1013         inspected ScriptState. Reference to the object is stored on the global DOM object.
1014         (WebCore::InjectedScriptHost::injectedScriptFor):
1015         * inspector/InjectedScriptHost.cpp:
1016         (WebCore::InjectedScriptHost::InjectedScriptHost):
1017         (WebCore::InjectedScriptHost::injectedScriptForId):
1018         (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
1019         the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
1020         * inspector/InjectedScriptHost.h:
1021         (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
1022         The source may be loaded in a platform specific way.
1023
1024 2010-01-11  Darin Adler  <darin@apple.com>
1025
1026         Reviewed by Dan Bernstein.
1027
1028         Fix handling of unusual kana sequences in search
1029         https://bugs.webkit.org/show_bug.cgi?id=33506
1030
1031         * editing/TextIterator.cpp:
1032         (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
1033         non-kana-letter character. This function only works for kana letters.
1034         (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
1035         properly handle cases where one character has a shorter list of
1036         combining voiced sound marks than the other.
1037
1038 2010-01-11  Victor Wang  <victorw@chromium.org>
1039
1040         Reviewed by Dimitri Glazkov.
1041
1042         Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
1043
1044         https://bugs.webkit.org/show_bug.cgi?id=33499
1045
1046         TEST: manual-tests/chromium/onchange-reload-popup.html
1047         It should be covered by the above test. The current
1048         test shell does not support sending keyboard events to popup
1049         list so use manual test for it.
1050
1051         * platform/chromium/PopupMenuChromium.cpp:
1052         (WebCore::PopupListBox::acceptIndex):
1053
1054 2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
1055
1056         Reviewed by Eric Seidel.
1057
1058         [GTK] Debug bots crashing in plugins/iframe-shims.html
1059         https://bugs.webkit.org/show_bug.cgi?id=33472
1060
1061         Call computeOffsetInContainerNode() instead of
1062         offsetInContainerNode(), since we are not sure this is always
1063         parent-anchored.
1064
1065         plugins/iframe-shims.html no longer ASSERTS
1066
1067         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1068         (objectAndOffsetUnignored):
1069
1070 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
1071
1072         Reviewed by Kevin Decker.
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=33455
1075         Allows plugins to participate in accelerated compositing
1076
1077         For plugins using the CoreAnimation rendering mode, host their CALayers in the
1078         accelerated compositing layer tree.
1079         
1080         This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
1081         a plugin using this mode.
1082         
1083         * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
1084         * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
1085
1086         * rendering/RenderEmbeddedObject.h:
1087         * rendering/RenderEmbeddedObject.cpp:
1088         (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
1089         accelerated compositing mode.
1090         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
1091         a layer, via PluginWidget.
1092
1093         * rendering/RenderLayer.cpp:
1094         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1095         (WebCore::RenderLayer::isSelfPaintingLayer):
1096         RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
1097         
1098         * rendering/RenderLayerBacking.cpp:
1099         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1100         Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
1101         
1102         * rendering/RenderLayerCompositor.h:
1103         * rendering/RenderLayerCompositor.cpp:
1104         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1105         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1106         RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
1107         for the page.
1108
1109 2010-01-11  Andreas Kling  <andreas.kling@nokia.com>
1110
1111         Reviewed by Darin Adler.
1112
1113         Fixed an uninitialized PluginView member (m_mode) which wasn't
1114         set when constructed with a null PluginPackage*
1115
1116         https://bugs.webkit.org/show_bug.cgi?id=33468
1117
1118         * plugins/PluginView.cpp:
1119         (WebCore::PluginView::PluginView):
1120
1121 2010-01-11  Dirk Schulze  <krit@webkit.org>
1122
1123         Reviewed by Nikolas Zimmermann.
1124
1125         SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
1126         https://bugs.webkit.org/show_bug.cgi?id=32201
1127
1128         This patch moves every focalPoint that lies outside the circle defined by the radial
1129         gradients central point and its radius to stay inside this circle, as demanded by the
1130         SVG 1.1 specification.
1131         We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
1132         the focalPoint is lying, to achieve compatibility with Firefox.
1133
1134         * svg/SVGRadialGradientElement.cpp:
1135         (WebCore::SVGRadialGradientElement::buildGradient):
1136
1137 2010-01-11  Alexey Proskuryakov  <ap@apple.com>
1138
1139         Reviewed by Oliver Hunt.
1140
1141         https://bugs.webkit.org/show_bug.cgi?id=33493
1142         Log redirect details to Network channel
1143
1144         * platform/network/mac/ResourceHandleMac.mm:
1145         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1146         Log response code and Location header field value. Also, removed a redundant null check.
1147
1148 2010-01-11  Beth Dakin  <bdakin@apple.com>
1149
1150         Reviewed by Oliver Hunt.
1151
1152         Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
1153         Many SVG -webkit-shadow tests are currently failing (in the pixel 
1154         tests)
1155         -and-
1156         <rdar://problem/7501200>
1157
1158         The real fix here is to call inflateForShadow() on the repaintRect 
1159         in prepareToRenderSVGContent(). But in order to do that, I had to 
1160         move inflateForShadow() to a different class since functions in 
1161         SVGRenderBase cannot call each other. inflateForShadow() now exists 
1162         in SVGRenderStyle which I think makes some sense because a similar 
1163         function that returns a box shadow's extent exists on RenderStyle.
1164
1165         Now call inflateForShadow() through the SVGRenderStyle.
1166         * rendering/RenderForeignObject.cpp:
1167         (WebCore::RenderForeignObject::computeRectForRepaint):
1168         * rendering/RenderSVGImage.cpp:
1169         (WebCore::RenderSVGImage::computeRectForRepaint):
1170         * rendering/RenderSVGModelObject.cpp:
1171         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1172         * rendering/RenderSVGRoot.cpp:
1173         (WebCore::RenderSVGRoot::computeRectForRepaint):
1174         * rendering/RenderSVGText.cpp:
1175         (WebCore::RenderSVGText::computeRectForRepaint):
1176
1177         No longer implement inflateForShadow() here.
1178         * rendering/SVGRenderSupport.cpp:
1179         (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
1180         inflateForShadow() through the SVGRenderStyle
1181         * rendering/SVGRenderSupport.h:
1182
1183         Implementation of inflateForShadow() now lives here.
1184         * rendering/style/SVGRenderStyle.cpp:
1185         (WebCore::getSVGShadowExtent):
1186         (WebCore::SVGRenderStyle::inflateForShadow):
1187         * rendering/style/SVGRenderStyle.h:
1188
1189 2010-01-11  Alexander Pavlov  <apavlov@chromium.org>
1190
1191         Reviewed by Pavel Feldman.
1192
1193         Rewrite relative URLs in the ElementsTreeOutline to make them navigable
1194
1195         Targets for "src" and "href" attribute values in the Elements outline tree
1196         are rewritten to full URLs whenever possible.
1197         https://bugs.webkit.org/show_bug.cgi?id=33024
1198
1199         Test: inspector/elements-panel-rewrite-href.html
1200
1201         * inspector/front-end/ElementsTreeOutline.js:
1202         (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
1203         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
1204         * inspector/front-end/inspector.js:
1205
1206 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1207
1208         Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.
1209
1210         * bindings/js/JSBindingsAllInOne.cpp:
1211
1212 2010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1213
1214         Reviewed by Adam Roben & Dirk Schulze.
1215
1216         svg <text> fails to update when setting x/y
1217         https://bugs.webkit.org/show_bug.cgi?id=22384
1218
1219         Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
1220         (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)
1221
1222         Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
1223         to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
1224         'rotate' & 'x'/'y' SVG DOM properties.
1225
1226         Tests: svg/custom/text-xy-updates-SVGList.xhtml
1227                svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
1228   
1229         * Android.jscbindings.mk: Remove old files from build, add the new header.
1230         * GNUmakefile.am: Ditto.
1231         * WebCore.gypi: Ditto.
1232         * WebCore.pro: Ditto.
1233         * WebCore.vcproj/WebCore.vcproj: Ditto.
1234         * WebCore.xcodeproj/project.pbxproj: Ditto.
1235         * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
1236         (WebCore::JSSVGPODListCustom::finishGetter):
1237         (WebCore::JSSVGPODListCustom::finishSetter):
1238         (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
1239         (WebCore::JSSVGPODListCustom::clear):
1240         (WebCore::JSSVGPODListCustom::initialize):
1241         (WebCore::JSSVGPODListCustom::getItem):
1242         (WebCore::JSSVGPODListCustom::insertItemBefore):
1243         (WebCore::JSSVGPODListCustom::replaceItem):
1244         (WebCore::JSSVGPODListCustom::removeItem):
1245         (WebCore::JSSVGPODListCustom::appendItem):
1246         * bindings/js/JSSVGPointListCustom.cpp: Removed.
1247         * bindings/js/JSSVGTransformListCustom.cpp: Removed.
1248         * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
1249         * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
1250         (WebCore::SVGNumberList::SVGNumberList):
1251         * svg/SVGNumberList.h:
1252         * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
1253         * svg/SVGTransformList.idl: Ditto.
1254
1255 2010-01-08  Enrica Casucci  <enrica@apple.com>
1256
1257         Reviewed by Darin Adler.
1258
1259         Cannot focus on an empty editable span in a non editable div.
1260         https://bugs.webkit.org/show_bug.cgi?id=33411
1261         <rdar://problem/5982901>
1262
1263         We now allow to set the focus inside an empty inline element if it is the only
1264         editable element inside non-editable content.
1265
1266         * dom/Position.cpp:
1267         (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
1268         at the border between editable and non editable content.
1269         (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
1270         position inside an empty inline.
1271         * editing/DeleteSelectionCommand.cpp:
1272         (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
1273         element, since now an editable inline is a VisiblePosition if it is at editability boundary.
1274         * editing/VisibleSelection.h: Updated comment on the use of Position member variables
1275         instead of VisiblePosition.
1276         * page/Frame.cpp:
1277         (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
1278         downstream on the same position.
1279
1280 2010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>
1281
1282         Reviewed by Nikolas Zimmermann.
1283
1284         [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
1285         https://bugs.webkit.org/show_bug.cgi?id=32994
1286
1287         Refactoring, covered by existings tests.
1288
1289         * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
1290             since there's a much smaller (and more stable) set of non-ref-counted ones.
1291
1292 2010-01-06  Kelly Norton  <knorton@google.com>
1293
1294         Reviewed by Pavel Feldman.
1295
1296         Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
1297         https://bugs.webkit.org/show_bug.cgi?id=32846
1298
1299         Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
1300         directly when the DOM is mutated.
1301
1302         * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
1303         (WebCore::dispatchChildInsertionEvents):
1304         (WebCore::dispatchChildRemovalEvents):
1305         * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
1306         (WebCore::Element::dispatchAttrRemovalEvent):
1307         (WebCore::Element::dispatchAttrAdditionEvent):
1308         * inspector/InspectorController.cpp:
1309         (WebCore::InspectorController::didInsertDOMNode):
1310         (WebCore::InspectorController::didRemoveDOMNode):
1311         (WebCore::InspectorController::didModifyDOMAttr):
1312         * inspector/InspectorController.h:
1313         * inspector/InspectorDOMAgent.cpp:
1314         (WebCore::InspectorDOMAgent::startListening):
1315         (WebCore::InspectorDOMAgent::stopListening):
1316         (WebCore::InspectorDOMAgent::handleEvent):
1317         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1318         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1319         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
1320         * inspector/InspectorDOMAgent.h:
1321
1322 2010-01-10  Darin Adler  <darin@apple.com>
1323
1324         Reviewed by Alexey Proskuryakov.
1325
1326         REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
1327         https://bugs.webkit.org/show_bug.cgi?id=30437
1328         rdar://problem/7214058
1329
1330         Test: fast/text/find-kana.html
1331
1332         * editing/TextIterator.cpp:
1333         (WebCore::isKanaLetter): Added.
1334         (WebCore::isSmallKanaLetter): Added.
1335         (WebCore::composedVoicedSoundMark): Added.
1336         (WebCore::isCombiningVoicedSoundMark): Added.
1337         (WebCore::containsKanaLetters): Added.
1338         (WebCore::normalizeCharacters): Added.
1339         (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
1340         m_targetRequiresKanaWorkaround and m_normalizedTarget.
1341         (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
1342         ICU's default collation considers correct, but we consider incorrect.
1343         (WebCore::SearchBuffer::search): Added code to call isBadMatch and
1344         move to the next match with usearch_next if the result is true.
1345
1346 2010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1347
1348         Reviewed by Xan Lopez.
1349
1350         https://bugs.webkit.org/show_bug.cgi?id=30883
1351         [Gtk] Implement AtkText for HTML elements which contain text
1352
1353         * accessibility/gtk/AccessibilityObjectWrapperAtk.h
1354         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1355         (objectAndOffsetUnignored):
1356         (webkit_accessible_text_get_caret_offset):
1357         * editing/gtk/SelectionControllerGtk.cpp:
1358         (SelectionController::notifyAccessibilityForSelectionChange)
1359
1360         Adjust the caret offset and object with focus to reflect the
1361         unignored parent of the static text object which contains the
1362         caret. This is necessary because the static text objects are
1363         no longer being exposed to ATs.
1364
1365 2010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>
1366
1367         Reviewed by Antti Koivisto.
1368
1369         Touchevent coordinates are incorrect after page zoom and page scroll
1370         https://bugs.webkit.org/show_bug.cgi?id=32899
1371
1372         Test: fast/events/touch-coords-in-zoom-and-scroll.html
1373
1374         * dom/Touch.cpp:
1375         (WebCore::contentsX):
1376         (WebCore::contentsY):
1377         * page/EventHandler.cpp:
1378         (WebCore::EventHandler::handleTouchEvent):
1379
1380 2010-01-11  Tony Chang  <tony@chromium.org>
1381
1382         Reviewed by Eric Seidel.
1383
1384         Have "Paste and Match Style" fire the dom paste event.
1385         https://bugs.webkit.org/show_bug.cgi?id=30639
1386
1387         Test: editing/execCommand/paste-and-match-style-event.html
1388
1389         * editing/Editor.cpp:
1390         (WebCore::Editor::pasteAsPlainText):
1391
1392 2010-01-10  Oliver Hunt  <oliver@apple.com>
1393
1394         Reviewed by NOBODY (Build fix).
1395
1396         Rollout renderpath culling as it once again breaks pixel tests.
1397
1398         * rendering/RenderPath.cpp:
1399         (WebCore::RenderPath::paint):
1400         (WebCore::RenderPath::nodeAtFloatPoint):
1401
1402 2010-01-10  Simon Fraser  <simon.fraser@apple.com>
1403
1404         Reviewed by Darin Adler.
1405
1406         Allows plugins to participate in accelerated compositing
1407         https://bugs.webkit.org/show_bug.cgi?id=33455
1408
1409         Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
1410         to make it more general. Rename associated enums and methods similarly.
1411
1412         * platform/graphics/GraphicsLayer.h:
1413         (WebCore::GraphicsLayer::setContentsToMedia):
1414         * platform/graphics/mac/GraphicsLayerCA.h:
1415         (WebCore::GraphicsLayerCA::):
1416         * platform/graphics/mac/GraphicsLayerCA.mm:
1417         (WebCore::GraphicsLayerCA::setContentsToMedia):
1418         (WebCore::GraphicsLayerCA::commitLayerChanges):
1419         (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
1420         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1421         (WebCore::MediaPlayerPrivate::createQTMovieLayer):
1422         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
1423
1424 2010-01-10  Oliver Hunt  <oliver@apple.com>
1425
1426         Reviewed by Nikolas Zimmerman.
1427
1428         Bad DOM performance in large SVG files
1429         https://bugs.webkit.org/show_bug.cgi?id=30055
1430
1431         Cull RenderPaths before passing on to the underlying graphics system.
1432
1433         * rendering/RenderPath.cpp:
1434         (WebCore::RenderPath::paint):
1435         (WebCore::RenderPath::nodeAtFloatPoint):
1436
1437 2010-01-10  Adam Barth  <abarth@webkit.org>
1438
1439         Reviewed by Darin Adler.
1440
1441         Add defensive initialization of iframe sandbox flags
1442         https://bugs.webkit.org/show_bug.cgi?id=32368
1443
1444         We now initialize the SecurityOrigin's sandbox state directly duing
1445         construction.  This lets us properly set the isUnique bit.
1446
1447         Tests: http/tests/security/sandboxed-iframe-origin-add.html
1448                http/tests/security/sandboxed-iframe-origin-remove.html
1449
1450         * WebCore.base.exp:
1451         * dom/Document.cpp:
1452         (WebCore::Document::initSecurityContext):
1453         * page/SecurityOrigin.cpp:
1454         (WebCore::SecurityOrigin::SecurityOrigin):
1455         (WebCore::SecurityOrigin::create):
1456         (WebCore::SecurityOrigin::setSandboxFlags):
1457         * page/SecurityOrigin.h:
1458
1459 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1460
1461         Reviewed by Timothy Hatcher.
1462
1463         Web Inspector: Inspect Element selects the wrong element.
1464         Drive-by fix that focuses dom tree upon settting focuesDOMNode.
1465
1466         https://bugs.webkit.org/show_bug.cgi?id=33449
1467
1468         * inspector/front-end/ElementsPanel.js:
1469         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
1470         (WebInspector.ElementsPanel.prototype.setDocument):
1471         * inspector/front-end/treeoutline.js:
1472         (TreeElement.prototype.select):
1473
1474 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1475
1476         Reviewed by Timothy Hatcher.
1477
1478         Web Inspector: Introduce support for flexible line height in the text editor.
1479
1480         https://bugs.webkit.org/show_bug.cgi?id=33431
1481
1482         * inspector/front-end/TextEditor.js:
1483         (WebInspector.TextEditor):
1484         (WebInspector.TextEditor.prototype._offsetToLineNumber):
1485         (WebInspector.TextEditor.prototype._lineNumberToOffset):
1486         (WebInspector.TextEditor.prototype._lineHeight):
1487         (WebInspector.TextEditor.prototype.reveal):
1488         (WebInspector.TextEditor.prototype._textChanged):
1489         (WebInspector.TextEditor.prototype._selectionChanged):
1490         (WebInspector.TextEditor.prototype._updateSize):
1491         (WebInspector.TextEditor.prototype._paintLines):
1492         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1493         (WebInspector.TextEditor.prototype._paintLineNumbers):
1494         (WebInspector.TextEditor.prototype._paintCurrentLine):
1495         (WebInspector.TextEditor.prototype._scroll):
1496         (WebInspector.TextEditor.prototype._repaintOnScroll):
1497         (WebInspector.TextEditor.prototype._caretForMouseEvent):
1498         (WebInspector.TextEditor.prototype._handleNavigationKey):
1499         (WebInspector.TextEditor.prototype._updateCursor):
1500         (WebInspector.TextEditor.prototype._invalidateHighlight):
1501         (WebInspector.TextEditor.prototype._paintSelection):
1502         (WebInspector.TextEditor.prototype._initFont):
1503         (WebInspector.TextCursor.prototype.setTextLineHeight):
1504
1505 2010-01-10  Pavel Feldman  <pfeldman@chromium.org>
1506
1507         Reviewed by Timothy Hatcher.
1508
1509         Web Inspector: Do not repaint line numbers while editing within line.
1510
1511         https://bugs.webkit.org/show_bug.cgi?id=33427
1512
1513         * inspector/front-end/TextEditor.js:
1514         (WebInspector.TextEditor.prototype._textChanged):
1515         (WebInspector.TextEditor.prototype._selectionChanged):
1516         (WebInspector.TextEditor.prototype._repaintAll):
1517         (WebInspector.TextEditor.prototype._paintLines):
1518         (WebInspector.TextEditor.prototype._paintLinesContinuation):
1519         (WebInspector.TextEditor.prototype._paintLineNumbers):
1520         (WebInspector.TextEditor.prototype._updateCursor):
1521         (WebInspector.TextEditor.prototype._copy):
1522
1523 2010-01-10  Adam Barth  <abarth@webkit.org>
1524
1525         Unreviewed whitespace fixes.
1526
1527         * html/HTMLFrameOwnerElement.cpp:
1528         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
1529         * loader/FrameLoader.cpp:
1530         (WebCore::FrameLoader::updateSandboxFlags):
1531         * loader/FrameLoader.h:
1532
1533 2010-01-09  Adam Barth  <abarth@webkit.org>
1534
1535         Reviewed by Darin Adler.
1536
1537         Unify origin sandbox flag with m_noAccess in SecurityOrigin
1538         https://bugs.webkit.org/show_bug.cgi?id=32372
1539
1540         It turns out the SandboxOrigin bit is slightly different than the
1541         unique origin concept because the sandbox bit is inherited by iframes.
1542         These concepts are separate in the spec, so I think it's ok to keep
1543         them separate in the implementation as well.
1544
1545         No new tests because there is no behavior change.
1546
1547         * dom/Document.cpp:
1548         (WebCore::Document::cookie):
1549         (WebCore::Document::setCookie):
1550         * loader/CrossOriginAccessControl.cpp:
1551         (WebCore::passesAccessControlCheck):
1552         * page/SecurityOrigin.cpp:
1553         (WebCore::schemesWithUniqueOrigins):
1554         (WebCore::SecurityOrigin::SecurityOrigin):
1555         (WebCore::SecurityOrigin::canAccess):
1556         (WebCore::SecurityOrigin::canRequest):
1557         (WebCore::SecurityOrigin::taintsCanvas):
1558         (WebCore::SecurityOrigin::setSandboxFlags):
1559         (WebCore::SecurityOrigin::toString):
1560         (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
1561         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
1562         * page/SecurityOrigin.h:
1563         (WebCore::SecurityOrigin::canAccessDatabase):
1564         (WebCore::SecurityOrigin::canAccessStorage):
1565         (WebCore::SecurityOrigin::canAccessCookies):
1566         (WebCore::SecurityOrigin::isUnique):
1567
1568 2010-01-09  Adam Barth  <abarth@webkit.org>
1569
1570         Reviewed by Darin Adler.
1571
1572         ScriptController::isEnabled needs to be renamed
1573         https://bugs.webkit.org/show_bug.cgi?id=32063
1574
1575         Rename ScriptController::isEnabled to
1576         ScriptController::canExecuteScripts to reflect what the method actually
1577         means.  This is a trivial change, but it involved touching a lot of
1578         call sites.
1579
1580         * WebCore.PluginHostProcess.exp:
1581         * bindings/ScriptControllerBase.cpp:
1582         (WebCore::ScriptController::canExecuteScripts):
1583         (WebCore::ScriptController::executeScript):
1584         * bindings/js/JSEventListener.cpp:
1585         (WebCore::JSEventListener::handleEvent):
1586         * bindings/js/JSLazyEventListener.cpp:
1587         (WebCore::JSLazyEventListener::parseCode):
1588         * bindings/js/ScheduledAction.cpp:
1589         (WebCore::ScheduledAction::execute):
1590         * bindings/js/ScriptController.cpp:
1591         (WebCore::ScriptController::bindingRootObject):
1592         (WebCore::ScriptController::windowScriptNPObject):
1593         (WebCore::ScriptController::jsObjectForPluginElement):
1594         (WebCore::ScriptController::executeScriptInWorld):
1595         * bindings/js/ScriptController.h:
1596         * bindings/js/ScriptControllerMac.mm:
1597         (WebCore::ScriptController::windowScriptObject):
1598         * bindings/js/ScriptEventListener.cpp:
1599         (WebCore::createAttributeEventListener):
1600         * bindings/js/ScriptState.cpp:
1601         (WebCore::scriptStateFromNode):
1602         * bindings/v8/ScriptController.cpp:
1603         (WebCore::ScriptController::windowScriptNPObject):
1604         (WebCore::ScriptController::createScriptObjectForPluginElement):
1605         * bindings/v8/ScriptController.h:
1606         * bindings/v8/ScriptEventListener.cpp:
1607         (WebCore::createAttributeEventListener):
1608         * bindings/v8/V8Proxy.cpp:
1609         (WebCore::V8Proxy::retrieve):
1610         * dom/ScriptElement.cpp:
1611         (WebCore::ScriptElementData::evaluateScript):
1612         * dom/XMLTokenizerLibxml2.cpp:
1613         (WebCore::XMLTokenizer::startElementNs):
1614         * html/HTMLMediaElement.cpp:
1615         (WebCore::HTMLMediaElement::controls):
1616         * html/HTMLTokenizer.cpp:
1617         (WebCore::HTMLTokenizer::parseTag):
1618         (WebCore::HTMLTokenizer::processToken):
1619         * inspector/InspectorController.cpp:
1620         (WebCore::canPassNodeToJavaScript):
1621         * inspector/JavaScriptDebugServer.cpp:
1622         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
1623         * loader/FrameLoader.cpp:
1624         (WebCore::FrameLoader::isProcessingUserGesture):
1625         (WebCore::FrameLoader::open):
1626         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
1627         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1628
1629 2010-01-09  Evan Martin  <evan@chromium.org>
1630
1631         Reviewed by Eric Seidel.
1632
1633         Inspector font for errors is ugly on non-OSX platforms
1634         https://bugs.webkit.org/show_bug.cgi?id=33340
1635
1636         * css/view-source.css: Add a fallback to sans-serif on a CSS
1637         selector that previously only listed Lucida Grande.
1638
1639 2010-01-09  Dan Bernstein  <mitz@apple.com>
1640
1641         Reviewed by Nikolas Zimmermann.
1642
1643         <rdar://problem/7525778> Font fallback kills SVG kerning
1644         https://bugs.webkit.org/show_bug.cgi?id=33400
1645
1646         Test: platform/mac/fast/text/sticky-typesetting-features.html
1647
1648         Cache font attributes separately for different typesetting features.
1649
1650         * platform/graphics/SimpleFontData.h: Replaced single-element caches
1651         with maps.
1652         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1653         (WebCore::disableLigatures): Added an ATSUStyle parameter.
1654         (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
1655         initialize if necessary. Return the ATSUStyle.
1656         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
1657         Use the ATSUStyle returned from initializeATSUStyle().
1658         * platform/graphics/mac/SimpleFontDataMac.mm:
1659         (WebCore::SimpleFontData::platformInit):
1660         (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
1661         map.
1662         (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
1663         dictionary in the map and initialize if necessary.
1664
1665 2010-01-08  Adam Barth  <abarth@webkit.org>
1666
1667         Unreviewed.  Fix namespace indent for SecurityOrigin.h.
1668
1669         * page/SecurityOrigin.h:
1670         (WebCore::SecurityOrigin::domainWasSetInDOM):
1671         (WebCore::SecurityOrigin::protocol):
1672         (WebCore::SecurityOrigin::host):
1673         (WebCore::SecurityOrigin::domain):
1674         (WebCore::SecurityOrigin::port):
1675         (WebCore::SecurityOrigin::canLoadLocalResources):
1676         (WebCore::SecurityOrigin::setSandboxFlags):
1677         (WebCore::SecurityOrigin::isSandboxed):
1678         (WebCore::SecurityOrigin::canAccessDatabase):
1679         (WebCore::SecurityOrigin::canAccessStorage):
1680         (WebCore::SecurityOrigin::):
1681
1682 2010-01-08  Adam Barth  <abarth@webkit.org>
1683
1684         Reviewed by Dmitry Titov.
1685
1686         bindings/v8/DOMData is missing a virtual destructor
1687         https://bugs.webkit.org/show_bug.cgi?id=33390
1688
1689         DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
1690         but it does not have a virtual destructor. While this isn't currently causing
1691         any leaks, since there are no instances of ChildThreadDOMData or
1692         MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
1693         compiler generates the following compilation error:
1694
1695         "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
1696         functions and accessible non-virtual destructor"
1697
1698         We therefore need to add a virtual destructor to DOMData.
1699
1700         * bindings/v8/DOMData.cpp:
1701         (WebCore::DOMData::~DOMData):
1702         * bindings/v8/DOMData.h:
1703
1704 2010-01-08  Daniel Bates  <dbates@webkit.org>
1705
1706         Reviewed by Adam Barth.
1707
1708         https://bugs.webkit.org/show_bug.cgi?id=33417
1709
1710         Cleans up style errors exposed by the patch for bug #33198.
1711
1712         No functionality was changed. So, no new tests.
1713
1714         * platform/graphics/SimpleFontData.h:
1715         * plugins/PluginPackage.cpp:
1716
1717 2010-01-08  Simon Fraser  <simon.fraser@apple.com>
1718
1719         Reviewed by Dan Bernstein.
1720
1721         WebGL canvas paints background color twice
1722         https://bugs.webkit.org/show_bug.cgi?id=33361
1723
1724         Clean up some logic around "directly composited" content: some images, video, and WebGL.
1725
1726         We previously set the GraphicsLayer background color to the CSS background color
1727         in some cases where the box has no other decorations. However, the content 
1728         layer's bounds do not correspond with the background box in many cases,
1729         and we could end up both painting the background color, and setting it on the layer.
1730         
1731         Simplify this logic to never use layer background colors, and thus skip allocating
1732         backing store only when the element has no visible box decorations.
1733
1734         Tests: compositing/images/direct-image-background-color.html
1735                compositing/reflections/simple-composited-reflections.html
1736                compositing/video/video-background-color.html
1737                compositing/webgl/webgl-background-color.html
1738                compositing/webgl/webgl-blending.html
1739
1740         * rendering/RenderLayerBacking.h:
1741         * rendering/RenderLayerBacking.cpp:
1742         (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
1743         (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
1744         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
1745         is renamed to isDirectlyCompositedImage() and only applies to images now. 
1746         No longer set layer background color.
1747         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
1748         as the argument to setDrawsContent().
1749         (WebCore::hasBoxDecorationsOrBackground): Renamed.
1750         (WebCore::RenderLayerBacking::hasNonCompositingContent):
1751         (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
1752         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
1753         hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
1754         (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
1755         if the layer (and its non-composited children) has any content that must be painted into backing store.
1756         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
1757         and reduced to only apply to images.
1758         (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
1759         canUseDirectCompositing() scope.
1760
1761 2010-01-08  Steve Block  <steveblock@google.com>
1762
1763         Reviewed by Darin Adler.
1764
1765         Use member initialization syntax instead of assignment for member variables of Document used
1766         for determining minimum layout delay.
1767         https://bugs.webkit.org/show_bug.cgi?id=33316
1768
1769         No new tests, style change only.
1770
1771         * dom/Document.cpp: Modified.
1772         (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.
1773
1774 2010-01-08  Kenneth Russell  <kbr@google.com>
1775
1776         Reviewed by Dimitri Glazkov.
1777
1778         Passing array that is too large to set method of WebGLArrays does not throw an exception
1779         https://bugs.webkit.org/show_bug.cgi?id=33352
1780
1781         Added needed range checks to JSC and V8 custom bindings. Expanded
1782         preexisting test suite for WebGLArrays and updated its expected
1783         results. Tested in WebKit and Chromium.
1784
1785         Test: fast/canvas/webgl/array-set-out-of-bounds.html
1786
1787         * bindings/js/JSWebGLArrayHelper.h:
1788         (WebCore::setWebGLArrayFromArray):
1789         * bindings/v8/custom/V8WebGLArrayCustom.h:
1790         (WebCore::setWebGLArrayFromArray):
1791
1792 2010-01-08  Alexey Proskuryakov  <ap@apple.com>
1793
1794         Reviewed by Dan Bernstein.
1795
1796         https://bugs.webkit.org/show_bug.cgi?id=32962
1797         HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element
1798
1799         Also fixed the same for STYLE elements.
1800
1801         Tests: fast/dom/css-innerHTML.html
1802                fast/dom/script-innerHTML-x.xhtml
1803                fast/dom/script-innerHTML.html
1804
1805         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
1806         matching Firefox.
1807
1808 2010-01-08  Beth Dakin  <bdakin@apple.com>
1809
1810         Reviewed by Oliver Hunt.
1811
1812         Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
1813         with -webkit-shadow on svg shapes
1814         -and-
1815         <rdar://problem/7389149>
1816
1817         Inflate the repaintRect for the shadow using its extent.
1818         * rendering/RenderForeignObject.cpp:
1819         (WebCore::RenderForeignObject::computeRectForRepaint):
1820         * rendering/RenderSVGImage.cpp:
1821         (WebCore::RenderSVGImage::computeRectForRepaint):
1822         * rendering/RenderSVGModelObject.cpp:
1823         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1824         * rendering/RenderSVGRoot.cpp:
1825         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1826         (WebCore::RenderSVGRoot::computeRectForRepaint):
1827         * rendering/RenderSVGText.cpp:
1828         (WebCore::RenderSVGText::computeRectForRepaint):
1829         * rendering/SVGRenderSupport.cpp:
1830         (WebCore::getSVGShadowExtent):
1831         (WebCore::SVGRenderBase::inflateForShadow):
1832         * rendering/SVGRenderSupport.h:
1833
1834 2010-01-08  Kenneth Russell  <kbr@google.com>
1835
1836         Reviewed by Dimitri Glazkov.
1837
1838         WebGLArray subclasses do the wrong conversion in indexSetter
1839         https://bugs.webkit.org/show_bug.cgi?id=33350
1840
1841         Test: fast/canvas/webgl/array-setters.html
1842
1843         * bindings/js/JSWebGLFloatArrayCustom.cpp:
1844         (WebCore::JSWebGLFloatArray::indexSetter):
1845         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
1846         (WebCore::JSWebGLUnsignedIntArray::indexSetter):
1847
1848 2010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1849
1850         Reviewed by Kenneth Rohde Christiansen.
1851
1852         [Qt] Delegation client
1853         https://bugs.webkit.org/show_bug.cgi?id=32826
1854
1855         Factory related code removed from QtAbstractWebPopup. Popups are now created
1856         by ChromeClientQt.
1857         Popup content information struct added to class QtAbstractWebPopup.
1858         PopupMenuClient is now hidden from higher layers.
1859         QtAbstractWebPopup now receives content information and font as parameters
1860         of method populate.
1861         QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.
1862
1863         * WebCore.pro:
1864         * platform/qt/PopupMenuQt.cpp:
1865         (WebCore::PopupMenu::PopupMenu):
1866         (WebCore::getItems):
1867         (WebCore::PopupMenu::show):
1868         * platform/qt/QtAbstractWebPopup.cpp:
1869         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
1870         (WebCore::QtAbstractWebPopup::popupDidHide):
1871         (WebCore::QtAbstractWebPopup::valueChanged):
1872         * platform/qt/QtAbstractWebPopup.h:
1873         (WebCore::QtAbstractWebPopup::Item::):
1874         * platform/qt/QtFallbackWebPopup.cpp: Removed.
1875         * platform/qt/QtFallbackWebPopup.h: Removed.
1876
1877 2010-01-08  Yuzo Fujishima  <yuzo@google.com>
1878
1879         Reviewed by Darin Adler.
1880
1881         Skip invalid blocks in CSS property declarations.
1882         https://bugs.webkit.org/show_bug.cgi?id=31231
1883         https://bugs.webkit.org/show_bug.cgi?id=26619
1884
1885         This patch makes the CSS parser skip property declarations containing invalid blocks.
1886
1887         Test: fast/css/parsing-error-recovery.html
1888
1889         * css/CSSGrammar.y:
1890
1891 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
1892
1893         Reviewed by Beth Dakin.
1894
1895         AX: CSS content not returned correctly in AX
1896         https://bugs.webkit.org/show_bug.cgi?id=33308
1897
1898         Test: platform/mac/accessibility/css-content-attribute.html
1899
1900         * accessibility/AccessibilityRenderObject.cpp:
1901         (WebCore::AccessibilityRenderObject::textUnderElement):
1902
1903 2010-01-08  Chris Marrin  <cmarrin@apple.com>
1904
1905         Reviewed by Adam Roben.
1906
1907         Implement full-screen video for Windows
1908         https://bugs.webkit.org/show_bug.cgi?id=31318
1909         
1910         This is mostly support logic for taking video
1911         into and out of full-screen. It also contains the
1912         QTMovieWin piece which adds support for the actual
1913         full-screen window itself. Events from the window
1914         are sent to the FullscreenVideosController for handling.
1915
1916         * loader/FrameLoader.cpp:
1917         (WebCore::FrameLoader::addData):
1918         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1919         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1920         (WebCore::MediaPlayerPrivate::platformMedia):
1921         * platform/graphics/win/QTMovieWin.cpp:
1922         (QTMovieWinPrivate::QTMovieWinPrivate):
1923         (QTMovieWin::initializeQuickTime):
1924         (QTMovieWin::_handleMessages):
1925         (QTMovieWin::enterFullscreen):
1926         (QTMovieWin::exitFullscreen):
1927         * platform/graphics/win/QTMovieWin.h:
1928
1929 2010-01-08  Matt Perry  <mpcomplete@chromium.org>
1930
1931         Reviewed by Adam Barth.
1932
1933         Fix a regression that removed a call to
1934         FrameLoaderClient::didDestroyScriptContextForFrame.
1935         https://bugs.webkit.org/show_bug.cgi?id=33347
1936
1937         * bindings/v8/V8DOMWindowShell.cpp:
1938         (WebCore::V8DOMWindowShell::disposeContextHandles):
1939
1940 2010-01-08  Brent Fulgham  <bfulgham@webkit.org>
1941
1942         Reviewed by Adam Roben.
1943
1944         WebKit plugins are not rendered during printing.
1945         https://bugs.webkit.org/show_bug.cgi?id=33022.
1946
1947         * plugins/win/PluginViewWin.cpp:
1948         (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
1949           cairo printing surface to flush so that blank regions do
1950           not write over the plugin's paint operations.
1951         * rendering/RenderLayer.cpp: Build fix.
1952         (WebCore::RenderLayer::beginTransparencyLayers): Correct
1953           method signature missing for ColorSpace.
1954
1955 2010-01-08  Chris Fleizach  <cfleizach@apple.com>
1956
1957         Reviewed by Eric Seidel.
1958
1959         REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
1960         https://bugs.webkit.org/show_bug.cgi?id=33300
1961
1962         * accessibility/mac/AccessibilityObjectWrapper.mm:
1963         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
1964         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
1965
1966 2010-01-08  Pavel Feldman  <pfeldman@chromium.org>
1967
1968         Reviewed by Timothy Hatcher.
1969
1970         Web Inspector: Regex-based syntax highlighting is slow.
1971
1972         https://bugs.webkit.org/show_bug.cgi?id=33330
1973
1974         * WebCore.gypi:
1975         * WebCore.vcproj/WebCore.vcproj:
1976         * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
1977         * inspector/front-end/JavaScriptTokenizer.js: Added.
1978         (WebInspector.JavaScriptTokenizer):
1979         (WebInspector.JavaScriptTokenizer.prototype.set line):
1980         (WebInspector.JavaScriptTokenizer.prototype.getCondition):
1981         (WebInspector.JavaScriptTokenizer.prototype.setCondition):
1982         (WebInspector.JavaScriptTokenizer.prototype._charAt):
1983         (WebInspector.JavaScriptTokenizer.prototype.nextToken):
1984         * inspector/front-end/JavaScriptTokenizer.re2js: Added.
1985         * inspector/front-end/TextEditorHighlighter.js:
1986         (WebInspector.TextEditorHighlighter):
1987         (WebInspector.TextEditorHighlighter.prototype.highlight):
1988         (WebInspector.TextEditorHighlighter.prototype._lex):
1989         * inspector/front-end/WebKit.qrc:
1990         * inspector/front-end/inspector.html:
1991
1992 2010-01-07  Mike Belshe  <mbelshe@chromium.org>
1993
1994         Reviewed by Darin Adler.
1995
1996         Fix Spdy casing to match style guide.
1997
1998         https://bugs.webkit.org/show_bug.cgi?id=33326
1999
2000         * platform/network/chromium/ResourceResponse.h:
2001         (WebCore::ResourceResponse::ResourceResponse):
2002         (WebCore::ResourceResponse::wasFetchedViaSPDY):
2003         (WebCore::ResourceResponse::setWasFetchedViaSPDY):
2004
2005 2010-01-07  Daniel Bates  <dbates@rim.com>
2006
2007         Reviewed by Eric Seidel.
2008
2009         https://bugs.webkit.org/show_bug.cgi?id=32987
2010
2011         Added ENABLE_XHTMLMP flag. Disabled by default.
2012
2013         * Configurations/FeatureDefines.xcconfig:
2014         * GNUmakefile.am:
2015         * WebCore.pro:
2016         * WebCore.xcodeproj/project.pbxproj:
2017         * config.h:
2018
2019 2010-01-07  Stephanie Lewis  <slewis@apple.com>
2020
2021         Rolled out http://trac.webkit.org/changeset/52778 due to rolling
2022         out http://trac.webkit.org/changeset/52756
2023
2024         * dom/Document.cpp:
2025         (WebCore::Document::recalcStyle):
2026         * editing/SelectionController.cpp:
2027         (WebCore::SelectionController::layout):
2028         (WebCore::SelectionController::recomputeCaretRect):
2029         (WebCore::SelectionController::invalidateCaretRect):
2030         (WebCore::SelectionController::paintCaret):
2031         * html/HTMLFormControlElement.cpp:
2032         (WebCore::HTMLFormControlElement::attach):
2033         * html/HTMLInputElement.cpp:
2034         (WebCore::HTMLInputElement::attach):
2035         * page/Frame.cpp:
2036         (WebCore::Frame::revealSelection):
2037
2038 2010-01-07  Stephanie Lewis  <slewis@apple.com>
2039
2040         Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
2041
2042         * dom/Document.cpp:
2043         (WebCore::Document::updateLayout):
2044         * editing/SelectionController.cpp:
2045         (WebCore::SelectionController::SelectionController):
2046         (WebCore::SelectionController::setSelection):
2047         * editing/SelectionController.h:
2048         * page/Frame.cpp:
2049         (WebCore::Frame::setCaretVisible):
2050         (WebCore::Frame::selectionLayoutChanged):
2051         (WebCore::Frame::caretBlinkTimerFired):
2052         (WebCore::Frame::selectionBounds):
2053         * page/FrameView.cpp:
2054         (WebCore::FrameView::needsLayout):
2055
2056 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2057
2058         Reviewed by Sam Weinig.
2059
2060         Fix a crash seen on the buildbots.
2061
2062         * bindings/js/JSDOMWindowBase.cpp:
2063         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
2064         function tracking here; it's too late, as some specific functions
2065         may already have been tracked in the base class constructor.
2066
2067 2010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
2068
2069         Reviewed by Dirk Schulze.
2070
2071         SVGTextElement & friends need to implement svgAttributeChanged
2072         https://bugs.webkit.org/show_bug.cgi?id=33284
2073
2074         Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
2075         childrenChanged() has to be implemented as well for SVGTextElement.
2076
2077         Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
2078         and on error case, after parsing - previously the calling site had to take care of that.
2079
2080         Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
2081                svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
2082                svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
2083
2084         * svg/SVGGradientElement.cpp:
2085         (WebCore::SVGGradientElement::parseMappedAttribute):
2086         * svg/SVGPatternElement.cpp:
2087         (WebCore::SVGPatternElement::parseMappedAttribute):
2088         * svg/SVGStyledTransformableElement.cpp:
2089         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
2090         * svg/SVGTRefElement.cpp:
2091         (WebCore::SVGTRefElement::svgAttributeChanged):
2092         * svg/SVGTRefElement.h:
2093         * svg/SVGTextElement.cpp:
2094         (WebCore::SVGTextElement::parseMappedAttribute):
2095         (WebCore::SVGTextElement::svgAttributeChanged):
2096         (WebCore::SVGTextElement::childrenChanged):
2097         * svg/SVGTextElement.h:
2098         * svg/SVGTextPositioningElement.cpp:
2099         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
2100         * svg/SVGTextPositioningElement.h:
2101         * svg/SVGTransformable.cpp:
2102         (WebCore::SVGTransformable::parseTransformAttribute):
2103         * svg/SVGTransformable.h:
2104
2105 2010-01-07  Brian Weinstein  <bweinstein@apple.com>
2106
2107         Reviewed by Adele Peterson.
2108
2109         Padding in popup menu gets lost with styled <select> in Windows.
2110         Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
2111
2112         [Win] Support padding-right on selects when webkit-appearance is off. Added a test
2113         case for narrow selects with -webkit-appearance: none, and padding left and right to
2114         show that both types of padding are honored.
2115
2116         * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
2117         * platform/win/PopupMenuWin.cpp:
2118         (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
2119         * rendering/RenderMenuList.cpp:
2120         (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
2121         the hardcoded constant.
2122
2123 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
2124
2125         Reviewed by Geoffrey Garen.
2126
2127         https://bugs.webkit.org/show_bug.cgi?id=33057
2128         REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
2129
2130         <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
2131
2132         * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
2133         possible clients, but keeping the current design for now.
2134
2135 2010-01-07  Brent Fulgham  <bfulgham@webkit.org>
2136
2137         Reviewed by Jon Honeycutt.
2138
2139         Account for scale and current context position (as well as page
2140         position) in the device context world transform passed to
2141         plugins.  This is especially important for print surface DPI.
2142         http://bugs.webkit.org/show_bug.cgi?id=32909.
2143
2144         * plugins/win/PluginViewWin.cpp:
2145         (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
2146           world context handling to include scaling and translation
2147           already set for the CTM.
2148
2149 2010-01-07  Nate Chapin  <japhet@chromium.org>
2150
2151         Reviewed by Dimitri Glazkov.
2152
2153         Generate V8 bindings header declarations for named and indexed accessors.
2154
2155         * bindings/scripts/CodeGeneratorV8.pm:
2156         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2157         * bindings/v8/custom/V8CustomBinding.h:
2158         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2159         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2160         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2161         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2162         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2163         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2164         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2165         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2166         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2167         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2168         * bindings/v8/custom/V8NodeListCustom.cpp:
2169         * bindings/v8/custom/V8StorageCustom.cpp:
2170         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2171         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2172         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2173         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2174         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2175         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2176         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2177         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2178
2179 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2180
2181         Better build fix: use 'this->structure()', since 'structure' is a
2182         PassRefPtr, and therefore null.
2183
2184         * bindings/js/JSDOMWindowBase.cpp:
2185         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2186
2187 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2188
2189         Build fix: avoid a name conflict by using the local 'structure' instead
2190         of the member 'structure()'.
2191
2192         * bindings/js/JSDOMWindowBase.cpp:
2193         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2194
2195 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
2196
2197         Build fix.
2198
2199         Add RenderEmbeddedObject.h/cpp to all the build systems.
2200
2201         * Android.mk:
2202         * GNUmakefile.am:
2203         * WebCore.gypi:
2204         * WebCore.pro:
2205         * WebCore.vcproj/WebCore.vcproj:
2206         * WebCoreSources.bkl:
2207
2208 2010-01-07  Geoffrey Garen  <ggaren@apple.com>
2209
2210         Reviewed by Sam Weinig.
2211
2212         Safari memory usage skyrockets using new Google AdWords interface
2213         https://bugs.webkit.org/show_bug.cgi?id=33343
2214
2215         * bindings/js/JSDOMWindowBase.cpp:
2216         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
2217         tracking for the window object, since there's no way to do direct
2218         method calls on the window object; they all go through the window shell.
2219
2220 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
2221
2222         Reviewed by Kevin Decker, Darin Adler.
2223
2224         https://bugs.webkit.org/show_bug.cgi?id=33338
2225         Create a renderer for <object> and <embed>
2226         
2227         Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
2228         Instances of RenderPartObject are now only allocated for iframes.
2229         
2230         Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
2231
2232         * WebCore.xcodeproj/project.pbxproj:
2233         Add RenderEmbeddedObject.h/cpp
2234         
2235         * html/HTMLEmbedElement.cpp:
2236         (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
2237         (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
2238
2239         * html/HTMLMediaElement.cpp:
2240         (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
2241         (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
2242
2243         * html/HTMLObjectElement.cpp:
2244         (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
2245         (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
2246
2247         * page/FrameView.h:
2248         * page/FrameView.cpp:
2249         (WebCore::FrameView::addWidgetToUpdate):
2250         (WebCore::FrameView::removeWidgetToUpdate):
2251         (WebCore::FrameView::updateWidgets):
2252         Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
2253         
2254         * rendering/RenderEmbeddedObject.cpp: Added.
2255         * rendering/RenderEmbeddedObject.h: Added.
2256         Most of the code moved from RenderPartObject.
2257         
2258         * rendering/RenderObject.h:
2259         (WebCore::RenderObject::isEmbeddedObject): New method.
2260
2261         * rendering/RenderPart.cpp:
2262         (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
2263         * rendering/RenderPart.h: Comments.
2264         
2265         * rendering/RenderPartObject.h:
2266         * rendering/RenderPartObject.cpp:
2267         (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
2268         (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
2269
2270 2010-01-07  Simon Fraser  <simon.fraser@apple.com>
2271
2272         Reviewed by Darin Adler.
2273
2274         https://bugs.webkit.org/show_bug.cgi?id=33338
2275         Create a renderer for <object> and <embed>
2276
2277         First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
2278         so we don't need to call it here, and can thus remove the attach() override entirely.
2279
2280         * html/HTMLIFrameElement.cpp:
2281         * html/HTMLIFrameElement.h:
2282
2283 2009-01-07  Pavel Feldman  <pfeldman@chromium.org>
2284
2285         Reviewed by Timothy Hatcher.
2286
2287         Web Inspector: Migrate to canvas-based text viewer / editor that scales.
2288
2289         https://bugs.webkit.org/show_bug.cgi?id=33001
2290
2291         * WebCore.gypi:
2292         * WebCore.vcproj/WebCore.vcproj:
2293         * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
2294         (WebInspector.JavaScriptHighlighterScheme):
2295         * inspector/front-end/KeyboardShortcut.js:
2296         * inspector/front-end/TextEditor.js: Added.
2297         (WebInspector.TextEditor):
2298         (WebInspector.TextSelectionModel):
2299         (WebInspector.TextCursor):
2300         * inspector/front-end/TextEditorHighlighter.js: Added.
2301         (WebInspector.TextEditorHighlighter):
2302         (WebInspector.TextEditorHighlighter.prototype.highlight):
2303         (WebInspector.TextEditorHighlighter.prototype._lex):
2304         * inspector/front-end/TextEditorModel.js: Added.
2305         (WebInspector.TextRange):
2306         (WebInspector.TextRange.prototype.clone):
2307         (WebInspector.TextEditorModel):
2308         * inspector/front-end/WebKit.qrc:
2309         * inspector/front-end/inspector.css:
2310         * inspector/front-end/inspector.html:
2311
2312 2010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
2313
2314         Reviewed by Darin Adler.
2315
2316         document.title does not replace or remove space characters
2317         https://bugs.webkit.org/show_bug.cgi?id=27032
2318
2319         Test: fast/dom/Document/document-title-get.html
2320
2321         * dom/Document.cpp: 
2322         (WebCore::Document::Document): 
2323         Initialization of m_rawTitle
2324         (WebCore::canonicalizedTitle): 
2325         Moved from DocumentLoader.cpp with minor edits
2326         (WebCore::Document::updateTitle): 
2327         Ensures the title is canonicalized
2328         (WebCore::Document::setTitle): 
2329         Uses m_rawTitle instaed of m_title 
2330         (WebCore::Document::removeTitle): 
2331         Uses m_rawTitle instead of m_title
2332         
2333         * dom/Document.h: 
2334         Added m_rawTitle that stores the passed in title, m_title now stores the 
2335         canonicalized title
2336         
2337         * loader/DocumentLoader.cpp:
2338         (WebCore::DocumentLoader::setTitle): 
2339         The title passed in is now canonicalized in Document.cpp
2340
2341 2010-01-07  Yuzo Fujishima  <yuzo@google.com>
2342
2343         Reviewed by Darin Adler.
2344
2345         Allow leading/trailing space for CSS nth-*() and lang().
2346         https://bugs.webkit.org/show_bug.cgi?id=17248
2347
2348         For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
2349         See the bug comments for why we don't allow space at other places.
2350
2351         * css/CSSGrammar.y:
2352
2353 2010-01-07  Chris Fleizach  <cfleizach@apple.com>
2354
2355         Reviewed by Beth Dakin.
2356
2357         AX: contentEditable DIVs are not AX accessible
2358         https://bugs.webkit.org/show_bug.cgi?id=33325
2359
2360         Test: accessibility/contenteditable-hidden-div.html
2361
2362         * accessibility/AccessibilityRenderObject.cpp:
2363         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2364         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2365
2366 2010-01-07  Adam Barth  <abarth@webkit.org>
2367
2368         Unreviewed.  Resolve merge conflict.
2369
2370         * bindings/v8/V8Proxy.cpp:
2371         (WebCore::V8Proxy::setContextDebugId):
2372
2373 2010-01-07  Adam Barth  <abarth@webkit.org>
2374
2375         No review, rolling out r52847.
2376         http://trac.webkit.org/changeset/52847
2377         https://bugs.webkit.org/show_bug.cgi?id=33232
2378
2379         Might have caused a perf regression.  I'm rolling this out to see if it
2380         heals the perf bot.
2381
2382         * bindings/v8/ScriptController.cpp:
2383         (WebCore::ScriptController::ScriptController):
2384         (WebCore::ScriptController::~ScriptController):
2385         (WebCore::ScriptController::updateSecurityOrigin):
2386         (WebCore::ScriptController::evaluateInIsolatedWorld):
2387         (WebCore::ScriptController::haveInterpreter):
2388         (WebCore::ScriptController::clearWindowShell):
2389         (WebCore::ScriptController::updateDocument):
2390         * bindings/v8/ScriptController.h:
2391         * bindings/v8/V8DOMWindowShell.cpp:
2392         * bindings/v8/V8DOMWindowShell.h:
2393         * bindings/v8/V8DOMWrapper.cpp:
2394         (WebCore::V8DOMWrapper::instantiateV8Object):
2395         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
2396         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2397         * bindings/v8/V8IsolatedContext.cpp:
2398         (WebCore::V8IsolatedContext::V8IsolatedContext):
2399         * bindings/v8/V8Proxy.cpp:
2400         (WebCore::V8Proxy::V8Proxy):
2401         (WebCore::V8Proxy::~V8Proxy):
2402         (WebCore::V8Proxy::handleOutOfMemory):
2403         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2404         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2405         (WebCore::V8Proxy::clearForClose):
2406         (WebCore::V8Proxy::clearForNavigation):
2407         (WebCore::V8Proxy::context):
2408         (WebCore::V8Proxy::mainWorldContext):
2409         (WebCore::V8Proxy::currentContext):
2410         (WebCore::V8Proxy::setContextDebugId):
2411         * bindings/v8/V8Proxy.h:
2412         (WebCore::V8Proxy::windowShell):
2413         * bindings/v8/WorldContextHandle.cpp:
2414         (WebCore::WorldContextHandle::adjustedContext):
2415
2416 2010-01-07  Dan Bernstein  <mitz@apple.com>
2417
2418         Build fix
2419
2420         * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
2421
2422 2010-01-07  Dan Bernstein  <mitz@apple.com>
2423
2424         Reviewed by Sam Weinig.
2425
2426         Added Font::typesettingFeatures() and deployed it
2427
2428         No change in funcitonality
2429
2430         * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
2431         * platform/graphics/Font.h:
2432         (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
2433             features from the text redndering mode.
2434         * platform/graphics/FontFastPath.cpp:
2435         (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
2436         * platform/graphics/SimpleFontData.h:
2437         * platform/graphics/TypesettingFeatures.h: Added.
2438         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2439         (WebCore::disableLigatures): Take TypesettingFeatures instead of
2440             TextRenderingMode.
2441         (WebCore::initializeATSUStyle): Ditto.
2442         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2443             Use typesettingFeatures().
2444         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2445         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2446             Ditto.
2447         * platform/graphics/mac/SimpleFontDataMac.mm:
2448         (WebCore::SimpleFontData::getCFStringAttributes): Take
2449             TypesettingFeatures instead of TextRenderingMode.
2450         * rendering/RenderBlockLineLayout.cpp:
2451         (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
2452
2453 2010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
2454
2455         No review, rolling out r52900.
2456         http://trac.webkit.org/changeset/52900
2457         https://bugs.webkit.org/show_bug.cgi?id=30055
2458
2459         Broke over 30 SVG pixel tests.
2460
2461         * rendering/RenderPath.cpp:
2462         (WebCore::RenderPath::paint):
2463
2464 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
2465
2466         Rubber-stamped by Kenneth Rohde Christiansen.
2467
2468         [Qt] The library version number of the first package release is 4.7.0.
2469
2470         * WebCore.pro:
2471
2472 2010-01-07  Yael Aharon  <yael.aharon@nokia.com>
2473
2474         Reviewed by Kenneth Rohde Christiansen.
2475
2476         [Qt] Allow the application to override online/offline network status
2477         https://bugs.webkit.org/show_bug.cgi?id=32684
2478
2479         Added API to NetworkStateNotifier for forcing network status.
2480
2481         * platform/network/NetworkStateNotifier.h:
2482         * platform/network/qt/NetworkStateNotifierPrivate.h:
2483         * platform/network/qt/NetworkStateNotifierQt.cpp:
2484         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
2485         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
2486         (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
2487         (WebCore::NetworkStateNotifier::updateState):
2488         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2489         (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
2490
2491 2010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
2492
2493         Reviewed by Tor Arne Vestbø.
2494
2495         [Qt] Fix linkage against Qt mobility API bearer management module
2496
2497         Use the documented .pro file syntax to link against the correct
2498         library and (more importantly) get the include paths correct.
2499
2500         * WebCore.pro:
2501
2502 2010-01-07  Eric Carlson  <eric.carlson@apple.com>
2503
2504         Reviewed by Maciej Stachowiak.
2505
2506         https://bugs.webkit.org/show_bug.cgi?id=33272
2507         'abort' event still fired as a progress event
2508
2509         rdar://6710625
2510         Test media/video-error-abort.html doesn't work
2511
2512         Test: http/tests/media/video-error-abort.html
2513
2514         * html/HTMLMediaElement.cpp:
2515         (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
2516         (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
2517         in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
2518         to match spec wording.
2519         * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
2520
2521 2010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
2522
2523         Reviewed by Antti Koivisto.
2524
2525         Wrong state and TouchLists in TouchEvents
2526         https://bugs.webkit.org/show_bug.cgi?id=32878
2527
2528         Touch events changed to match the API and semantics of iPhone and
2529         Android. Each new touch point press dispatches a touchstart event with
2530         the pressed touch point(s) in the changedTouches list, and a release
2531         dispatches a touchend event with the released touch point(s) in
2532         changedTouches. Moved points dispatch a touchmove event, with the moved
2533         points in changedTouches. Old behaviour emitted only one touchstart when
2534         the first point was pressed and one touchend when the last point was
2535         released, and any events in between were touchmoves. New presses or
2536         releases could only be detected by comparing the lists touches and
2537         changedTouches.
2538
2539         * page/EventHandler.cpp:
2540         (WebCore::EventHandler::handleTouchEvent):
2541         * page/EventHandler.h:
2542
2543 2010-01-07  Kent Tamura  <tkent@chromium.org>
2544
2545         Reviewed by Maciej Stachowiak.
2546
2547         Remove COM code generation stuff.
2548         https://bugs.webkit.org/show_bug.cgi?id=32854
2549
2550         Remove the followings:
2551         - CodeGeenratorCOM.pm, COM code generator,
2552         - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
2553         - UUID attributes in IDL files.
2554
2555         * bindings/scripts/CodeGeneratorCOM.pm: Removed.
2556         * css/CSSCharsetRule.idl:
2557         * css/CSSFontFaceRule.idl:
2558         * css/CSSImportRule.idl:
2559         * css/CSSMediaRule.idl:
2560         * css/CSSPageRule.idl:
2561         * css/CSSPrimitiveValue.idl:
2562         * css/CSSRule.idl:
2563         * css/CSSRuleList.idl:
2564         * css/CSSStyleDeclaration.idl:
2565         * css/CSSStyleRule.idl:
2566         * css/CSSStyleSheet.idl:
2567         * css/CSSUnknownRule.idl:
2568         * css/CSSValue.idl:
2569         * css/CSSValueList.idl:
2570         * css/Counter.idl:
2571         * css/MediaList.idl:
2572         * css/RGBColor.idl:
2573         * css/Rect.idl:
2574         * css/StyleSheet.idl:
2575         * css/StyleSheetList.idl:
2576         * css/WebKitCSSKeyframeRule.idl:
2577         * css/WebKitCSSKeyframesRule.idl:
2578         * css/WebKitCSSTransformValue.idl:
2579         * dom/Attr.idl:
2580         * dom/CDATASection.idl:
2581         * dom/CharacterData.idl:
2582         * dom/Comment.idl:
2583         * dom/DOMImplementation.idl:
2584         * dom/Document.idl:
2585         * dom/DocumentFragment.idl:
2586         * dom/DocumentType.idl:
2587         * dom/Element.idl:
2588         * dom/Entity.idl:
2589         * dom/EntityReference.idl:
2590         * dom/Event.idl:
2591         * dom/EventListener.idl:
2592         * dom/EventTarget.idl:
2593         * dom/NamedNodeMap.idl:
2594         * dom/Node.idl:
2595         * dom/NodeList.idl:
2596         * dom/Notation.idl:
2597         * dom/ProcessingInstruction.idl:
2598         * dom/Text.idl:
2599         * html/HTMLAnchorElement.idl:
2600         * html/HTMLAppletElement.idl:
2601         * html/HTMLAreaElement.idl:
2602         * html/HTMLBRElement.idl:
2603         * html/HTMLBaseElement.idl:
2604         * html/HTMLBaseFontElement.idl:
2605         * html/HTMLBlockquoteElement.idl:
2606         * html/HTMLBodyElement.idl:
2607         * html/HTMLButtonElement.idl:
2608         * html/HTMLCanvasElement.idl:
2609         * html/HTMLCollection.idl:
2610         * html/HTMLDListElement.idl:
2611         * html/HTMLDirectoryElement.idl:
2612         * html/HTMLDivElement.idl:
2613         * html/HTMLDocument.idl:
2614         * html/HTMLElement.idl:
2615         * html/HTMLEmbedElement.idl:
2616         * html/HTMLFieldSetElement.idl:
2617         * html/HTMLFontElement.idl:
2618         * html/HTMLFormElement.idl:
2619         * html/HTMLFrameElement.idl:
2620         * html/HTMLFrameSetElement.idl:
2621         * html/HTMLHRElement.idl:
2622         * html/HTMLHeadElement.idl:
2623         * html/HTMLHeadingElement.idl:
2624         * html/HTMLHtmlElement.idl:
2625         * html/HTMLIFrameElement.idl:
2626         * html/HTMLImageElement.idl:
2627         * html/HTMLInputElement.idl:
2628         * html/HTMLIsIndexElement.idl:
2629         * html/HTMLLIElement.idl:
2630         * html/HTMLLabelElement.idl:
2631         * html/HTMLLegendElement.idl:
2632         * html/HTMLLinkElement.idl:
2633         * html/HTMLMapElement.idl:
2634         * html/HTMLMarqueeElement.idl:
2635         * html/HTMLMenuElement.idl:
2636         * html/HTMLMetaElement.idl:
2637         * html/HTMLModElement.idl:
2638         * html/HTMLOListElement.idl:
2639         * html/HTMLObjectElement.idl:
2640         * html/HTMLOptGroupElement.idl:
2641         * html/HTMLOptionElement.idl:
2642         * html/HTMLOptionsCollection.idl:
2643         * html/HTMLParagraphElement.idl:
2644         * html/HTMLParamElement.idl:
2645         * html/HTMLPreElement.idl:
2646         * html/HTMLQuoteElement.idl:
2647         * html/HTMLScriptElement.idl:
2648         * html/HTMLSelectElement.idl:
2649         * html/HTMLStyleElement.idl:
2650         * html/HTMLTableCaptionElement.idl:
2651         * html/HTMLTableCellElement.idl:
2652         * html/HTMLTableColElement.idl:
2653         * html/HTMLTableElement.idl:
2654         * html/HTMLTableRowElement.idl:
2655         * html/HTMLTableSectionElement.idl:
2656         * html/HTMLTextAreaElement.idl:
2657         * html/HTMLTitleElement.idl:
2658         * html/HTMLUListElement.idl:
2659
2660 2010-01-07  Steve Block  <steveblock@google.com>
2661
2662         Reviewed by Darin Adler.
2663
2664         Adds the ability to increase the delay used when scheduling layout.
2665         https://bugs.webkit.org/show_bug.cgi?id=32875
2666
2667         No new tests possible.
2668
2669         * dom/Document.cpp: Modified.
2670         (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
2671         (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
2672         * dom/Document.h: Modified.
2673         (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
2674
2675 2010-01-07  Kent Tamura  <tkent@chromium.org>
2676
2677         Reviewed by Eric Seidel.
2678
2679         Some IDL files lack "," separators for extended attributes.
2680         https://bugs.webkit.org/show_bug.cgi?id=33190
2681
2682         To find such mistakes, IDLParser.pm rejects whitespace characters in
2683         extended attribute names.
2684
2685         * bindings/scripts/IDLParser.pm:
2686           parseExtendedAttributes rejects whitespace in a name.
2687         * css/WebKitCSSTransformValue.idl: Add missing ",".
2688         * dom/EventTarget.idl: ditto.
2689
2690 2010-01-07  Kent Tamura  <tkent@chromium.org>
2691
2692         Reviewed by Adam Barth.
2693
2694         Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
2695         WebKitCSSTransformValue.idl correctly.
2696         https://bugs.webkit.org/show_bug.cgi?id=33193
2697
2698         CodeGeneratorV8.pm doesn't handle inheritance very well and it
2699         tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
2700         which does not exist. Because WebKitCSSTransformValue inherits
2701         CSSValueList and CSSValueList already has HadIndexGetter, we don't
2702         need to do anything for WebKitCSSTransformValue about HasIndexGetter.
2703
2704         * bindings/scripts/CodeGeneratorV8.pm:
2705           Reset $hasGetter for WebKitCSSTransformValue.
2706
2707 2010-01-07  Anton Muhin  <antonm@chromium.org>
2708
2709         Reviewed by Adam Barth.
2710
2711         Do not return strings whose handles are in near death state (that means
2712         they might be GCed) or just empty.
2713         https://bugs.webkit.org/show_bug.cgi?id=31180
2714
2715         * bindings/v8/V8Binding.cpp:
2716         (WebCore::v8ExternalString):
2717
2718 2010-01-06  MORITA Hajime  <morrita@gmail.com>
2719
2720         Reviewed by Nikolas Zimmermann.
2721
2722         SVG background color on selected text goes wrong when text has
2723         gradient stroke.
2724         https://bugs.webkit.org/show_bug.cgi?id=33069
2725
2726         Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
2727         and paint background and foreground in separate subphase.
2728         
2729         Test: svg/text/selection-background-color.xhtml
2730         
2731         * rendering/SVGCharacterLayoutInfo.h:
2732         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
2733         Added m_setupBackgroundCallback, m_setupForegroundCallback
2734         (WebCore::SVGTextChunkWalker::setupBackground):
2735         (WebCore::SVGTextChunkWalker::setupForeground):
2736         Added.
2737         * rendering/SVGInlineTextBox.cpp:
2738         (WebCore::SVGInlineTextBox::paintCharacters):
2739         pass SVGTextPaintInfo instead of SVGPaintServer
2740         * rendering/SVGInlineTextBox.h:
2741         (WebCore::SVGTextPaintSubphase):
2742         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
2743         Added.
2744         * rendering/SVGRootInlineBox.cpp:
2745         (WebCore::SVGRootInlineBox::walkTextChunks):
2746         Invoke setupBackground() and setupForeground()
2747         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
2748         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
2749         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
2750         Added.
2751         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
2752         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
2753         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
2754         (WebCore::SVGRootInlineBox::paint):
2755         
2756 2010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
2757
2758         Reviewed by Eric Seidel.
2759
2760         Make windowsKeyCodeForKeyEvent() return correct key code for
2761         numeric-pad arrow keys.
2762         https://bugs.webkit.org/show_bug.cgi?id=33250
2763
2764         Test: fast/events/keydown-numpad-keys.html
2765
2766         * platform/qt/PlatformKeyboardEventQt.cpp:
2767         (WebCore::windowsKeyCodeForKeyEvent):
2768
2769 2009-10-18 Patrick Gansterer <paroga@paroga.com>
2770
2771         Reviewed by Dirk Schulze.
2772
2773         Improve DOM performance in large SVG files.
2774         Check the dirty area before painting a path, which prevents unnecessary
2775         clipping and changes to the GraphicsContext.
2776         https://bugs.webkit.org/show_bug.cgi?id=30055
2777
2778         * rendering/RenderPath.cpp:
2779         (WebCore::RenderPath::paint):
2780
2781 2010-01-06  Kent Tamura  <tkent@chromium.org>
2782
2783         Reviewed by Darin Adler.
2784
2785         Use a static HashMap for HTMLElement::tagPriority().
2786         https://bugs.webkit.org/show_bug.cgi?id=33269
2787
2788         The prior code compares AtomicStringImpl pointers 18 times at
2789         worst. This change avoids it.
2790
2791         No new tests because this is just a refactoring.
2792
2793         * html/HTMLElement.cpp:
2794         (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
2795         (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
2796         (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
2797         * html/HTMLElement.h:
2798         (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().
2799
2800 2010-01-06  Mike Belshe  <mike@belshe.com>
2801
2802         Add a flag to the ResourceResponse for tracking if a request was
2803         fetched via SPDY.  This is plumbed through so that we can inform
2804         a webpage via JavaScript if it was fecthed via the experimental
2805         SPDY protocol.
2806
2807         https://bugs.webkit.org/show_bug.cgi?id=33186
2808
2809         * platform/network/chromium/ResourceResponse.h:
2810         (WebCore::ResourceResponse::wasFetchedViaSpdy):
2811         (WebCore::ResourceResponse::setWasFetchedViaSpdy):
2812
2813 2010-01-06  Jakub Wieczorek  <faw217@gmail.com>
2814
2815         Reviewed by Adam Treat.
2816
2817         [Qt] RenderTheme: Missing support for native sliders
2818
2819         https://bugs.webkit.org/show_bug.cgi?id=33122
2820
2821         Implement painting of native slider controls in RenderTheme
2822         and unskip a couple of layout tests that are passing after
2823         this change.
2824
2825         * platform/qt/RenderThemeQt.cpp:
2826         (WebCore::RenderThemeQt::paintSliderTrack):
2827         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
2828         (WebCore::RenderThemeQt::paintSliderThumb):
2829         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
2830         (WebCore::RenderThemeQt::supportsFocus):
2831         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2832         * platform/qt/RenderThemeQt.h:
2833
2834 2010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2835
2836         Reviewed by Darin Adler.
2837
2838         Adjust incorrect comments after r40534.
2839
2840         * bindings/js/JSDOMBinding.cpp:
2841         (WebCore::markActiveObjectsForContext):
2842
2843 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2844
2845         Unreviewed build fix for chromium.
2846         Add "bool V8WorkerContext::WebSocketEnabled()"
2847
2848         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2849         (WebCore::V8WorkerContext::WebSocketEnabled):
2850
2851 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2852
2853         Unreviewed build fix.
2854         remove wrong assertion
2855
2856         * websockets/WorkerThreadableWebSocketChannel.cpp:
2857         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
2858
2859 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2860
2861         Reviewed by David Levin.
2862
2863         Add WebSocket feature in Worker
2864         https://bugs.webkit.org/show_bug.cgi?id=32214
2865
2866         Introduce ThreadableWebSocketChannel interface and add
2867         WorkerThreadableWebSocketChannel for Worker.
2868         WorkerThreadableWebSocketChannel uses WebSocketChannel in the
2869         main thread, which is managed by Peer and communicated via Bridge.
2870
2871         Test: websocket/tests/workers/worker-simple.html
2872
2873         * GNUmakefile.am:
2874         * WebCore.gypi:
2875         * WebCore.pro:
2876         * WebCore.vcproj/WebCore.vcproj:
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * bindings/js/JSWebSocketConstructor.h:
2879         * bindings/js/JSWorkerContextCustom.cpp:
2880         (WebCore::JSWorkerContext::webSocket):
2881         * bindings/v8/WorkerContextExecutionProxy.cpp:
2882         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
2883         * bindings/v8/custom/V8WebSocketCustom.cpp:
2884         (WebCore::V8Custom::v8WebSocketConstructorCallback):
2885         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2886         * platform/CrossThreadCopier.cpp:
2887         (WebCore::::copy):
2888         * platform/CrossThreadCopier.h:
2889         (WebCore::):
2890         * websockets/ThreadableWebSocketChannel.cpp: Added.
2891         * websockets/ThreadableWebSocketChannel.h: Added.
2892         * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
2893         * websockets/WebSocket.cpp:
2894         (WebCore::WebSocket::connect):
2895         (WebCore::WebSocket::didReceiveMessage):
2896         * websockets/WebSocket.h:
2897         * websockets/WebSocketChannel.h:
2898         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
2899         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
2900         * websockets/WebSocketChannelClient.h:
2901         * websockets/WebSocketHandshake.h:
2902         * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
2903         * websockets/WorkerThreadableWebSocketChannel.h: Added.
2904         * workers/WorkerContext.idl:
2905
2906 2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2907
2908         Reviewed by Darin Adler.
2909
2910         Modified EventSource event-stream parser to support a single CR as line ending.
2911         https://bugs.webkit.org/show_bug.cgi?id=33207
2912
2913         * page/EventSource.cpp:
2914         (WebCore::EventSource::EventSource):
2915         (WebCore::EventSource::parseEventStream):
2916         * page/EventSource.h:
2917
2918 2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2919
2920         Reviewed by Xan Lopez.
2921
2922         https://bugs.webkit.org/show_bug.cgi?id=30883
2923         [Gtk] Implement AtkText for HTML elements which contain text
2924
2925         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2926         (getInterfaceMaskFromObject):
2927         (getPangoLayoutForAtk):
2928         (webkit_accessible_text_get_text):
2929         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2930         (AccessibilityObject::accessibilityPlatformIncludesObject):
2931
2932 2010-01-06  Dan Bernstein  <mitz@apple.com>
2933
2934         Reviewed by Sam Weinig.
2935
2936         <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
2937         https://bugs.webkit.org/show_bug.cgi?id=32794
2938
2939         Test: platform/mac/fast/text/line-breaking-with-kerning.html
2940
2941         * rendering/RenderBlockLineLayout.cpp:
2942         (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
2943         the trailing space when measuring a word, then subtract its width. This
2944         accounts for kerning between the last glyph of the word and the following space.
2945
2946 2010-01-06  Kevin Decker  <kdecker@apple.com>
2947
2948         Reviewed by Simon Fraser
2949
2950         Second step of:
2951         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
2952
2953         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
2954         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2955         (-[WebHostedNetscapePluginView pluginLayer]): Added.
2956         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
2957         * Plugins/WebNetscapePluginView.mm:
2958         (-[WebNetscapePluginView pluginLayer]): Added.
2959
2960 2010-01-06  Adam Barth  <abarth@webkit.org>
2961
2962         No review, rolling out r52877.
2963         http://trac.webkit.org/changeset/52877
2964         https://bugs.webkit.org/show_bug.cgi?id=33243
2965
2966         I screwed up landing this patch and only partially applied the patch I
2967         was trying to land.
2968
2969         * bindings/ScriptControllerBase.cpp:
2970         * bindings/js/ScriptController.cpp:
2971         (WebCore::ScriptController::executeScriptInWorld):
2972         * bindings/v8/ScriptController.cpp:
2973         (WebCore::ScriptController::ScriptController):
2974         (WebCore::ScriptController::~ScriptController):
2975         (WebCore::ScriptController::updateSecurityOrigin):
2976         (WebCore::ScriptController::evaluateInIsolatedWorld):
2977         (WebCore::ScriptController::haveInterpreter):
2978         (WebCore::ScriptController::mainWorldWindowShell):
2979         (WebCore::ScriptController::clearWindowShell):
2980         (WebCore::ScriptController::clearForClose):
2981         (WebCore::ScriptController::destroyWindowShell):
2982         (WebCore::ScriptController::updateDocument):
2983         * bindings/v8/ScriptController.h:
2984         (WebCore::ScriptController::proxy):
2985         (WebCore::ScriptController::windowShell):
2986         (WebCore::ScriptController::existingWindowShell):
2987         (WebCore::ScriptController::evaluateInWorld):
2988         * bindings/v8/V8DOMWindowShell.cpp:
2989         (WebCore::V8DOMWindowShell::create):
2990         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2991         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2992
2993 2010-01-06  Eric Seidel  <eric@webkit.org>
2994
2995         Unreviewed.  Rolling back in a change I should not have rolled out.
2996
2997         The original commit http://trac.webkit.org/changeset/52862
2998         was rolled out again in http://trac.webkit.org/changeset/52871
2999         but I now believe that rollout to be in error.
3000         My sincerest apologies for the churn.
3001
3002         Fix the bug in previous commit: we shouldn't finish
3003         decoding if "sizeOnly" is true.
3004         https://bugs.webkit.org/show_bug.cgi?id=33258
3005
3006         * platform/image-decoders/png/PNGImageDecoder.cpp:
3007         (WebCore::PNGImageReader::decode):
3008
3009 2010-01-06  Adam Barth  <abarth@webkit.org>
3010
3011         Reviewed by Eric Seidel.
3012
3013         [v8] Let ScriptController have more than one windowShell
3014         https://bugs.webkit.org/show_bug.cgi?id=33243
3015
3016         This patch lets ScriptController have more than one windowShell.  We're
3017         currently only using one of them (for the main world), but this patch
3018         lets us use other ones for isolated worlds soon.
3019
3020         * bindings/ScriptControllerBase.cpp:
3021         (WebCore::ScriptController::executeScriptInWorld):
3022         * bindings/js/ScriptController.cpp:
3023         * bindings/v8/ScriptController.cpp:
3024         (WebCore::ScriptController::createWorld):
3025         (WebCore::ScriptController::initScript):
3026         (WebCore::ScriptController::ScriptController):
3027         (WebCore::ScriptController::~ScriptController):
3028         (WebCore::ScriptController::updateSecurityOrigin):
3029         (WebCore::ScriptController::evaluateInIsolatedWorld):
3030         (WebCore::ScriptController::evaluateInWorld):
3031         (WebCore::ScriptController::mainWorldWindowShell):
3032         (WebCore::ScriptController::clearWindowShell):
3033         (WebCore::ScriptController::clearForClose):
3034         (WebCore::ScriptController::destroyWindowShell):
3035         (WebCore::ScriptController::updateDocument):
3036         * bindings/v8/ScriptController.h:
3037         (WebCore::ScriptController::windowShell):
3038         (WebCore::ScriptController::existingWindowShell):
3039         (WebCore::ScriptController::globalObject):
3040         (WebCore::ScriptController::proxy):
3041         * bindings/v8/V8DOMWindowShell.cpp:
3042         (WebCore::V8DOMWindowShell::create):
3043         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
3044         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3045         * bindings/v8/V8DOMWindowShell.h:
3046         * bindings/v8/V8DOMWrapper.cpp:
3047         (WebCore::V8DOMWrapper::instantiateV8Object):
3048         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
3049
3050 2010-01-06  Mark Rowe  <mrowe@apple.com>
3051
3052         Fix the Mac build.
3053
3054         * WebCore.base.exp: Export symbols WebKit would like to use.
3055         * plugins/PluginWidget.h:
3056         (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
3057
3058 2010-01-06  Kevin Decker  <kdecker@apple.com>
3059
3060         Reviewed by Eric Carlson.
3061         
3062         First step toward:
3063         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
3064         
3065         Small refactoring moving the PluginWidget class from WebKit to WebCore.          
3066         * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
3067         * platform/Widget.h: Added isPluginWidget(). 
3068         (WebCore::Widget::isPluginWidget):
3069         * plugins/PluginWidget.h: Added.
3070         (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
3071         * plugins/mac/PluginWidgetMac.mm: Added.
3072         (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
3073         
3074 2010-01-06  Eric Seidel  <eric@webkit.org>
3075
3076         No review, rolling out r52862.
3077         http://trac.webkit.org/changeset/52862
3078         https://bugs.webkit.org/show_bug.cgi?id=33258
3079
3080         Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
3081         Leopard Release builder.
3082
3083         * platform/image-decoders/png/PNGImageDecoder.cpp:
3084         (WebCore::PNGImageReader::decode):
3085
3086 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3087
3088         Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
3089
3090         * Configurations/Base.xcconfig:
3091
3092 2010-01-05  Nate Chapin  <japhet@chromium.org>
3093
3094         Reviewed by Dimitri Glazkov.
3095
3096         Generate header declarations for V8 binding security checks
3097         and delete V8CustomBinding.cpp
3098
3099         * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
3100         * WebCore.gypi: Removed V8CustomBinding.cpp.
3101         * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
3102         * bindings/v8/V8DOMWindowShell.cpp:
3103         (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
3104         (WebCore::reportUnsafeJavaScriptAccess):
3105         (WebCore::V8DOMWindowShell::createNewContext):
3106         (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
3107         * bindings/v8/V8DOMWindowShell.h:
3108         * bindings/v8/V8DOMWrapper.cpp:
3109         (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
3110         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3111         (WebCore::V8DOMWrapper::getTemplate):
3112         * bindings/v8/custom/V8CustomBinding.cpp: Removed.
3113         * bindings/v8/custom/V8CustomBinding.h:
3114         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3115         (WebCore::V8DOMWindow::locationAccessorSetter):
3116         (WebCore::V8DOMWindow::namedSecurityCheck):
3117         (WebCore::V8DOMWindow::indexedSecurityCheck):
3118         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3119         (WebCore::V8Document::locationAccessorSetter):
3120         * bindings/v8/custom/V8HistoryCustom.cpp:
3121         (WebCore::V8History::indexedSecurityCheck):
3122         (WebCore::V8History::namedSecurityCheck):
3123         * bindings/v8/custom/V8LocationCustom.cpp:
3124         (WebCore::V8Location::indexedSecurityCheck):
3125         (WebCore::V8Location::namedSecurityCheck):
3126
3127 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3128
3129         Reviewed by Dirk Schulze.
3130
3131         Marker code is buggy: referencePoint translation is off
3132         https://bugs.webkit.org/show_bug.cgi?id=33012
3133
3134         Rewrite marker code, as it had many issues:
3135         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
3136         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
3137         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
3138         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
3139           can have three different resources of the same type (three markers, start/mid/end markers)
3140
3141         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
3142
3143         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
3144         Test: svg/custom/marker-referencePoint.svg
3145               svg/custom/marker-opacity.svg
3146               svg/custom/marker-strokeWidth-changes.svg
3147
3148         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
3149         * GNUmakefile.am: Ditto.
3150         * WebCore.gypi: Ditto.
3151         * WebCore.pro: Ditto.
3152         * WebCore.vcproj/WebCore.vcproj: Ditto.
3153         * WebCore.xcodeproj/project.pbxproj: Ditto.
3154         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
3155         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
3156         * rendering/RenderPath.cpp:
3157         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
3158         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
3159         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
3160         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
3161         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
3162         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
3163         (WebCore::RenderPath::path): Inline this accessor.
3164         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
3165         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
3166         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
3167         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
3168         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
3169         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
3170         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
3171         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
3172         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
3173         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
3174         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
3175         (WebCore::SVGMarkerData::updateOutslope): Ditto.
3176         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
3177         (WebCore::SVGMarkerData::updateInslope): Helper method.
3178         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
3179         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
3180         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
3181         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
3182         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
3183         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
3184         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
3185         * rendering/SVGMarkerLayoutInfo.h: Added.
3186         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
3187         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
3188         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
3189         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
3190         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
3191         (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
3192         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
3193         * svg/SVGSVGElement.cpp:
3194         (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
3195         * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
3196         (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
3197         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
3198                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
3199                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
3200                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
3201         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
3202         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
3203         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
3204         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
3205         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
3206         * svg/graphics/SVGResourceMarker.cpp:
3207         (WebCore::SVGResourceMarker::SVGResourceMarker):
3208         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
3209         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
3210         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
3211         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
3212         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
3213         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
3214         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
3215
3216 2010-01-06  Dirk Schulze  <krit@webkit.org>
3217
3218         Reviewed by Nikolas Zimmermann.
3219
3220         SVG feImage support
3221         https://bugs.webkit.org/show_bug.cgi?id=31905
3222
3223         This implements the SVG Filter effect feImage with support of fragment urls.
3224         It also includes a bug fix for feComposite. feComposite didn't cover values
3225         bigger than 255 correctly on composite oeprator arithmetic.
3226
3227         Tests: There are already many feImage tests in trunk. They just needed updated
3228                pixel test results.
3229                The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
3230                and depends on feImage.
3231
3232         * platform/graphics/filters/FEComposite.cpp:
3233         (WebCore::arithmetic):
3234         * rendering/RenderSVGImage.cpp:
3235         (WebCore::RenderSVGImage::paint):
3236         * rendering/RenderSVGImage.h:
3237         * svg/SVGFEImageElement.cpp:
3238         (WebCore::SVGFEImageElement::requestImageResource):
3239         (WebCore::SVGFEImageElement::parseMappedAttribute):
3240         (WebCore::SVGFEImageElement::notifyFinished):
3241         (WebCore::SVGFEImageElement::build):
3242         * svg/SVGFEImageElement.h:
3243         * svg/SVGFEImageElement.idl:
3244         * svg/SVGPreserveAspectRatio.cpp:
3245         (WebCore::SVGPreserveAspectRatio::transformRect):
3246         * svg/SVGPreserveAspectRatio.h:
3247         * svg/graphics/filters/SVGFEImage.cpp:
3248         (WebCore::FEImage::FEImage):
3249         (WebCore::FEImage::create):
3250         (WebCore::FEImage::apply):
3251         * svg/graphics/filters/SVGFEImage.h:
3252
3253 2010-01-06  Yong Li  <yoli@rim.com>
3254
3255         Reviewed by Darin Adler.
3256
3257         Fix the bug in previous commit: we shouldn't finish
3258         decoding if "sizeOnly" is true.
3259         https://bugs.webkit.org/show_bug.cgi?id=33258
3260
3261         * platform/image-decoders/png/PNGImageDecoder.cpp:
3262         (WebCore::PNGImageReader::decode):
3263
3264 2010-01-06  Eric Seidel  <eric@webkit.org>
3265
3266         No review, rolling out r52855.
3267         http://trac.webkit.org/changeset/52855
3268         https://bugs.webkit.org/show_bug.cgi?id=33222
3269
3270         Caused 6 layout tests to fail on Mac
3271
3272         * loader/DocumentLoader.cpp:
3273         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
3274         * loader/MainResourceLoader.cpp:
3275         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3276         * loader/ResourceLoader.cpp:
3277         * loader/ResourceLoader.h:
3278
3279 2010-01-06  Yong Li  <yoli@rim.com>
3280
3281         Reviewed by Darin Adler.
3282
3283         Let ReourceLoader deliver segmented data
3284         when loading resource from a SharedBuffer object.
3285         https://bugs.webkit.org/show_bug.cgi?id=33222
3286
3287         * loader/DocumentLoader.cpp:
3288         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
3289         * loader/MainResourceLoader.cpp:
3290         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3291         * loader/ResourceLoader.cpp:
3292         (WebCore::ResourceLoader::didReceiveData):
3293         * loader/ResourceLoader.h:
3294
3295 2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
3296
3297         Unreviewed trivial Qt build fix.
3298
3299         Prefix the phonon includes with phonon/ to avoid conflicts with the S60
3300         audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
3301
3302         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3303
3304 2010-01-05  Darin Fisher  <darin@chromium.org>
3305
3306         Reviewed by Adam Barth.
3307
3308         Moving v8::HandleScope up above declaration of v8::Local to fix a
3309         Chromium startup crash.
3310
3311         * bindings/v8/V8Proxy.cpp:
3312         (WebCore::V8Proxy::setContextDebugId):
3313
3314 2010-01-05  Adam Barth  <abarth@webkit.org>
3315
3316         Reviewed by Dimitri Glazkov.
3317
3318         [v8] Move V8DOMWindowShell to ScriptController
3319         https://bugs.webkit.org/show_bug.cgi?id=33232
3320
3321         This patch moves V8DOMWindow shell to ScriptController, where the
3322         window shells live in JSC land.  The next step will be to allow for
3323         more than one window shell per script controller.
3324
3325         * bindings/v8/ScriptController.cpp:
3326         (WebCore::ScriptController::ScriptController):
3327         (WebCore::ScriptController::~ScriptController):
3328         (WebCore::ScriptController::updateSecurityOrigin):
3329         (WebCore::ScriptController::evaluateInIsolatedWorld):
3330         (WebCore::ScriptController::haveInterpreter):
3331         (WebCore::ScriptController::mainWorldWindowShell):
3332         (WebCore::ScriptController::clearWindowShell):
3333         (WebCore::ScriptController::clearForClose):
3334         (WebCore::ScriptController::destroyWindowShell):
3335         (WebCore::ScriptController::updateDocument):
3336         * bindings/v8/ScriptController.h:
3337         * bindings/v8/V8DOMWindowShell.cpp:
3338         (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
3339         * bindings/v8/V8DOMWindowShell.h:
3340         (WebCore::V8DOMWindowShell::localHandleForContext):
3341         * bindings/v8/V8DOMWrapper.cpp:
3342         (WebCore::V8DOMWrapper::instantiateV8Object):
3343         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
3344         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
3345         * bindings/v8/V8IsolatedContext.cpp:
3346         (WebCore::V8IsolatedContext::V8IsolatedContext):
3347         * bindings/v8/V8Proxy.cpp:
3348         (WebCore::V8Proxy::V8Proxy):
3349         (WebCore::V8Proxy::~V8Proxy):
3350         (WebCore::V8Proxy::handleOutOfMemory):
3351         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3352         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3353         (WebCore::V8Proxy::context):
3354         (WebCore::V8Proxy::mainWorldContext):
3355         (WebCore::V8Proxy::currentContext):
3356         (WebCore::V8Proxy::setContextDebugId):
3357         * bindings/v8/V8Proxy.h:
3358         * bindings/v8/WorldContextHandle.cpp:
3359         (WebCore::WorldContextHandle::adjustedContext):
3360
3361 2010-01-05  Kent Tamura  <tkent@chromium.org>
3362
3363         Reviewed by Maciej Stachowiak.
3364
3365         Implement HTML5 <header> and <footer> elements.
3366         https://bugs.webkit.org/show_bug.cgi?id=32943
3367
3368         <header> and <footer> should behave the same as <nav>, <section>,
3369         <article>, and <aside>. The HTML parser doesn't need to restrict
3370         the nesting of header/footer elements.
3371
3372         Tests: fast/html/footer-element.html
3373                fast/html/header-element.html
3374
3375         * css/html.css: Add header/footer as block elements.
3376         * editing/htmlediting.cpp:
3377         (WebCore::validBlockTag): Add headerTag and footerTag.
3378         * html/HTMLElement.cpp:
3379         (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
3380         (WebCore::blockTagList): Add headerTag and footerTag.
3381         * html/HTMLParser.cpp:
3382         (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
3383         (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
3384         (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
3385         * html/HTMLParser.h:
3386           - Rename isHeaderTag() to isHeadingTag()
3387           - Remove non-existing popNestedHeaderTag().
3388         * html/HTMLTagNames.in: Add header and footer.
3389
3390 2010-01-05  Darin Adler  <darin@apple.com>
3391
3392         Reviewed by Dan Bernstein.
3393
3394         CDATA sections are merged into Text nodes when normalize() is used
3395         https://bugs.webkit.org/show_bug.cgi?id=33191
3396
3397         Test: fast/dom/Node/normalize-with-cdata.html
3398
3399         * dom/Node.cpp:
3400         (WebCore::Node::normalize): Use nodeType instead of isTextNode.
3401
3402 2010-01-05  James Robinson  <jamesr@google.com>
3403
3404         Reviewed by Eric Seidel.
3405
3406         Typing in Google Wave repaints the whole screen
3407         https://bugs.webkit.org/show_bug.cgi?id=32295
3408
3409         Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
3410         The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
3411         fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
3412         painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
3413         structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
3414
3415         Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
3416
3417         * rendering/RenderBlockLineLayout.cpp:
3418         (WebCore::RenderBlock::layoutInlineChildren):
3419
3420 2010-01-05  James Robinson  <jamesr@chromium.org>
3421
3422         Reviewed by David Hyatt.
3423
3424         Cleans up line box clearing when a RenderBlock loses its last child.
3425         https://bugs.webkit.org/show_bug.cgi?id=33228
3426
3427         The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
3428
3429
3430         No new tests.
3431
3432         * rendering/RenderBlock.cpp:
3433         (WebCore::RenderBlock::removeChild):
3434         * rendering/RenderBlockLineLayout.cpp:
3435         (WebCore::RenderBlock::layoutInlineChildren):
3436
3437 2010-01-05  Alexander Pavlov  <apavlov@chromium.org>
3438
3439         Reviewed by Pavel Feldman.
3440
3441         Provide the "documentURL" property for documents and frame owner elements
3442
3443         This is necessary to determine owner document URLs for nodes (all nodes have
3444         the top-level document set as ownerDocument).
3445         https://bugs.webkit.org/show_bug.cgi?id=33025
3446
3447         * inspector/InspectorDOMAgent.cpp:
3448         (WebCore::InspectorDOMAgent::buildObjectForNode):
3449         * inspector/front-end/DOMAgent.js:
3450         (WebInspector.DOMNode):
3451
3452 2010-01-05  Peter Kasting  <pkasting@google.com>
3453
3454         Reviewed by Adam Barth.
3455
3456         Public GIF decoder should stop decoding when allocation fails
3457         https://bugs.webkit.org/show_bug.cgi?id=33231
3458
3459         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3460         (WebCore::GIFImageDecoder::haveDecodedRow):
3461         * platform/image-decoders/gif/GIFImageDecoder.h:
3462         * platform/image-decoders/gif/GIFImageReader.cpp:
3463         (GIFImageReader::output_row):
3464         (GIFImageReader::do_lzw):
3465         (GIFImageReader::read):
3466         * platform/image-decoders/gif/GIFImageReader.h:
3467
3468 2010-01-05  Yong Li  <yoli@rim.com>
3469
3470         Reviewed by Darin Adler.
3471
3472         Make PNG image decoder work with segmented SharedBuffer
3473         https://bugs.webkit.org/show_bug.cgi?id=33213
3474
3475         * platform/image-decoders/ImageDecoder.cpp:
3476         (WebCore::ImageDecoder::create):
3477         * platform/image-decoders/ImageDecoder.h:
3478         (WebCore::ImageDecoder::ImageDecoder):
3479         (WebCore::ImageDecoder::isAllDataReceived):
3480         (WebCore::ImageDecoder::setData):
3481         * platform/image-decoders/png/PNGImageDecoder.cpp:
3482         (WebCore::PNGImageReader::PNGImageReader):
3483         (WebCore::PNGImageReader::close):
3484         (WebCore::PNGImageReader::currentBufferSize):
3485         (WebCore::PNGImageReader::setComplete):
3486         (WebCore::PNGImageReader::decode):
3487         (WebCore::PNGImageDecoder::decode):
3488         (WebCore::PNGImageDecoder::headerAvailable):
3489         (WebCore::PNGImageDecoder::pngComplete):
3490
3491 2010-01-05  Adam Barth  <abarth@webkit.org>
3492
3493         Rubber stamped by Dimitri Glazkov.
3494
3495         Fix namespace indent for ScriptController.
3496
3497         * bindings/v8/ScriptController.h:
3498         (WebCore::ScriptController::proxy):
3499         (WebCore::ScriptController::windowShell):
3500         (WebCore::ScriptController::existingWindowShell):
3501         (WebCore::ScriptController::xssAuditor):
3502         (WebCore::ScriptController::setProcessingTimerCallback):
3503         (WebCore::ScriptController::setPaused):
3504         (WebCore::ScriptController::isPaused):
3505         (WebCore::ScriptController::sourceURL):
3506         (WebCore::ScriptController::evaluateInWorld):
3507
3508 2010-01-05  Rachel Petterson  <rlp@google.com>
3509
3510         Reviewed by Simon Fraser.
3511
3512         Implement most cases of texImage2D and texSubImage2D
3513         https://bugs.webkit.org/show_bug.cgi?id=31562
3514         
3515         This fix is with Chris Marrin  <cmarrin@apple.com>.
3516         Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
3517
3518         From Chris:
3519         This implements all cases except HTMLVideoElement. It changes
3520         the bindings to accept all parameter forms of the call. Then
3521         it plumbs the calls through WebGLRenderingContext down to
3522         GraphicsContext3D for the actual implementation.
3523
3524         From Rachel:
3525         This implements texImage2D for chromium. It also implements the V8
3526         bindings for texSubImage2D and updates the V8 bindings for texImage2D.
3527
3528         Tests: fast/canvas/webgl/texImage2DImageDataTest.html
3529                   fast/canvas/webgl/texImageTest.html
3530
3531         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3532         (WebCore::JSWebGLRenderingContext::texImage2D):
3533         (WebCore::JSWebGLRenderingContext::texSubImage2D):
3534         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3535         (WebCore::CALLBACK_FUNC_DECL):
3536         * html/canvas/WebGLRenderingContext.cpp:
3537         (WebCore::WebGLRenderingContext::texImage2D):
3538         (WebCore::WebGLRenderingContext::texSubImage2D):
3539         * html/canvas/WebGLRenderingContext.h:
3540         * html/canvas/WebGLRenderingContext.idl:
3541         * platform/graphics/GraphicsContext3D.h:
3542         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3543         (WebCore::imageToTexture):
3544         (WebCore::GraphicsContext3D::texImage2D):
3545         (WebCore::GraphicsContext3D::texSubImage2D):
3546
3547 2010-01-04  Brian Weinstein  <bweinstein@apple.com>
3548
3549         Reviewed by Tim Hatcher.
3550
3551         Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
3552         Web Inspector: Context Menus should be used in more places.
3553         
3554         Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
3555         we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
3556         breakpoints), but this is hard to discover and behaves differently than Xcode.
3557         
3558         Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
3559         removes it if there is one.
3560         
3561         On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
3562         Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
3563         the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
3564
3565         * English.lproj/localizedStrings.js: Added localized context menu entries.
3566         * inspector/front-end/SourceFrame.js:
3567         (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
3568         (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
3569         (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
3570
3571 2010-01-05  Chris Fleizach  <cfleizach@apple.com>
3572
3573         Reviewed by Eric Seidel.
3574
3575         AX: need a way to get the progress of a webpage load
3576         https://bugs.webkit.org/show_bug.cgi?id=33221