88dbb43d07da0c55a8e83d7a88f69ada2b3bf211
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2
3         Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
4
5         * svg/svgtags.in:
6
7 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
8
9         Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
10
11         * bindings/scripts/CodeGeneratorJS.pm:
12
13 2009-12-06  Pavel Feldman  <pfeldman@chromium.org>
14
15         Reviewed by Timothy Hatcher.
16
17         Web Inspector: provide custom context menu in the front-end window.
18
19         https://bugs.webkit.org/show_bug.cgi?id=32200
20
21         * English.lproj/localizedStrings.js:
22         * GNUmakefile.am:
23         * WebCore.gypi:
24         * WebCore.pro:
25         * WebCore.vcproj/WebCore.vcproj:
26         * WebCore.xcodeproj/project.pbxproj:
27         * bindings/js/JSInspectorFrontendHostCustom.cpp:
28         (WebCore::JSInspectorFrontendHost::showContextMenu):
29         * inspector/InspectorFrontend.cpp:
30         (WebCore::InspectorFrontend::contextMenuItemSelected):
31         (WebCore::InspectorFrontend::contextMenuCleared):
32         * inspector/InspectorFrontend.h:
33         * inspector/InspectorFrontendHost.cpp:
34         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
35         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
36         (WebCore::InspectorFrontendHost::showContextMenu):
37         (WebCore::InspectorFrontendHost::contextMenuItemSelected):
38         (WebCore::InspectorFrontendHost::contextMenuCleared):
39         * inspector/InspectorFrontendHost.h:
40         (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
41         (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
42         (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
43         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
44         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
45         (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
46         * inspector/InspectorFrontendHost.idl:
47         * inspector/front-end/ContextMenu.js: Added.
48         * inspector/front-end/WebKit.qrc:
49         * inspector/front-end/inspector.html:
50         * inspector/front-end/inspector.js:
51         (WebInspector.loaded):
52         (WebInspector.documentContextMenu):
53         * page/ContextMenuController.cpp:
54         (WebCore::ContextMenuController::ContextMenuController):
55         (WebCore::ContextMenuController::clearContextMenu):
56         (WebCore::ContextMenuController::handleContextMenuEvent):
57         (WebCore::ContextMenuController::showContextMenu):
58         (WebCore::ContextMenuController::createContextMenu):
59         (WebCore::ContextMenuController::contextMenuItemSelected):
60         * page/ContextMenuController.h:
61         * page/ContextMenuSelectionHandler.h: Added.
62         (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
63         (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
64         * platform/ContextMenu.cpp:
65         (WebCore::ContextMenu::checkOrEnableIfNeeded):
66         * platform/ContextMenuItem.h:
67
68 2009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
69
70         Rubber-stamped by Kenneth Rohde Christiansen.
71
72         [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
73
74         No new tests needed.
75         * WebCore.pro:
76
77 2009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
78
79         Reviewed by Darin Adler.
80
81         Add a function to show render tree for debugging
82         https://bugs.webkit.org/show_bug.cgi?id=31288
83
84         No new tests because this just adds a function for debugging.
85
86         * rendering/RenderObject.cpp:
87         (WebCore::RenderObject::showRenderObject):
88         (WebCore::RenderObject::showRenderTreeAndMark):
89         (showRenderTree):
90         * rendering/RenderObject.h:
91
92 2009-12-07  Victor Wang  <victorw@chromium.org>
93
94         Reviewed by Dimitri Glazkov.
95
96         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
97         V8 NPObject. This should make the object enumerable and fix the
98         enumeration issue in layout test plugins/netscape-enumerate.html.
99
100         Also fix some existing style issues per webkit style guidelines.
101
102         https://bugs.webkit.org/show_bug.cgi?id=32254
103
104         Test: plugins/netscape-enumerate.html
105
106         * bindings/v8/V8NPObject.cpp:
107         (npObjectInvokeImpl):
108         (npObjectInvokeDefaultHandler):
109         (npObjectGetProperty):
110         (npObjectPropertyEnumerator):
111         (npObjectNamedPropertyEnumerator):
112         (npObjectIndexedPropertyEnumerator):
113         (createV8ObjectForNPObject):
114
115 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
116
117         Reviewed by Alexey Proskuryakov.
118
119         Fragments now make WebSocket URL parsing fail.
120         https://bugs.webkit.org/show_bug.cgi?id=32144
121
122         * websockets/WebSocket.cpp:
123         (WebCore::WebSocket::connect):
124
125 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
126
127         Reviewed by Darin Adler.
128
129         Fix wrong length parsing in WebSocket.
130         https://bugs.webkit.org/show_bug.cgi?id=32203
131
132         * websockets/WebSocketChannel.cpp:
133         (WebCore::WebSocketChannel::didReceiveData):
134
135 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
136
137         Rubber-stamped by Maciej Stachowiak.
138
139         Turn on (SVG) Filters for Qt.
140         https://bugs.webkit.org/show_bug.cgi?id=32224
141
142         * WebCore.pro:
143
144 2009-12-07  Evan Martin  <evan@chromium.org>
145
146         Reviewed by Eric Seidel.
147
148         Chromium: theme scrollbars to match GTK theme.
149         Add functions to RenderThemeChromiumLinux to change the scrollbar
150         color.
151
152         Since the change is to the Chromium WebKit API layer, testing will
153         be in Chromium's test shell.
154         http://bugs.webkit.org/show_bug.cgi?id=32048
155
156         Patch from Markus Gutschke <markus@chromium.org>.
157
158         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
159         (WebCore::saturateAndBrighten):
160         (WebCore::outlineColor):
161         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
162         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
163         * rendering/RenderThemeChromiumLinux.cpp:
164         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
165         * rendering/RenderThemeChromiumLinux.h:
166         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
167         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
168         (WebCore::RenderThemeChromiumLinux::trackColor):
169
170 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
171
172         Reviewed by Xan Lopez.
173
174         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
175         https://bugs.webkit.org/show_bug.cgi?id=32247
176
177         Allow creating a ResourceResponse from a SoupMessage.
178
179         Covered by API test.
180
181         * platform/network/soup/ResourceResponse.h:
182         (WebCore::ResourceResponse::ResourceResponse):
183         * platform/network/soup/ResourceResponseSoup.cpp:
184         (WebCore::ResourceResponse::updateFromSoupMessage):
185
186 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
187
188         Not reviewed. Reverting problematic patch, causing errors.
189
190         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
191         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
192
193         * svg/graphics/SVGPaintServerPattern.cpp:
194         (WebCore::SVGPaintServerPattern::setup):
195
196 2009-12-07  Kent Tamura  <tkent@chromium.org>
197
198         Reviewed by Darin Adler.
199
200         Add support for HTMLInputElement::stepUp() and stepDown() for
201         type=number and type=range.
202         https://bugs.webkit.org/show_bug.cgi?id=27451
203
204         Our implementation of stepUp() and stepDown() rounds the resultant
205         value to conform to the step value.
206         Change the number-string conversion method for RenderSlider to be
207         consistent with type=number.
208
209         Tests: fast/forms/input-step-number.html
210                fast/forms/input-step-range.html
211                fast/forms/input-step-unsupported.html
212
213         * html/HTMLInputElement.cpp:
214         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
215         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
216         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
217         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
218         (WebCore::HTMLInputElement::stepBase):
219         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
220         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
221         (WebCore::HTMLInputElement::stepUp):
222         (WebCore::HTMLInputElement::stepDown):
223         (WebCore::HTMLInputElement::formStringFromDouble):
224         * html/HTMLInputElement.h:
225         (WebCore::HTMLInputElement::stepUp):
226         (WebCore::HTMLInputElement::stepDown):
227         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
228         * rendering/RenderSlider.cpp:
229         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
230         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
231         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
232
233 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
234
235         Not reviewed: Chromium build fix try 2 (dumb error).
236
237         * bindings/v8/ScriptValue.h:
238         (WebCore::ScriptValue::getString):
239
240 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
241
242         Not reviewed: Chromium build fix.
243
244         Fix Chromium build break caused by an added dependency from
245         ScriptControllerBase to JSDOMWindowShell, and an API change in
246         ScriptValue.
247
248         * bindings/ScriptControllerBase.cpp:
249         (WebCore::ScriptController::executeIfJavaScriptURL):
250         * bindings/v8/ScriptValue.h:
251         (WebCore::ScriptValue::getString):
252
253 2009-12-07  Enrica Casucci  <enrica@apple.com>
254
255         Reviewed by Darin Adler.
256
257         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
258         <rdar://problem/7442387>
259         https://bugs.webkit.org/show_bug.cgi?id=32233
260         
261         Fixes problem in re-creating the correct hierarchy under the new block.
262         Added extensive testing to cover all the cases.
263
264         Test: editing/execCommand/indent-with-style2.html
265
266         * editing/CompositeEditCommand.cpp:
267         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
268
269 2009-12-07  Dmitry Titov  <dimich@chromium.org>
270
271         Rubber-stamped by Darin Adler.
272
273         Remove ENABLE_SHARED_SCRIPT flags
274         https://bugs.webkit.org/show_bug.cgi?id=32245
275         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
276
277         * Configurations/FeatureDefines.xcconfig:
278         * GNUmakefile.am:
279         * WebCore.pro:
280
281 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
282
283         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
284
285         * bindings/scripts/CodeGeneratorJS.pm:
286
287 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
288
289         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
290
291         * svg/svgtags.in:
292
293 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
294
295         Reviewed by Oliver Hunt.
296
297         https://bugs.webkit.org/show_bug.cgi?id=32184
298         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
299         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
300
301         * bindings/ScriptControllerBase.cpp:
302         (WebCore::ScriptController::executeIfJavaScriptURL):
303         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
304         (WebCore::toHTMLCanvasStyle):
305         (WebCore::JSCanvasRenderingContext2D::setFillColor):
306         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
307         (WebCore::JSCanvasRenderingContext2D::setShadow):
308         * bindings/js/ScriptCallStack.cpp:
309         (WebCore::ScriptCallStack::ScriptCallStack):
310         (WebCore::ScriptCallStack::initialize):
311         * bindings/js/ScriptValue.cpp:
312         (WebCore::ScriptValue::getString):
313         * bindings/js/ScriptValue.h:
314         * bindings/js/SerializedScriptValue.cpp:
315         (WebCore::SerializingTreeWalker::convertIfTerminal):
316         * bindings/objc/WebScriptObject.mm:
317         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
318         * page/Console.cpp:
319         (WebCore::Console::addMessage):
320
321 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
322
323         Reviewed by Holger Hans Peter Freyther.
324
325         Turn on (SVG) Filters support, by default.
326         https://bugs.webkit.org/show_bug.cgi?id=32224
327
328         Only enable filters on mac for now, skipped all affected tests on the other platforms.
329         Will enable them one after another, to minimize breakage.
330
331         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
332
333 2009-12-07  Kent Tamura  <tkent@chromium.org>
334
335         Reviewed by Darin Adler.
336
337         Fix a bug that KURL rejects a host name which has an IPv4 address
338         inside an IPv6 form like [::127.0.0.1].
339         https://bugs.webkit.org/show_bug.cgi?id=29913
340
341         * platform/KURL.cpp:
342         (WebCore::characterClassTable): Add IPv6Char to '.'.
343
344 2009-12-07  Brady Eidson  <beidson@apple.com>
345
346         Reviewed by Sam Weinig.
347
348         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
349
350         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
351         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
352
353         * history/HistoryItem.cpp:
354         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
355           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
356         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
357           about the original items m_cachedPage object (which is irrelevant to the copy).
358
359 2009-12-07  Dmitry Titov  <dimich@chromium.org>
360
361         Reviewed by Darin Adler.
362
363         Remove partial SharedScript implementation.
364         https://bugs.webkit.org/show_bug.cgi?id=32237
365         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
366
367         * DerivedSources.make:
368         * SharedScript/SharedScriptContext.cpp: Removed.
369         * SharedScript/SharedScriptContext.h: Removed.
370         * SharedScript/SharedScriptContext.idl: Removed.
371         * SharedScript/SharedScriptController.h: Removed.
372         * SharedScript/WebKitSharedScript.cpp: Removed.
373         * SharedScript/WebKitSharedScript.h: Removed.
374         * SharedScript/WebKitSharedScript.idl: Removed.
375         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
376         * SharedScript/WebKitSharedScriptRepository.h: Removed.
377         * WebCore.vcproj/WebCore.vcproj:
378         * WebCore.xcodeproj/project.pbxproj:
379         * dom/Document.cpp:
380         (WebCore::Document::detach):
381         * dom/EventTarget.cpp:
382         * dom/EventTarget.h:
383         * dom/ScriptExecutionContext.h:
384
385 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
386
387         Reviewed by Nikolas Zimmermann.
388
389         https://bugs.webkit.org/show_bug.cgi?id=32226
390         Random crashes in WebSocket tests on Leopard Debug builbot
391
392         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
393         Make sure the object still exists when setting m_state.
394
395 2009-12-07  Shiki Okasaka  <shiki@google.com>
396
397         Reviewed by Dirk Schulze.
398
399         Avoid zero division during SVGPaintServerPattern::setup()
400         https://bugs.webkit.org/show_bug.cgi?id=29912
401
402         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
403         if the tile of a pattern was bigger than the pattern and the pattern
404         size was < 0.5, and if the attribute overflow was set to visible.
405
406         Test: svg/custom/small-pattern.html
407
408         * svg/graphics/SVGPaintServerPattern.cpp:
409         (WebCore::SVGPaintServerPattern::setup):
410
411 2009-12-07  Kenneth Russell  <kbr@google.com>
412
413         Reviewed by Dimitri Glazkov.
414
415         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
416         https://bugs.webkit.org/show_bug.cgi?id=31889
417
418         Fixed bug in handling of zero-argument constructor call.
419
420         Test: fast/canvas/webgl/bug-31889.html
421
422         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
423         (WebCore::CALLBACK_FUNC_DECL):
424
425 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
426
427         Reviewed by Eric Seidel.
428
429         https://bugs.webkit.org/show_bug.cgi?id=32024
430         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
431
432         Fix build errors when javascript-debugger is disabled on GTK
433
434         * GNUmakefile.am:
435
436 2009-12-07  Dan Bernstein  <mitz@apple.com>
437
438         Reviewed by Darin Adler.
439
440         Fixed <rdar://problem/7437820> Weird selection artifacts
441
442         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
443                fast/repaint/block-selection-gap-stale-cache.html
444
445         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
446         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
447         stale due to layout changes and overflow scrolling.
448
449         * rendering/RenderBlock.cpp:
450         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
451         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
452         * rendering/RenderLayer.cpp:
453         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
454         bounds to include the given rect.
455         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
456         selection gaps bounds.
457         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
458         selection gaps bounds.
459         * rendering/RenderLayer.h:
460         * rendering/RenderView.cpp:
461         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
462         of the view-level cache.
463         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
464         * rendering/RenderView.h:
465
466 2009-12-07  Philippe Normand  <pnormand@igalia.com>
467
468         Reviewed by Gustavo Noronha.
469
470         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
471         from it. Also, GStreamer doesn't handle directly SMIL.
472
473         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
474         (WebCore::mimeTypeCache):
475
476 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
477
478         Reviewed by Xan Lopez.
479
480         https://bugs.webkit.org/show_bug.cgi?id=25415
481         [GTK][ATK] Please implement support for get_text_at_offset
482
483         Eliminate the segfaults which occur when accessing the text interface now
484         implemented by text controls.
485
486         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
487         (getPangoLayoutForAtk):
488
489 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
490
491         Reviewed by Xan Lopez.
492
493         Turn the MediaPlayer supported types blacklist into a whitelist
494
495         [GTK] REGRESSION: webkit thinks it can render PDFs
496         https://bugs.webkit.org/show_bug.cgi?id=32183
497
498         Covered by API test.
499
500         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
501         (WebCore::mimeTypeCache):
502
503 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
504
505         Reviewed by Xan Lopez.
506
507         https://bugs.webkit.org/show_bug.cgi?id=25524
508         [Gtk] Expose the title attribute to assistive technologies
509
510         Expose 'alt' attribute from images as accessible name.
511         Expose the 'title' core HTML attribute as accessible description.
512         This is a modified version of the original fix submitted by Mario Sanchez Prada,
513         adjusted so that it doesn't impact other platforms.
514
515         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
516         (webkit_accessible_get_name):
517         (webkit_accessible_get_description):
518
519 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
520
521         Reviewed by Simon Hausmann.
522
523         [Qt] Fix support for generic font families
524
525         By not propagating the resolved font family in FontCacheQt and
526         only concidering the font description we ended up passing the
527         generic font families to Qt directly. Since most systems don't
528         have a mapping for these font families we ended up using the
529         default font in most cases.
530
531         * platform/graphics/qt/FontCacheQt.cpp:
532         * platform/graphics/qt/FontPlatformData.h:
533         * platform/graphics/qt/FontPlatformDataQt.cpp:
534
535 2009-12-06  Oliver Hunt  <oliver@apple.com>
536
537         Reviewed by Maciej Stachowiak.
538
539         Object.getOwnPropertyDescriptor() allows cross-frame access
540         https://bugs.webkit.org/show_bug.cgi?id=32119
541
542         Make all implementations of getOwnPropertyDescriptor that have
543         cross domain restrictions simply fail immediately on cross domain
544         access, rather than trying to mimic the behaviour of normal
545         property access.
546
547         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
548
549         * bindings/js/JSDOMWindowCustom.cpp:
550         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
551         * bindings/js/JSHistoryCustom.cpp:
552         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
553         * bindings/js/JSLocationCustom.cpp:
554         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
555         * bindings/scripts/CodeGeneratorJS.pm:
556
557 2009-12-07  Steve Block  <steveblock@google.com>
558
559         Reviewed by Adam Barth.
560
561         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
562         https://bugs.webkit.org/show_bug.cgi?id=32157
563
564         Build fix only, no new tests.
565
566         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
567         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
568         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
569         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
570         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
571         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
572         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
573         * bridge/jni/jsc: Added.
574         * bridge/jni/jsc/jni_utility_private.cpp: Added.
575         (JSC::Bindings::convertArrayInstanceToJavaArray):
576         (JSC::Bindings::convertValueToJValue):
577         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
578         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
579
580 2009-12-06  Oliver Hunt  <oliver@apple.com>
581
582         Reviewed by Maciej Stachowiak.
583
584         texImage2D pixel junk for transparency
585         https://bugs.webkit.org/show_bug.cgi?id=32188
586
587         Use kCGBlendModeCopy when drawing an image to the intermediate context
588         used to create a GL texture.
589
590         No test as we don't currently have any mechanism to retrieve pixel data
591         from the webgl context.
592
593         * platform/graphics/mac/GraphicsContext3DMac.cpp:
594         (WebCore::imageToTexture):
595
596 2009-12-03  Philippe Normand  <pnormand@igalia.com>
597
598         Reviewed by Gustavo Noronha.
599
600         Advertize audio/ogg correctly and refactored mime-type cache
601         building.
602
603         [GTK] Recognize oga as audio/ogg
604         https://bugs.webkit.org/show_bug.cgi?id=31990
605
606         Test: media/media-can-play-ogg.html
607
608         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
609         (WebCore::mimeTypeCache):
610
611 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
612
613         Reviewed by Eric Seidel.
614
615         https://bugs.webkit.org/show_bug.cgi?id=32175
616         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
617
618         * platform/network/cf/SocketStreamHandleCFNet.cpp:
619         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
620         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
621         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
622
623 2009-12-05  Adam Langley  <agl@google.com>
624
625         Reviewed by Adam Barth.
626
627         Check that a CSS format() argument is of a valid type.
628
629         https://bugs.webkit.org/show_bug.cgi?id=31815
630         http://code.google.com/p/chromium/issues/detail?id=28582
631
632         Test: fast/css/url-format-non-string.html
633
634         * css/CSSParser.cpp:
635         (WebCore::CSSParser::parseFontFaceSrc):
636
637 2009-12-04  Adam Langley  <agl@google.com>
638
639         Reviewed by Eric Seidel.
640
641         Chromium: make rounded borders heavier.
642
643         Skia draws its rounded corners differently from the other ports.
644         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
645         regions. (Which is technically more correct, but somewhat unhelpful
646         for us.) Instead, with Skia we use a layer and collect all the
647         clipping paths in effect. When the state is popped, we paint
648         transparency outside the clipping paths and merge the layer down.
649
650         This appears to cause rounded borders to look a little thin, which is
651         addressed in this patch.
652
653         This is well covered by existing tests but will require new baselines
654         in the Chromium tree.
655
656         https://bugs.webkit.org/show_bug.cgi?id=31778
657
658         * platform/graphics/skia/GraphicsContextSkia.cpp:
659         (WebCore::GraphicsContext::addInnerRoundedRectClip):
660
661 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
662
663         Reviewed by Dan Bernstein.
664
665         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
666         
667         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
668         paint. This also causes 3D transforms to be flattened to 2D.
669
670         Test: printing/compositing-layer-printing.html
671
672         * page/FrameView.cpp:
673         (WebCore::FrameView::paintContents):
674
675 2009-12-04  Oliver Hunt  <oliver@apple.com>
676
677         Reviewed by Beth Dakin.
678
679         Fix up some issues in my SVGListTraits change from yesterday.
680
681         * svg/SVGListTraits.h:
682         (WebCore::):
683
684 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
685
686         Not reviewed: chromium build fix.
687
688         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
689         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
690
691         * platform/KURLGoogle.cpp:
692         (WebCore::isDefaultPortForProtocol):
693         (WebCore::portAllowed):
694
695 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
696
697         Reviewed by Timothy Hatcher.
698
699         Web Inspector: Remove suppress highlight when restoring selected node.
700
701         https://bugs.webkit.org/show_bug.cgi?id=32152
702
703         * inspector/front-end/ElementsPanel.js:
704         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
705         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
706         (WebInspector.ElementsPanel.prototype.setDocument):
707
708 2009-12-04  Dirk Schulze  <krit@webkit.org>
709
710         Reviewed by Nikolas Zimmermann.
711
712         Gradient SVG animation demonstrates tearing at animation extremes
713         https://bugs.webkit.org/show_bug.cgi?id=11929
714
715         The focalPoint of a radial gradient is temporarly substracted by
716         the centralPoint, if the focalPoint is not in the radius of the
717         gradient. This is needed to calculate a new postion of the focalPoint
718         according to the specification. But the new focalPoint needs to be
719         moved by the centralPoint after this calculation, which is not the case
720         at the moment. This patch fixes this issue. It was also introduced a
721         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
722         in Cairo.
723
724         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
725         of the new focalPoint caused wrong results for the last three tests.
726
727         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
728
729         * svg/SVGRadialGradientElement.cpp:
730         (WebCore::SVGRadialGradientElement::buildGradient):
731
732 2009-12-04  Anton Muhin  <antonm@chromium.org>
733
734         Reviewed by Dmitry Titov.
735
736         Do not use WebCore::String::String(const UChar*, int length) to convert
737         short v8 strings.
738
739         Plus added string traits.
740         https://bugs.webkit.org/show_bug.cgi?id=31415
741
742         * bindings/v8/V8Binding.cpp:
743         (WebCore::):
744         (WebCore::v8StringToWebCoreString):
745
746 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
747
748         Reviewed by Darin Adler.
749
750         REGRESSION: AX: buttons now extremely repetitive
751         https://bugs.webkit.org/show_bug.cgi?id=32164
752
753         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
754
755         * accessibility/AccessibilityObject.h:
756         (WebCore::AccessibilityObject::isButton):
757         * accessibility/mac/AccessibilityObjectWrapper.mm:
758         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
759
760 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
761
762         Reviewed by Darin Adler.
763
764         Check whether the right side of a string append is non-empty
765         https://bugs.webkit.org/show_bug.cgi?id=32151
766
767         Especially beneficial for CachedScript::script() method
768         which usually appends an empty string returned by flush()
769         to its m_script member. m_script is often hundreds of kbytes
770         which is duplated without reason.
771
772         * platform/text/String.cpp:
773         (WebCore::String::append):
774
775 2009-12-04  Enrica Casucci  <enrica@apple.com>
776
777         Reviewed by John Sullivan.
778
779         Mail.app crashes when indenting table pasted from Numbers.app.
780         <rdar://problem/7209507>
781         https://bugs.webkit.org/show_bug.cgi?id=32166
782
783         Test: LayoutTests/editing/execCommand/indent-partial-table.html
784         
785         * editing/IndentOutdentCommand.cpp:
786         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
787         after the selection has not been moved.
788
789 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
790
791         Reviewed by Darin Adler.
792
793         https://bugs.webkit.org/show_bug.cgi?id=32085
794         WebSocket should block the same ports that are blocked for resource loading
795
796         Test: websocket/tests/url-parsing.html
797
798         * page/SecurityOrigin.cpp:
799         (WebCore::SecurityOrigin::SecurityOrigin):
800         (WebCore::SecurityOrigin::localURLSchemes):
801         * page/SecurityOrigin.h:
802         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
803         is not even in WebCore/platform directory).
804
805         * html/HTMLAnchorElement.cpp:
806         (WebCore::HTMLAnchorElement::host):
807         (WebCore::HTMLAnchorElement::setHost):
808         (WebCore::HTMLAnchorElement::setPort):
809         Updated for the new location of isDefaultPortForProtocol().
810
811         * platform/KURL.cpp:
812         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
813         since the function doesn't require lower case input.
814         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
815         (WebCore::portAllowed): Moved from ResourceHandle.
816         * platform/KURL.h:
817
818         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
819         new location of portAllowed().
820
821         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
822         if trying to connect to a blocked port.
823
824 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
825
826         Reviewed by Kenneth Rohde Christiansen.
827
828         [Qt] WebKit crashes when loading certain SVG images
829         https://bugs.webkit.org/show_bug.cgi?id=29443
830
831         Remove FontFallbackListQt and rely on the common FontFallbackList
832         to handle the fonts. FontCache and FontPlatformData have been
833         updated to work with the common FontFallbackList.
834
835         In the previous implementation, FontPlatformDataCacheKey
836         was a clone of FontPlatformData with the hashing
837         capabilities added in order to use it as a key in the cache's
838         hashmap. FontPlatformData has been modified to handle the hashing
839         function directly so the data are not copied twice in memory.
840
841         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
842         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
843         The behavior is similar except currFamily->family().length() was
844         not tested and the fallback fonts selector were not used.
845
846         Existing tests cover the change.
847
848         * WebCore.pro:
849         * platform/graphics/qt/FontCacheQt.cpp:
850         (WebCore::FontCache::platformInit):
851         (WebCore::FontCache::getFontDataForCharacters):
852         (WebCore::FontCache::getSimilarFontPlatformData):
853         (WebCore::FontCache::getLastResortFallbackFont):
854         (WebCore::FontCache::getTraitsInFamily):
855         (WebCore::FontCache::createFontPlatformData):
856         * platform/graphics/qt/FontCustomPlatformData.cpp:
857         (WebCore::FontCustomPlatformData::fontPlatformData):
858         * platform/graphics/qt/FontFallbackListQt.cpp:
859         Removed. We now use the implementation from FontFallbackList.cpp
860         * platform/graphics/qt/FontPlatformData.h:
861         Add hashing capabilities to be able to use the data with the FontCache.
862         This was previously done in FontCacheQt.cpp
863         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
864         (WebCore::FontPlatformData::FontPlatformData):
865         (WebCore::FontPlatformData::isHashTableDeletedValue):
866         (WebCore::FontPlatformData::font):
867         (WebCore::FontPlatformData::size):
868         (WebCore::FontPlatformData::family):
869         (WebCore::FontPlatformData::bold):
870         (WebCore::FontPlatformData::italic):
871         (WebCore::FontPlatformData::smallCaps):
872         (WebCore::FontPlatformData::pixelSize):
873         * platform/graphics/qt/FontPlatformDataQt.cpp:
874         (WebCore::FontPlatformData::FontPlatformData):
875         (WebCore::FontPlatformData::~FontPlatformData):
876         (WebCore::FontPlatformData::operator=):
877         (WebCore::FontPlatformData::operator==):
878         (WebCore::FontPlatformData::hash):
879
880 2009-12-04  Adam Treat  <atreat@rim.com>
881
882         Reviewed by Dan Bernstein.
883
884         Fix wrong assert that was only working through sheer luck.
885         https://bugs.webkit.org/show_bug.cgi?id=32162
886
887         * platform/text/BidiContext.cpp:
888         (WebCore::BidiContext::create):
889
890 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
891
892         Reviewed by Simon Hausmann.
893
894         [Qt] Allow removing 'qrc' as a local security origin scheme
895
896         * page/SecurityOrigin.cpp:
897
898 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
899
900         Reviewed by Eric Seidel.
901
902         Allow custom memory allocation control for WebCore's CollectionCache
903         https://bugs.webkit.org/show_bug.cgi?id=32109
904
905         Inherits the following class from FastAllocBase because it is
906         instantiated by 'new':
907
908         struct name            - instantiated at: WebCore/'location'
909
910         struct CollectionCache - dom/Document.cpp:4029
911
912         * html/CollectionCache.h:
913
914 2009-12-04  Steve Block  <steveblock@google.com>
915
916         Reviewed by Darin Adler.
917
918         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
919         https://bugs.webkit.org/show_bug.cgi?id=32111
920
921         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
922         fatal error was registered on this GeoNotifier or if this request has timed
923         out. If the request is a watch, and is cleared by a call to clearWatch in the
924         callback, the GeoNotifier object will be destroyed. We must therefore cache the
925         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
926         Geolocation::requestTimedOut.
927
928         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
929                fast/dom/Geolocation/timeout-clear-watch.html
930
931         * page/Geolocation.cpp: Modified.
932         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
933
934 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
935
936         Reviewed by Eric Seidel.
937
938         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
939         https://bugs.webkit.org/show_bug.cgi?id=
940
941         Inherits the following class from Noncopyable because it is instantiated
942         by 'new' and no need to be copyable:
943
944         class/struct name         - instantiated at: WebCore/'location'
945
946         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
947
948         Inherits the following class from FastAllocBase because it is
949         instantiated by 'new':
950
951         class TransformOperations - rendering/style/RenderStyle.h:1175
952
953         Noncopyable.h's include added to SharedTimer.h.
954
955         * platform/SharedTimer.h:
956         * platform/graphics/transforms/TransformOperations.h:
957
958 2009-12-04  Xan Lopez  <xlopez@igalia.com>
959
960         Reviewed by Gustavo Noronha.
961
962         [GTK]Enable DNS prefetching
963         https://bugs.webkit.org/show_bug.cgi?id=23846
964
965         Enable DNS prefetching.
966
967         Based on a patch by José Millán.
968
969         * platform/network/soup/DNSSoup.cpp:
970         (WebCore::prefetchDNS):
971
972 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
973
974         Reviewed by Eric Seidel.
975
976         Allow custom memory allocation control for the svg directory in WebCore
977         https://bugs.webkit.org/show_bug.cgi?id=
978
979         Inherits the following classes from Noncopyable because these are instantiated
980         by 'new' and no need to be copyable:
981
982         class/struct name           - instantiated at: WebCore/'location'
983
984         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
985         class SVGFontData           - css/CSSFontFaceSource.cpp:156
986         class SVGDocumentExtensions - dom/Document.cpp:3962
987         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
988
989         * svg/SVGDocumentExtensions.h:
990         * svg/SVGFontData.h:
991         * svg/SVGViewSpec.h:
992         * svg/graphics/SVGResource.cpp:
993
994 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
995
996         Reviewed by Beth Dakin.
997
998         WAI-ARIA: aria-activedescendant doesn't work as intended
999         https://bugs.webkit.org/show_bug.cgi?id=32100
1000
1001         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
1002         1. The indexes were being reported incorrectly by treeitems.
1003         2. aria-activedescendant changes were not being sent to the containing item.
1004         3. The tree's selected rows need to consult aria-activedescendant.
1005         4. Since a tree changes what it returns as its children (it returns its rows)
1006            the mac-specific array indexing methods need to correctly handle the tree case.
1007
1008         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
1009                platform/mac/accessibility/aria-tree-index-of-items.html
1010
1011         * accessibility/AXObjectCache.h:
1012         (WebCore::AXObjectCache::):
1013         * accessibility/AccessibilityRenderObject.cpp:
1014         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
1015         (WebCore::AccessibilityRenderObject::activeDescendant):
1016         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1017         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
1018         * accessibility/mac/AXObjectCacheMac.mm:
1019         (WebCore::AXObjectCache::postPlatformNotification):
1020         * accessibility/mac/AccessibilityObjectWrapper.mm:
1021         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1022         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1023         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1024         * accessibility/win/AXObjectCacheWin.cpp:
1025         (WebCore::AXObjectCache::postPlatformNotification):
1026
1027 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
1028
1029         Reviewed by Eric Seidel.
1030
1031         Allow custom memory allocation control for the xml directory in WebCore
1032         https://bugs.webkit.org/show_bug.cgi?id=
1033
1034         Inherits the following class from Noncopyable because it is instantiated 
1035         by 'new' and no need to be copyable:
1036
1037         class/struct name               - instantiated at: WebCore/'location'
1038
1039         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
1040
1041         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
1042
1043         class NodeTest                  - xml/XPathGrammar.y:258
1044         class NodeSet                   - xml/XPathValue.cpp:52
1045         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
1046
1047         * xml/XMLHttpRequest.cpp:
1048         * xml/XPathExpressionNode.h:
1049         * xml/XPathNodeSet.h:
1050         * xml/XPathStep.h:
1051
1052 2009-12-03  Drew Wilson  <atwilson@chromium.org>
1053
1054         Reviewed by Adam Barth.
1055
1056         New History changes do not compile for Chromium/V8
1057         https://bugs.webkit.org/show_bug.cgi?id=32148
1058
1059         Existing tests suffice (just trying to get code to compile).
1060
1061         * WebCore.gypi:
1062         Added V8HistoryCustom.cpp and other missing files.
1063         * bindings/v8/custom/V8CustomBinding.h:
1064         Added custom handlers for History.pushState()/replaceState().
1065         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
1066         Added custom handlers for History.pushState()/replaceState().
1067         * history/BackForwardListChromium.cpp:
1068         (WebCore::BackForwardList::pushStateItem):
1069         Stubbed out this routine for now - will implement in the future.
1070
1071 2009-12-03  Adam Barth  <abarth@webkit.org>
1072
1073         Reviewed by Eric Seidel.
1074
1075         OwnPtr<XBLBindingManager> Document::m_bindingManager;
1076         https://bugs.webkit.org/show_bug.cgi?id=32147
1077
1078         The document actually owns the bindingManager.  That's what the code
1079         should say.
1080
1081         * dom/Document.cpp:
1082         (WebCore::Document::~Document):
1083         * dom/Document.h:
1084         (WebCore::Document::bindingManager):
1085
1086 2009-12-03  Adam Barth  <abarth@webkit.org>
1087
1088         Reviewed by Eric Seidel.
1089
1090         OwnPtr<Tokenizer> Document::m_tokenizer;
1091         https://bugs.webkit.org/show_bug.cgi?id=32145
1092
1093         The document actually owns the tokenizer.  That's what the code should say.
1094
1095         * dom/Document.cpp:
1096         (WebCore::Document::removedLastRef):
1097         (WebCore::Document::~Document):
1098         (WebCore::Document::cancelParsing):
1099         (WebCore::Document::implicitOpen):
1100         (WebCore::Document::implicitClose):
1101         * dom/Document.h:
1102         (WebCore::Document::tokenizer):
1103
1104 2009-12-03  Adam Barth  <abarth@webkit.org>
1105
1106         Reviewed by Eric Seidel.
1107
1108         OwnPtr<RenderArena> Document::m_renderArena;
1109         https://bugs.webkit.org/show_bug.cgi?id=32146
1110
1111         The document owns the renderArena.  That's what the code should say.
1112
1113         * dom/Document.cpp:
1114         (WebCore::Document::Document): Also, removed a redundant initialization
1115         of the tokenizer that I missed in my previous patch.
1116         (WebCore::Document::~Document):
1117         (WebCore::Document::attach):
1118         (WebCore::Document::detach):
1119         * dom/Document.h:
1120         (WebCore::Document::renderArena):
1121
1122 2009-12-03  Drew Wilson  <atwilson@chromium.org>
1123
1124         Rolling back r51633 because it causes a chromium perf regression.
1125
1126         * platform/graphics/SimpleFontData.h:
1127         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1128
1129 2009-12-03  Adam Barth  <abarth@webkit.org>
1130
1131         Reviewed by Eric Seidel.
1132
1133         The code should say that Document owns DocLoader
1134         https://bugs.webkit.org/show_bug.cgi?id=32143
1135
1136         It's the truth.
1137
1138         * dom/Document.cpp:
1139         (WebCore::Document::~Document):
1140         * dom/Document.h:
1141         (WebCore::Document::docLoader):
1142
1143 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1144
1145         Reviewed by Eric Seidel.
1146
1147         AX: VO just says "term" on many web sites
1148         https://bugs.webkit.org/show_bug.cgi?id=32139
1149
1150         Test: platform/mac/accessibility/definition-list-term.html
1151
1152         * accessibility/AccessibilityRenderObject.cpp:
1153         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1154         * accessibility/mac/AccessibilityObjectWrapper.mm:
1155         (-[AccessibilityObjectWrapper subrole]):
1156         (-[AccessibilityObjectWrapper roleDescription]):
1157
1158 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1159
1160         Reviewed by Beth Dakin.
1161
1162         Implement WAI-ARIA scrollbar role and related property aria-orientation
1163         https://bugs.webkit.org/show_bug.cgi?id=32126
1164
1165         Test: accessibility/aria-scrollbar-role.html
1166
1167         * accessibility/AccessibilityObject.cpp:
1168         (WebCore::createARIARoleMap):
1169         * accessibility/AccessibilityObject.h:
1170         (WebCore::AccessibilityObject::isScrollbar):
1171         * accessibility/AccessibilityRenderObject.cpp:
1172         (WebCore::AccessibilityRenderObject::valueForRange):
1173         (WebCore::AccessibilityRenderObject::orientation):
1174         (WebCore::AccessibilityRenderObject::canHaveChildren):
1175         * accessibility/AccessibilityRenderObject.h:
1176         * accessibility/mac/AccessibilityObjectWrapper.mm:
1177         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1178         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1179         * html/HTMLAttributeNames.in:
1180
1181 2009-12-03  Dan Bernstein  <mitz@apple.com>
1182
1183         Reviewed by Darin Adler.
1184
1185         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
1186         accelerated layers
1187         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
1188         Fix selection painting to do container-relative repaints
1189
1190         Test: fast/repaint/block-selection-gap-in-composited-layer.html
1191
1192         * rendering/RenderBlock.cpp:
1193         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
1194         gap rects in the coordinate space of the repaint container.
1195         * rendering/RenderLayerCompositor.cpp:
1196         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
1197         FIXME.
1198         * rendering/RenderView.cpp:
1199         (WebCore::RenderView::setSelection): Map block selection gap rects from
1200         the repaint container’s coordinate space to the view’s coordinate space
1201         before adding them to the cached selection bounds.
1202         (WebCore::RenderView::clearSelection): Changed to use
1203         repaintRectangleInViewAndCompositedLayers() so that the selection rect
1204         is invalidated in composited layers as well.
1205
1206 2009-12-03  Jonathan Dixon  <joth@chromium.org>
1207
1208         Reviewed by Dimitri Glazkov.
1209
1210         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
1211         https://bugs.webkit.org/show_bug.cgi?id=32066
1212
1213         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
1214         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
1215         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
1216         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
1217         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
1218         make that the default just yet.
1219
1220         * WebCore.gypi:
1221         * page/Settings.cpp:
1222         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
1223         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
1224         * page/Settings.h:
1225         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
1226         * platform/chromium/GeolocationServiceChromium.cpp: Added.
1227         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
1228         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
1229
1230 2009-12-03  Enrica Casucci  <enrica@apple.com>
1231
1232         Reviewed by John Sullivan.
1233
1234         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
1235         <rdar://problem/7198592>
1236         https://bugs.webkit.org/show_bug.cgi?id=32129
1237
1238         Fixed the way the next paragraph is calculated.
1239         I've added a repro case in Safari and attached it to the Bugzilla bug.
1240
1241         * editing/Editor.cpp:
1242         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
1243         next paragraph in the loop.
1244
1245 2009-12-03  Oliver Hunt  <oliver@apple.com>
1246
1247         Build fix
1248
1249         * svg/SVGListTraits.h:
1250         (WebCore::):
1251
1252 2009-12-03  Oliver Hunt  <oliver@apple.com>
1253
1254         Build fix
1255
1256         * svg/SVGListTraits.h:
1257         (WebCore::):
1258
1259 2009-12-03  Brady Eidson  <beidson@apple.com>
1260
1261         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
1262
1263         Long live our auto-generated overlords that I didn't know about...  
1264
1265         * WebCore.base.exp:
1266
1267 2009-12-03  Oliver Hunt  <oliver@apple.com>
1268
1269         Reviewed by Dan Bernstein.
1270
1271         REGRESSION (r51627): 3 SVG tests are failing
1272         https://bugs.webkit.org/show_bug.cgi?id=32117
1273
1274         Null checking Items in the SVGList is insufficient as items may
1275         be floats, etc so add SVGListTraits::isNull and add appropriate
1276         specializations.
1277
1278         Test: svg/dom/svglist-exception-on-out-bounds-error.html
1279
1280         * svg/SVGList.h:
1281         (WebCore::SVGListTypeOperations::isNull):
1282         (WebCore::SVGList::initialize):
1283         (WebCore::SVGList::insertItemBefore):
1284         (WebCore::SVGList::replaceItem):
1285         (WebCore::SVGList::appendItem):
1286         * svg/SVGListTraits.h:
1287         (WebCore::):
1288
1289 2009-12-03  Brady Eidson  <beidson@apple.com>
1290
1291         No review - release build fix.
1292
1293         * history/HistoryItem.cpp:
1294         (WebCore::HistoryItem::documentDetached):
1295
1296 2009-12-03  Brady Eidson  <beidson@apple.com>
1297
1298         No review - release build fix.
1299
1300         * loader/HistoryController.cpp:
1301         (WebCore::HistoryController::pushState):
1302
1303 2009-12-03  Enrica Casucci  <enrica@apple.com>
1304
1305         Reviewed by Adele Peterson.
1306
1307         Multiple Undos removes the last posted comment and/or the ones before it.
1308         <rdar://problem/6557066>
1309         https://bugs.webkit.org/show_bug.cgi?id=32079
1310         
1311         The fix consists in preventing Undos and Redos to be applied to elements that
1312         are no longer editable. We do not attempt to remove the commands from the queue.
1313         It is a relatively simple fix that comes with a little extra overhead for the apply
1314         and unapply methods where we are now performing the editability check.
1315
1316         Test: editing/undo/undo-indent-noneditable.html
1317
1318         * editing/AppendNodeCommand.cpp:
1319         (WebCore::AppendNodeCommand::doApply):
1320         (WebCore::AppendNodeCommand::doUnapply):
1321         * editing/DeleteFromTextNodeCommand.cpp:
1322         (WebCore::DeleteFromTextNodeCommand::doApply):
1323         (WebCore::DeleteFromTextNodeCommand::doUnapply):
1324         * editing/InsertIntoTextNodeCommand.cpp:
1325         (WebCore::InsertIntoTextNodeCommand::doApply):
1326         (WebCore::InsertIntoTextNodeCommand::doUnapply):
1327         * editing/InsertNodeBeforeCommand.cpp:
1328         (WebCore::InsertNodeBeforeCommand::doApply):
1329         (WebCore::InsertNodeBeforeCommand::doUnapply):
1330         * editing/JoinTextNodesCommand.cpp:
1331         (WebCore::JoinTextNodesCommand::doApply):
1332         (WebCore::JoinTextNodesCommand::doUnapply):
1333         * editing/MergeIdenticalElementsCommand.cpp:
1334         (WebCore::MergeIdenticalElementsCommand::doApply):
1335         (WebCore::MergeIdenticalElementsCommand::doUnapply):
1336         * editing/RemoveNodeCommand.cpp:
1337         (WebCore::RemoveNodeCommand::doApply):
1338         (WebCore::RemoveNodeCommand::doUnapply):
1339         * editing/SplitElementCommand.cpp:
1340         (WebCore::SplitElementCommand::executeApply):
1341         (WebCore::SplitElementCommand::doUnapply):
1342         * editing/SplitTextNodeCommand.cpp:
1343         (WebCore::SplitTextNodeCommand::doApply):
1344         (WebCore::SplitTextNodeCommand::doUnapply):
1345         * editing/WrapContentsInDummySpanCommand.cpp:
1346         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1347         (WebCore::WrapContentsInDummySpanCommand::doReapply):
1348
1349 2009-12-03  Brady Eidson  <beidson@apple.com>
1350
1351         Reviewed by Sam Weinig.
1352
1353         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
1354
1355         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
1356                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
1357                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
1358                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
1359                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
1360                fast/loader/stateobjects/pushstate-object-types.html
1361                fast/loader/stateobjects/pushstate-then-replacestate.html
1362                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
1363                fast/loader/stateobjects/replacestate-then-pushstate.html
1364                http/tests/loading/state-object-security-exception.html
1365
1366         Derived sources and project file changes:
1367         * DerivedSources.cpp:
1368         * DerivedSources.make:
1369         * GNUmakefile.am
1370         * WebCore.pro
1371         * WebCore.vcproj/WebCore.vcproj:
1372         * WebCore.xcodeproj/project.pbxproj:
1373
1374         Add the new PopStateEvent:
1375         * dom/PopStateEvent.cpp: Added.
1376         (WebCore::PopStateEvent::PopStateEvent):
1377         (WebCore::PopStateEvent::initPopStateEvent):
1378         * dom/PopStateEvent.h: Added.
1379         (WebCore::PopStateEvent::create):
1380         (WebCore::PopStateEvent::isPopStateEvent):
1381         (WebCore::PopStateEvent::state):
1382         * dom/PopStateEvent.idl: Added.
1383         * bindings/js/JSPopStateEventCustom.cpp: Added.
1384         (WebCore::JSPopStateEvent::initPopStateEvent):
1385         (WebCore::JSPopStateEvent::state):
1386         * bindings/js/JSEventCustom.cpp:
1387         (WebCore::toJS):
1388         * dom/Event.cpp:
1389         (WebCore::Event::isPopStateEvent):
1390         * dom/Event.h:
1391         * dom/EventNames.h:
1392
1393         Add the "onpopstate" attribute:
1394         * html/HTMLAttributeNames.in:
1395         * html/HTMLBodyElement.cpp:
1396         (WebCore::HTMLBodyElement::parseMappedAttribute):
1397         * html/HTMLBodyElement.idl:
1398         * html/HTMLFrameSetElement.cpp:
1399         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1400         * html/HTMLFrameSetElement.h:
1401         * html/HTMLFrameSetElement.idl:
1402         * page/DOMWindow.h:
1403         * page/DOMWindow.idl:
1404
1405         Add pushState and replaceState management to the loader and history machinery:
1406         * bindings/js/JSHistoryCustom.cpp:
1407         (WebCore::JSHistory::pushState):
1408         (WebCore::JSHistory::replaceState):
1409         * loader/HistoryController.cpp:
1410         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
1411           both the same-document fragment scroll case with the new same-document state object activation case.
1412         (WebCore::HistoryController::pushState):
1413         (WebCore::HistoryController::replaceState):
1414         * loader/HistoryController.h:
1415         * history/BackForwardList.cpp:
1416         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
1417         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
1418           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
1419           meant to remain.
1420         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
1421           insert the new item.
1422         (WebCore::BackForwardList::removeItem):
1423         * history/BackForwardList.h:
1424         * page/History.cpp:
1425         (WebCore::History::urlForState):
1426         (WebCore::History::stateObjectAdded):
1427         * page/History.h:
1428         * page/History.idl:
1429
1430         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
1431         * history/HistoryItem.cpp:
1432         (WebCore::HistoryItem::HistoryItem):
1433         (WebCore::HistoryItem::~HistoryItem):
1434         (WebCore::HistoryItem::setStateObject):
1435         (WebCore::HistoryItem::setDocument):
1436         (WebCore::HistoryItem::documentDetached):
1437         * history/HistoryItem.h:
1438         (WebCore::HistoryItem::stateObject):
1439         (WebCore::HistoryItem::document):
1440         * dom/Document.cpp:
1441         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
1442           is going away.
1443         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
1444         (WebCore::Document::unregisterHistoryItem): Ditto.
1445         * dom/Document.h:
1446
1447         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
1448         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
1449         * dom/Document.cpp:
1450         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
1451         (WebCore::Document::updateURLForPushOrReplaceState):
1452         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
1453           the pending state object.
1454         * loader/DocumentLoader.cpp:
1455         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
1456         * loader/DocumentLoader.h:
1457         * loader/FrameLoaderClient.h:
1458         * loader/EmptyClients.h:
1459         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
1460
1461         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
1462         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
1463         * loader/FrameLoader.cpp:
1464         (WebCore::FrameLoader::loadInSameDocument):
1465         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1466         (WebCore::FrameLoader::navigateWithinDocument):
1467         (WebCore::FrameLoader::navigateToDifferentDocument):
1468         (WebCore::FrameLoader::loadItem):
1469         * loader/FrameLoader.h:
1470         * page/Page.cpp:
1471         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
1472
1473 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1474
1475         Not reviewed: chromium build fix.
1476         r51621 changed JS bindings only, broke v8's.
1477
1478         * bindings/v8/ScriptFunctionCall.cpp:
1479         (WebCore::ScriptFunctionCall::appendArgument):
1480         * bindings/v8/ScriptFunctionCall.h:
1481
1482 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
1483
1484         Reviewed by Adam Barth.
1485
1486         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
1487         https://bugs.webkit.org/show_bug.cgi?id=32094
1488
1489         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
1490
1491         * bindings/v8/DOMObjectsInclude.h:
1492         * bindings/v8/V8DOMWrapper.cpp:
1493         (WebCore::V8DOMWrapper::getTemplate):
1494         (WebCore::V8DOMWrapper::convertToV8Object):
1495         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
1496         * bindings/v8/V8DOMWrapper.h:
1497         * bindings/v8/V8GCController.cpp:
1498         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
1499         * bindings/v8/custom/V8CustomBinding.h:
1500
1501 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1502
1503         Reviewed by Timothy Hatcher.
1504
1505         Chromium: Add support for settings containing ":"
1506
1507         https://bugs.webkit.org/show_bug.cgi?id=32118
1508
1509         * inspector/front-end/WatchExpressionsSidebarPane.js:
1510         (WebInspector.WatchExpressionsSection):
1511
1512 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
1513
1514         Reviewed by Simon Fraser.
1515
1516         repaint events from outside the viewport aren't received
1517         https://bugs.webkit.org/show_bug.cgi?id=32081
1518
1519         When using a tiled backing store for painting, you need to receive
1520         event from outside the viewport. Setting the viewport to the size
1521         of the contents is not an option if you want to make use of WebCore's
1522         infrastructure for drawing scrollbars etc.
1523
1524         A new property, paintsEntireContents, has been introduced for the
1525         above use-case. It is settable, as tiling will be optional for Qt,
1526         and for the not yet upstreamed EFL port, there will be two different
1527         views, where only one of them are tiled.
1528
1529         No change in behavior, so no new tests added.
1530
1531         * page/FrameView.cpp:
1532         (WebCore::FrameView::repaintContentRectangle):
1533         * platform/ScrollView.cpp:
1534         (WebCore::ScrollView::ScrollView):
1535         (WebCore::ScrollView::setPaintsEntireContents):
1536         (WebCore::ScrollView::wheelEvent):
1537         * platform/ScrollView.h:
1538         (WebCore::ScrollView::paintsEntireContents):
1539
1540 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
1541
1542         Reviewed by Eric Seidel.
1543
1544         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
1545         https://bugs.webkit.org/show_bug.cgi?id=31802
1546
1547         No test since this is already covered by existing pixel tests.
1548
1549         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
1550         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
1551         of Core Text functions that are public on 10.6 but SPI on 10.5.
1552
1553 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1554
1555         Reviewed by Timothy Hatcher.
1556
1557         Web Inspector: Simplify the settings support in inspector controller.
1558
1559         https://bugs.webkit.org/show_bug.cgi?id=32076
1560
1561         Test: inspector/settings-set-get.html
1562
1563         * WebCore.Inspector.exp:
1564         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1565         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1566         * inspector/InspectorClient.h:
1567         * inspector/InspectorController.cpp:
1568         (WebCore::InspectorController::~InspectorController):
1569         (WebCore::InspectorController::setting):
1570         (WebCore::InspectorController::setSetting):
1571         (WebCore::InspectorController::setWindowVisible):
1572         (WebCore::InspectorController::attachWindow):
1573         (WebCore::InspectorController::setAttachedWindowHeight):
1574         (WebCore::InspectorController::storeLastActivePanel):
1575         (WebCore::InspectorController::scriptObjectReady):
1576         (WebCore::InspectorController::showWindow):
1577         (WebCore::InspectorController::enableResourceTracking):
1578         (WebCore::InspectorController::disableResourceTracking):
1579         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
1580         (WebCore::InspectorController::enableProfiler):
1581         (WebCore::InspectorController::disableProfiler):
1582         (WebCore::InspectorController::enableDebuggerFromFrontend):
1583         (WebCore::InspectorController::disableDebugger):
1584         * inspector/InspectorController.h:
1585         * inspector/InspectorFrontendHost.cpp:
1586         (WebCore::InspectorFrontendHost::setting):
1587         (WebCore::InspectorFrontendHost::setSetting):
1588         * inspector/InspectorFrontendHost.h:
1589         * inspector/InspectorFrontendHost.idl:
1590         * loader/EmptyClients.h:
1591         (WebCore::EmptyInspectorClient::populateSetting):
1592         (WebCore::EmptyInspectorClient::storeSetting):
1593
1594 2009-12-03  Ben Murdoch  <benm@google.com>
1595
1596         Reviewed by Brady Eidson.
1597
1598         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
1599         https://bugs.webkit.org/show_bug.cgi?id=31915
1600
1601         No change in functionality so no new tests required.
1602
1603         * history/HistoryItem.cpp:
1604         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
1605         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
1606         (WebCore::HistoryItem::setURLString): ditto.
1607         (WebCore::HistoryItem::setOriginalURLString): ditto.
1608         (WebCore::HistoryItem::setReferrer): ditto.
1609         (WebCore::HistoryItem::setTitle): ditto.
1610         (WebCore::HistoryItem::setTarget): ditto.
1611         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
1612         (WebCore::HistoryItem::clearDocumentState): ditto.
1613         (WebCore::HistoryItem::setIsTargetItem): ditto.
1614         (WebCore::HistoryItem::addChildItem): ditto.
1615         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
1616         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
1617
1618 2009-12-03  Ben Murdoch  <benm@google.com>
1619
1620         Reviewed by Brady Eidson.
1621
1622         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
1623         https://bugs.webkit.org/show_bug.cgi?id=31914
1624
1625         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
1626
1627         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
1628
1629         * history/BackForwardList.cpp:
1630         (WebCore::BackForwardList::addItem): Execute the callback.
1631         (WebCore::BackForwardList::goBack): ditto.
1632         (WebCore::BackForwardList::goForward): ditto.
1633         (WebCore::BackForwardList::goToItem): ditto.
1634         (WebCore::BackForwardList::setCapacity): dito.
1635         * loader/EmptyClients.h:
1636         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
1637         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
1638         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
1639         * loader/FrameLoaderClient.h:
1640
1641 2009-12-03  Ben Murdoch  <benm@google.com>
1642
1643         Reviewed by Brady Eidson.
1644
1645         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
1646         https://bugs.webkit.org/show_bug.cgi?id=31913
1647
1648         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
1649
1650         No new tests required as this is Android specific code.
1651
1652         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
1653         * history/android: Added.
1654         * history/android/AndroidWebHistoryBridge.h: Added.
1655         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
1656         (WebCore::HistoryItem::bridge): Added.
1657         (WebCore::HistoryItem::setBridge): Added.
1658
1659 2009-12-03  Oliver Hunt  <oliver@apple.com>
1660
1661         Reviewed by Maciej Stachowiak.
1662
1663         NULL ptr in SVGPathSegList::getPathSegAtLength()
1664         https://bugs.webkit.org/show_bug.cgi?id=30313
1665
1666         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
1667         Add null checks to SVGList's content manipulation functions to prevent
1668         null values from entering the list in the first place.
1669
1670         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
1671
1672         * svg/SVGList.h:
1673         (WebCore::SVGList::initialize):
1674         (WebCore::SVGList::insertItemBefore):
1675         (WebCore::SVGList::replaceItem):
1676         (WebCore::SVGList::appendItem):
1677         * svg/SVGPathElement.cpp:
1678         (WebCore::SVGPathElement::getPathSegAtLength):
1679         * svg/SVGPathElement.h:
1680         * svg/SVGPathElement.idl:
1681         * svg/SVGPathSegList.cpp:
1682         (WebCore::SVGPathSegList::getPathSegAtLength):
1683         (WebCore::SVGPathSegList::toPathData):
1684         (WebCore::SVGPathSegList::createAnimated):
1685         * svg/SVGPathSegList.h:
1686
1687 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
1688
1689         Reviewed by Eric Seidel.
1690
1691         Sanitize web fonts using the OTS library 
1692         https://bugs.webkit.org/show_bug.cgi?id=31106
1693
1694         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
1695         and attempts to validate and sanitize them. We hope this reduces the attack surface
1696         of the system font libraries.
1697
1698         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
1699         * WebCore.gypi: Added new files below.
1700         * WebCore.xcodeproj/project.pbxproj: Ditto.
1701         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
1702         (WebCore::createFontCustomPlatformData):
1703         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
1704         (WebCore::createFontCustomPlatformData):
1705         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
1706         (WebCore::OpenTypeSanitizer::sanitize):
1707         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
1708         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
1709
1710 2009-12-02  Oliver Hunt  <oliver@apple.com>
1711
1712         Reviewed by Sam Weinig.
1713
1714         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
1715         https://bugs.webkit.org/show_bug.cgi?id=32098
1716
1717         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
1718         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
1719         that an explicit String cast would not be necessary.
1720
1721         To prevent something like this happening again in future i've added private
1722         operator new implementations to ScriptFunctionCall making this type of mistake
1723         produce errors when compiling.
1724
1725         Test case: Inspector tests now pass with GC on every alloc enabled.
1726
1727         * bindings/js/ScriptFunctionCall.cpp:
1728         (WebCore::ScriptFunctionCall::appendArgument):
1729         * bindings/js/ScriptFunctionCall.h:
1730         (WebCore::ScriptFunctionCall::operator new):
1731         (WebCore::ScriptFunctionCall::operator new[]):
1732         * inspector/InspectorFrontend.cpp:
1733         (WebCore::InspectorFrontend::addConsoleMessage):
1734         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
1735         (WebCore::InspectorFrontend::addResource):
1736         (WebCore::InspectorFrontend::updateResource):
1737         (WebCore::InspectorFrontend::removeResource):
1738         (WebCore::InspectorFrontend::updateFocusedNode):
1739         (WebCore::InspectorFrontend::setAttachedWindow):
1740         (WebCore::InspectorFrontend::addRecordToTimeline):
1741         (WebCore::InspectorFrontend::parsedScriptSource):
1742         (WebCore::InspectorFrontend::failedToParseScriptSource):
1743         (WebCore::InspectorFrontend::addProfileHeader):
1744         (WebCore::InspectorFrontend::setRecordingProfile):
1745         (WebCore::InspectorFrontend::didGetProfileHeaders):
1746         (WebCore::InspectorFrontend::didGetProfile):
1747         (WebCore::InspectorFrontend::pausedScript):
1748         (WebCore::InspectorFrontend::setDocument):
1749         (WebCore::InspectorFrontend::setDetachedRoot):
1750         (WebCore::InspectorFrontend::setChildNodes):
1751         (WebCore::InspectorFrontend::childNodeCountUpdated):
1752         (WebCore::InspectorFrontend::childNodeInserted):
1753         (WebCore::InspectorFrontend::childNodeRemoved):
1754         (WebCore::InspectorFrontend::attributesUpdated):
1755         (WebCore::InspectorFrontend::didRemoveNode):
1756         (WebCore::InspectorFrontend::didGetChildNodes):
1757         (WebCore::InspectorFrontend::didApplyDomChange):
1758         (WebCore::InspectorFrontend::didGetEventListenersForNode):
1759         (WebCore::InspectorFrontend::didGetCookies):
1760         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
1761         (WebCore::InspectorFrontend::addDatabase):
1762         (WebCore::InspectorFrontend::selectDatabase):
1763         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
1764         (WebCore::InspectorFrontend::addDOMStorage):
1765         (WebCore::InspectorFrontend::selectDOMStorage):
1766         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
1767         (WebCore::InspectorFrontend::didSetDOMStorageItem):
1768         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
1769         (WebCore::InspectorFrontend::updateDOMStorage):
1770         (WebCore::InspectorFrontend::addNodesToSearchResult):
1771         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
1772         * inspector/InspectorFrontend.h:
1773
1774 2009-12-02  Dave Hyatt  <hyatt@apple.com>
1775
1776         Reviewed by Darin Adler.
1777
1778         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
1779         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
1780         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
1781         makes error handling deal with more cases correctly.
1782
1783         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
1784
1785         * css/CSSGrammar.y:
1786         * css/CSSParser.cpp:
1787         (WebCore::CSSParser::CSSParser):
1788         (WebCore::CSSParser::parseRule):
1789         (WebCore::CSSParser::createCharsetRule):
1790         (WebCore::CSSParser::createImportRule):
1791         (WebCore::CSSParser::createMediaRule):
1792         (WebCore::CSSParser::createKeyframesRule):
1793         (WebCore::CSSParser::createStyleRule):
1794         (WebCore::CSSParser::createFontFaceRule):
1795         (WebCore::CSSParser::addNamespace):
1796         (WebCore::CSSParser::createVariablesRule):
1797         * css/CSSParser.h:
1798
1799 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
1800
1801         Reviewed by Dan Bernstein.
1802
1803         Safari/Chromium for Windows fails to load CJK WebFonts
1804         https://bugs.webkit.org/show_bug.cgi?id=31804
1805         
1806         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1807         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
1808
1809 2009-12-02  Avi Drissman  <avi@chromium.org>
1810
1811         Reviewed by Darin Fisher.
1812
1813         Chromium: Need tickmarks in scrollbar
1814         https://bugs.webkit.org/show_bug.cgi?id=32069
1815
1816         * WebCore.gyp/WebCore.gyp:
1817         * WebCore.gypi:
1818         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
1819         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
1820
1821 2009-11-13  Timothy Hatcher  <timothy@apple.com>
1822
1823         Expose a function to set the value of an input element on behalf of the user.
1824         This function will dispatch the change event so the page is notified when autofill
1825         happens. Also dispatch a change event when a select element is changed by autofill.
1826
1827         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
1828
1829         Reviewed by Darin Adler.
1830
1831         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
1832         * bindings/objc/DOMHTML.mm:
1833         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
1834         a change event is fired. This method is called by Safari autofill.
1835         * dom/Document.cpp:
1836         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
1837         of dispatching the change event directly to be consistent.
1838         * html/HTMLFormControlElement.cpp:
1839         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
1840         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
1841         * html/HTMLInputElement.h:
1842         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
1843         * html/InputElement.h: Added setValueForUser.
1844
1845 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
1846
1847         Reviewed by Timothy Hatcher.
1848
1849         Web Inspector: DOM tree selection disappears upon page refresh.
1850
1851         https://bugs.webkit.org/show_bug.cgi?id=31142
1852
1853         Test: inspector/elements-panel-selection-on-refresh.html
1854
1855         * inspector/InjectedScriptHost.cpp:
1856         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
1857         * inspector/InjectedScriptHost.h:
1858         * inspector/InjectedScriptHost.idl:
1859         * inspector/InspectorBackend.h:
1860         * inspector/InspectorController.cpp:
1861         (WebCore::InspectorController::close):
1862         (WebCore::InspectorController::releaseDOMAgent):
1863         (WebCore::InspectorController::resetScriptObjects):
1864         * inspector/InspectorDOMAgent.cpp:
1865         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
1866         (WebCore::InspectorDOMAgent::reset):
1867         (WebCore::InspectorDOMAgent::setDocument):
1868         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
1869         (WebCore::InspectorDOMAgent::nodeForPath):
1870         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1871         * inspector/InspectorDOMAgent.h:
1872         * inspector/front-end/DOMAgent.js:
1873         (WebInspector.DOMNode.prototype._renumber):
1874         (WebInspector.DOMAgent.prototype._setDocument):
1875         * inspector/front-end/ElementsPanel.js:
1876         (WebInspector.ElementsPanel.prototype.reset):
1877         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
1878         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
1879         (WebInspector.ElementsPanel.prototype.setDocument):
1880         * inspector/front-end/InjectedScript.js:
1881         (InjectedScript.pushNodeByPathToFrontend):
1882         * inspector/front-end/InjectedScriptAccess.js:
1883
1884 2009-12-01  Dave Hyatt  <hyatt@apple.com>
1885
1886         Reviewed by Dan Bernstein.
1887
1888         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
1889         all the @-rules we support.  When escape sequences are present, the lexical scanner
1890         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
1891         and then recheck against the rules we support with the final processed name.  If we
1892         find a match, we mutate the token value to the appropriate rule name token, e.g.,
1893         NAMESPACE_SYM.
1894
1895         Added fast/css/namespaces/namespaces-escapes.xml
1896
1897         * css/CSSParser.cpp:
1898         (WebCore::CSSParser::lex):
1899         (WebCore::CSSParser::recheckAtKeyword):
1900         (WebCore::CSSParser::text):
1901         * css/CSSParser.h:
1902
1903 2009-12-02  Anton Muhin  <antonm@chromium.org>
1904
1905         Reviewed by Adam Barth.:w
1906
1907         Allow to skip thread checks when accessing DOMDataStore for processes
1908         which run V8 in single thread mode.
1909         https://bugs.webkit.org/show_bug.cgi?id=31877
1910
1911         Should be covered by buildbots.
1912
1913         * bindings/v8/V8DOMMap.cpp:
1914         (WebCore::getDOMDataStore):
1915         (WebCore::enableFasterDOMStoreAccess):
1916         (WebCore::getDOMNodeMap):
1917         (WebCore::getDOMObjectMap):
1918         (WebCore::getActiveDOMObjectMap):
1919         (WebCore::getDOMSVGElementInstanceMap):
1920         (WebCore::getDOMSVGObjectWithContextMap):
1921         * bindings/v8/V8DOMMap.h:
1922
1923 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
1924
1925         Reviewed by Pavel Feldman.
1926
1927         Code clean up: remove ScriptObjectQuarantine.* as a whole.
1928
1929         https://bugs.webkit.org/show_bug.cgi?id=32060
1930
1931         * GNUmakefile.am:
1932         * WebCore.gypi:
1933         * WebCore.pro:
1934         * WebCore.vcproj/WebCore.vcproj:
1935         * WebCore.xcodeproj/project.pbxproj:
1936         * WebCoreSources.bkl:
1937         * bindings/js/JSBindingsAllInOne.cpp:
1938         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
1939         * bindings/js/ScriptObjectQuarantine.h: Removed.
1940         * bindings/js/ScriptValue.cpp:
1941         (WebCore::ScriptValue::quarantineValue):
1942         * bindings/js/ScriptValue.h:
1943         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
1944         * bindings/v8/ScriptObjectQuarantine.h: Removed.
1945         * bindings/v8/ScriptValue.h:
1946         (WebCore::ScriptValue::quarantineValue):
1947         * inspector/ConsoleMessage.cpp:
1948         (WebCore::ConsoleMessage::ConsoleMessage):
1949         * inspector/InspectorController.cpp:
1950         * inspector/InspectorDatabaseResource.cpp:
1951         (WebCore::InspectorDatabaseResource::bind):
1952         * inspector/InspectorFrontend.cpp:
1953
1954 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
1955
1956         Reviewed by Alexey Proskuryakov.
1957
1958         WebSocket handshake check query component of URL
1959         https://bugs.webkit.org/show_bug.cgi?id=31617
1960
1961         Tests: websocket/tests/url-with-credential.html
1962                websocket/tests/url-with-empty-query.html
1963                websocket/tests/url-with-fragment.html
1964                websocket/tests/url-with-query-for-no-query.html
1965                websocket/tests/url-with-query.html
1966
1967         * platform/KURLGoogle.cpp:
1968         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
1969         * websockets/WebSocketHandshake.cpp:
1970         (WebCore::resourceName): added. add query component to path if specified.
1971         (WebCore::WebSocketHandshake::clientLocation):
1972         (WebCore::WebSocketHandshake::clientHandshakeMessage):
1973
1974 2009-12-01  David Levin  <levin@chromium.org>
1975
1976         Reviewed by Eric Seidel.
1977
1978         Incorrect code in WebGLRenderingContext.cpp
1979         https://bugs.webkit.org/show_bug.cgi?id=32046
1980
1981         Fix incorrect code that happened to work. != has higher precendence than &.
1982         The simplest fix is to remove the "!= 0" which violates WebKit style
1983         guidelines anyway.
1984
1985         Also added periods to few comments in the same function.
1986
1987         * html/canvas/WebGLRenderingContext.cpp:
1988         (WebCore::WebGLRenderingContext::validateIndexArray):
1989
1990 2009-12-01  Kent Tamura  <tkent@chromium.org>
1991
1992         Reviewed by Darin Adler.
1993
1994         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
1995         pattern and step attributes of HTMLInputElement.
1996         https://bugs.webkit.org/show_bug.cgi?id=31708
1997
1998         * html/HTMLInputElement.idl:
1999
2000 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
2001
2002         Reviewed by Darin Adler.
2003
2004         WAI-ARIA: implement support for ARIA drag and drop
2005         https://bugs.webkit.org/show_bug.cgi?id=32007
2006
2007         Test: platform/mac/accessibility/aria-drag-drop.html
2008
2009         * accessibility/AccessibilityObject.h:
2010         (WebCore::AccessibilityObject::supportsARIADropping):
2011         (WebCore::AccessibilityObject::supportsARIADragging):
2012         (WebCore::AccessibilityObject::isARIAGrabbed):
2013         (WebCore::AccessibilityObject::setARIAGrabbed):
2014         (WebCore::AccessibilityObject::determineARIADropEffects):
2015         * accessibility/AccessibilityRenderObject.cpp:
2016         (WebCore::AccessibilityRenderObject::supportsARIADropping):
2017         (WebCore::AccessibilityRenderObject::supportsARIADragging):
2018         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
2019         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
2020         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
2021         * accessibility/AccessibilityRenderObject.h:
2022         * accessibility/mac/AccessibilityObjectWrapper.mm:
2023         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2024         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2025         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2026         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2027         * html/HTMLAttributeNames.in:
2028
2029 2009-12-01  Adam Barth  <abarth@webkit.org>
2030
2031         https://bugs.webkit.org/show_bug.cgi?id=21288
2032
2033         Unreviewed port of @sandbox to V8.
2034
2035         * bindings/v8/ScriptController.cpp:
2036         (WebCore::ScriptController::isEnabled):
2037         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2038         (WebCore::createWindow):
2039
2040 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
2041
2042         Reviewed by Darin Adler.
2043
2044         Implement HTML5 sandbox attribute for iframes.
2045         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
2046         https://bugs.webkit.org/show_bug.cgi?id=21288
2047
2048         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
2049                fast/frames/sandboxed-iframe-forms.html
2050                fast/frames/sandboxed-iframe-navigation-allowed.html
2051                fast/frames/sandboxed-iframe-navigation-parent.html
2052                fast/frames/sandboxed-iframe-navigation-targetlink.html
2053                fast/frames/sandboxed-iframe-navigation-windowopen.html
2054                fast/frames/sandboxed-iframe-plugins.html
2055                fast/frames/sandboxed-iframe-scripting.html
2056                fast/frames/sandboxed-iframe-storage.html
2057                http/tests/security/sandboxed-iframe-document-cookie.html
2058                http/tests/security/sandboxed-iframe-modify-self.html
2059                http/tests/security/xss-DENIED-sandboxed-iframe.html
2060                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
2061                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
2062                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
2063
2064         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
2065         (WebCore::createWindow):
2066         * bindings/js/ScriptController.cpp: sandboxing scripts
2067         (WebCore::ScriptController::isEnabled):
2068         * dom/Document.cpp:
2069         (WebCore::Document::processHttpEquiv):
2070         (WebCore::Document::cookie): raise exception when accessed from sandbox
2071         (WebCore::Document::setCookie): raise exception when accessed from sandbox
2072         (WebCore::Document::initSecurityContext): updae sandbox status
2073         (WebCore::Document::updateSandboxFlags):
2074         * dom/Document.h:
2075         * dom/Document.idl:
2076         * html/HTMLAppletElement.cpp: sandboxing applets
2077         (WebCore::HTMLAppletElement::createRenderer):
2078         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
2079         (WebCore::HTMLAppletElement::canEmbedJava):
2080         * html/HTMLAppletElement.h:
2081         * html/HTMLAttributeNames.in:
2082         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
2083         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
2084         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
2085         * html/HTMLFrameOwnerElement.h:
2086         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
2087         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
2088         (WebCore::parseSandboxAttribute):
2089         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2090         * html/HTMLIFrameElement.idl:
2091         * inspector/InspectorController.cpp:
2092         (WebCore::InspectorController::getCookies):
2093         * loader/CrossOriginAccessControl.cpp:
2094         (WebCore::passesAccessControlCheck):
2095         * loader/FrameLoader.cpp:
2096         (WebCore::FrameLoader::FrameLoader):
2097         (WebCore::FrameLoader::init):
2098         (WebCore::FrameLoader::submitForm): sandboxing forms
2099         (WebCore::FrameLoader::requestObject): sandboxing plugins
2100         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
2101         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
2102         * loader/FrameLoader.h:
2103         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
2104         (WebCore::FrameLoader::isSandboxed):
2105         (WebCore::FrameLoader::sandboxFlags):
2106         * loader/FrameLoaderTypes.h:
2107         (WebCore::):
2108         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
2109         (WebCore::DOMWindow::sessionStorage):
2110         (WebCore::DOMWindow::localStorage):
2111         (WebCore::DOMWindow::openDatabase):
2112         * page/SecurityOrigin.cpp: added sandboxing status
2113         (WebCore::SecurityOrigin::SecurityOrigin):
2114         (WebCore::SecurityOrigin::canAccess):
2115         (WebCore::SecurityOrigin::canRequest):
2116         (WebCore::SecurityOrigin::toString):
2117         * page/SecurityOrigin.h:
2118         (WebCore::SecurityOrigin::setSandboxFlags):
2119         (WebCore::SecurityOrigin::isSandboxed):
2120         (WebCore::SecurityOrigin::canAccessDatabase):
2121         (WebCore::SecurityOrigin::canAccessStorage):
2122         * websockets/WebSocketChannel.cpp:
2123         (WebCore::WebSocketChannel::didReceiveData):
2124
2125 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
2126
2127         Reviewed by David Kilzer.
2128
2129         ARIA: support a way to create a static text object
2130         https://bugs.webkit.org/show_bug.cgi?id=32030
2131
2132         Test: accessibility/aria-text-role.html
2133
2134         * accessibility/AccessibilityObject.cpp:
2135         (WebCore::createARIARoleMap):
2136         * accessibility/AccessibilityRenderObject.cpp:
2137         (WebCore::AccessibilityRenderObject::stringValue):
2138         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
2139         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2140         (WebCore::AccessibilityRenderObject::text):
2141         * accessibility/AccessibilityRenderObject.h:
2142
2143 2009-12-01  Oliver Hunt  <oliver@apple.com>
2144
2145         Reviewed by Maciej Stachowiak.
2146
2147         Inspector crashes when collecting on every allocation
2148         https://bugs.webkit.org/show_bug.cgi?id=32044
2149
2150         The crash is caused by the prototype wrapper object getting collected
2151         when allocating the object that is going to use it as a prototype.
2152         Because the only reference to the prototype wrapper is through the
2153         new object's Structure it does not get marked automatically.
2154
2155         * bindings/js/JSInspectedObjectWrapper.cpp:
2156         (WebCore::JSInspectedObjectWrapper::wrap):
2157         * bindings/js/JSInspectorCallbackWrapper.cpp:
2158         (WebCore::JSInspectorCallbackWrapper::wrap):
2159
2160 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2161
2162         Reviewed by Simon Fraser.
2163
2164         Add SVG animation test framework with 'snapshot' functionality
2165         https://bugs.webkit.org/show_bug.cgi?id=31897
2166
2167         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
2168         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
2169
2170         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
2171         to sample a svg animateMotion/animateColor/animate/set element at certain times.
2172
2173         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
2174         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
2175         a callback is fired used to sample the animation value at the target time. It's modelled similar
2176         to the CSS animation/transition testing framework, inspired by
2177         LayoutTests/animations/animation-test-helpers.js.
2178
2179         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
2180         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
2181
2182         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
2183         interaction, while animating.
2184
2185         Test: svg/animations/animVal-basics.html
2186
2187         * WebCore.base.exp:
2188         * WebCore.xcodeproj/project.pbxproj:
2189         * svg/SVGDocumentExtensions.cpp:
2190         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
2191         * svg/SVGDocumentExtensions.h:
2192         * svg/animation/SMILTimeContainer.cpp:
2193         (WebCore::SMILTimeContainer::SMILTimeContainer):
2194         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
2195         (WebCore::SMILTimeContainer::updateAnimations):
2196         * svg/animation/SMILTimeContainer.h:
2197
2198 2009-12-01  Jens Alfke  <snej@chromium.org>
2199
2200         Reviewed by Darin Adler.
2201
2202         Add convenience methods to Element and QualifiedName that take
2203         char* instead of AtomicString, in preparation for removing the
2204         implicit conversion between the two types (30187).
2205         https://bugs.webkit.org/show_bug.cgi?id=31749
2206
2207         * dom/Element.cpp:
2208         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
2209         * dom/Element.h:
2210         * dom/QualifiedName.cpp:
2211         (WebCore::QualifiedName::init):  Shared impl of both constructors
2212         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
2213         * dom/QualifiedName.h:
2214         * platform/network/HTTPHeaderMap.cpp:
2215         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
2216         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
2217         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
2218         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
2219         * platform/network/HTTPHeaderMap.h:
2220         (WebCore::HTTPHeaderMap::get):
2221         (WebCore::HTTPHeaderMap::add):
2222         * platform/network/ResourceRequestBase.cpp:
2223         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
2224         * platform/network/ResourceRequestBase.h:
2225         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
2226         * platform/network/ResourceResponseBase.cpp:
2227         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
2228         * platform/network/ResourceResponseBase.h:
2229
2230 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2231
2232         More Windows build fix.
2233
2234         * platform/network/cf/CredentialStorageCFNet.cpp:
2235         (WebCore::CredentialStorage::getFromPersistentStorage):
2236
2237 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2238
2239         Windows build fix.
2240
2241         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
2242
2243 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2244
2245         Reviewed by Darin Adler.
2246
2247         https://bugs.webkit.org/show_bug.cgi?id=32036
2248         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
2249
2250         * platform/network/cf/CredentialStorageCFNet.cpp:
2251         (WebCore::CredentialStorage::getFromPersistentStorage):
2252
2253 2009-12-01  Daniel Bates  <dbates@webkit.org>
2254
2255         Reviewed by Pavel Feldman.
2256
2257         https://bugs.webkit.org/show_bug.cgi?id=32001
2258
2259         Added missing localized strings (that I left out of the patch for bug #21554):
2260         %d × %d pixels
2261         %d × %d pixels (Natural: %d × %d pixels)
2262
2263         Also, changed formatting of these stings to conform with existing ones (added
2264         a space on both sides of the multiply sign).
2265
2266         * English.lproj/localizedStrings.js: Added stings.
2267         * inspector/front-end/ElementsTreeOutline.js:
2268         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
2269
2270 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2271
2272         Reviewed by Simon Fraser.
2273
2274         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
2275
2276         Added fast/css/namespaces/namespaces-empty.xml
2277
2278         * css/CSSStyleSheet.cpp:
2279         (WebCore::CSSStyleSheet::addNamespace):
2280         (WebCore::CSSStyleSheet::determineNamespace):
2281
2282 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
2283
2284         Reviewed by Timothy Hatcher.
2285
2286         Web Inspector: Escape key in the Search Field should be more User Friendly
2287         https://bugs.webkit.org/show_bug.cgi?id=32005
2288
2289         * inspector/front-end/inspector.js:
2290         (WebInspector.loaded): add mousedown listener on the search field
2291         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
2292         (WebInspector.searchKeyDown): handle escape
2293
2294 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2295
2296         Reviewed by David Kilzer.
2297
2298         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
2299         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
2300
2301         Added fast/css/namespaces-comments.xml
2302
2303         * css/CSSGrammar.y:
2304
2305 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
2306
2307         Reviewed by Timothy Hatcher.
2308
2309         Reloading WebInspector from context menu is closing it instead of reloading.
2310         https://bugs.webkit.org/show_bug.cgi?id=32004
2311
2312         When reloading WebInspector, don't delete its m_page.
2313
2314         * inspector/InspectorController.cpp:
2315         (WebCore::InspectorController::close):
2316
2317 2009-12-01  Steve Block  <steveblock@google.com>
2318
2319         Reviewed by Dimitri Glazkov.
2320
2321         Adds V8 bindings for Geolocation.
2322         https://bugs.webkit.org/show_bug.cgi?id=30206
2323
2324         Also adds Geolocation files to Chrome build files.
2325
2326         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
2327         * WebCore.gypi: Modified. Adds Geolocation files.
2328         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
2329         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
2330         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
2331         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
2332         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
2333         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
2334         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
2335         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
2336         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
2337         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
2338         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
2339         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
2340         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
2341         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
2342         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
2343         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
2344         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
2345         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
2346         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
2347         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
2348         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
2349         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
2350         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
2351
2352 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
2353
2354         Reviewed by Adam Barth.
2355
2356         Provide a way to get ScriptState for the inspected page.
2357
2358         https://bugs.webkit.org/show_bug.cgi?id=32020
2359
2360         * bindings/v8/ScriptController.cpp:
2361         (WebCore::ScriptController::mainWorldScriptState):
2362         * bindings/v8/ScriptController.h:
2363         * bindings/v8/ScriptState.cpp:
2364         (WebCore::scriptStateFromPage):
2365
2366 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2367
2368         Reviewed by Adam Roben.
2369
2370         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
2371         https://bugs.webkit.org/show_bug.cgi?id=30778
2372
2373         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2374         (WebCore::GraphicsContext3D::getProgramInfoLog):
2375         (WebCore::GraphicsContext3D::getShaderInfoLog):
2376         (WebCore::GraphicsContext3D::getShaderSource):
2377         (WebCore::imageToTexture):
2378
2379 2009-12-01  Mads Ager  <ager@chromium.org>
2380
2381         Reviewed by Eric Seidel.
2382
2383         [V8] Don't crash in DOMWindow event getter in OOM situations
2384         https://bugs.webkit.org/show_bug.cgi?id=32017
2385
2386         Add missing null handle checks in DOMWindow event property
2387         accessors.  V8Proxy::context(frame) can return a null handle in
2388         OOM situations either if failing to initialize a context or if an
2389         OOM is handled gracefully and javascript is disabled.
2390
2391         No new tests because we don't have a good way to test
2392         out-of-memory bugs.
2393
2394         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2395         (WebCore::ACCESSOR_GETTER):
2396         (WebCore::ACCESSOR_SETTER):
2397
2398 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2399
2400         Reviewed by Oliver Hunt.
2401
2402         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
2403         https://bugs.webkit.org/show_bug.cgi?id=31672
2404
2405         * html/HTMLCanvasElement.cpp:
2406         (WebCore::HTMLCanvasElement::getContext):
2407
2408 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2409
2410         Not reviewed: chromium build fix, added missing import.
2411
2412         * inspector/InspectorFrontendHost.cpp:
2413
2414 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2415
2416         Not reviewed: fix windows build via unexcluding generated files from
2417         project.
2418
2419         * WebCore.vcproj/WebCore.vcproj:
2420
2421 2009-12-01  Mark Rowe  <mrowe@apple.com>
2422
2423         Stop copying IDL files in to the WebCore framework wrapper.
2424
2425         * WebCore.xcodeproj/project.pbxproj:
2426
2427 2009-12-01  Mark Rowe  <mrowe@apple.com>
2428
2429         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
2430
2431         This was probably broken by hand-editing the project file as Xcode itself
2432         knows how to keep project files to a backwards-compatible subset of its format.
2433
2434         * WebCore.xcodeproj/project.pbxproj:
2435
2436 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2437
2438         Not reviewed: windows build fix (bad vcproj in r51528).
2439
2440         * WebCore.vcproj/WebCore.vcproj:
2441
2442 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2443
2444         Reviewed by Timothy Hatcher.
2445
2446         Web Inspector: Split InspectorBackend into three parts: backend,
2447         injected script host and frontend host.
2448         
2449         https://bugs.webkit.org/show_bug.cgi?id=31888
2450
2451         * DerivedSources.make:
2452         * GNUmakefile.am:
2453         * WebCore.gypi:
2454         * WebCore.pro:
2455         * WebCore.vcproj/WebCore.vcproj:
2456         * WebCore.xcodeproj/project.pbxproj:
2457         * WebCoreSources.bkl:
2458         * bindings/js/JSBindingsAllInOne.cpp:
2459         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
2460         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
2461         (WebCore::JSInspectorFrontendHost::search):
2462         (WebCore::JSInspectorFrontendHost::setting):
2463         (WebCore::JSInspectorFrontendHost::setSetting):
2464         * bindings/js/ScriptObject.cpp:
2465         (WebCore::ScriptGlobalObject::set):
2466         * bindings/js/ScriptObject.h:
2467         * bindings/v8/DOMObjectsInclude.h:
2468         * bindings/v8/DerivedSourcesAllInOne.cpp:
2469         * bindings/v8/ScriptObject.cpp:
2470         (WebCore::ScriptGlobalObject::set):
2471         * bindings/v8/ScriptObject.h:
2472         * bindings/v8/V8Index.cpp:
2473         * bindings/v8/V8Index.h:
2474         * bindings/v8/custom/V8CustomBinding.h:
2475         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
2476         (WebCore::CALLBACK_FUNC_DECL):
2477         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
2478         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
2479         (WebCore::CALLBACK_FUNC_DECL):
2480         * inspector/InjectedScriptHost.cpp: Added.
2481         (WebCore::InjectedScriptHost::InjectedScriptHost):
2482         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2483         (WebCore::InjectedScriptHost::copyText):
2484         (WebCore::InjectedScriptHost::nodeForId):
2485         (WebCore::InjectedScriptHost::wrapObject):
2486         (WebCore::InjectedScriptHost::unwrapObject):
2487         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
2488         (WebCore::InjectedScriptHost::addNodesToSearchResult):
2489         (WebCore::InjectedScriptHost::currentCallFrame):
2490         (WebCore::InjectedScriptHost::databaseForId):
2491         (WebCore::InjectedScriptHost::selectDatabase):
2492         (WebCore::InjectedScriptHost::selectDOMStorage):
2493         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
2494         (WebCore::InjectedScriptHost::inspectorDOMAgent):
2495         (WebCore::InjectedScriptHost::inspectorFrontend):
2496         * inspector/InjectedScriptHost.h: Added.
2497         (WebCore::InjectedScriptHost::create):
2498         (WebCore::InjectedScriptHost::inspectorController):
2499         (WebCore::InjectedScriptHost::disconnectController):
2500         * inspector/InjectedScriptHost.idl: Added.
2501         * inspector/InspectorBackend.cpp:
2502         (WebCore::InspectorBackend::InspectorBackend):
2503         (WebCore::InspectorBackend::storeLastActivePanel):
2504         (WebCore::InspectorBackend::toggleNodeSearch):
2505         (WebCore::InspectorBackend::resourceTrackingEnabled):
2506         (WebCore::InspectorBackend::debuggerEnabled):
2507         (WebCore::InspectorBackend::enableDebugger):
2508         (WebCore::InspectorBackend::disableDebugger):
2509         (WebCore::InspectorBackend::addBreakpoint):
2510         (WebCore::InspectorBackend::updateBreakpoint):
2511         (WebCore::InspectorBackend::removeBreakpoint):
2512         (WebCore::InspectorBackend::pauseInDebugger):
2513         (WebCore::InspectorBackend::resumeDebugger):
2514         (WebCore::InspectorBackend::stepOverStatementInDebugger):
2515         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
2516         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
2517         (WebCore::InspectorBackend::pauseOnExceptions):
2518         (WebCore::InspectorBackend::setPauseOnExceptions):
2519         (WebCore::InspectorBackend::profilerEnabled):
2520         (WebCore::InspectorBackend::enableProfiler):
2521         (WebCore::InspectorBackend::disableProfiler):
2522         (WebCore::InspectorBackend::startProfiling):
2523         (WebCore::InspectorBackend::stopProfiling):
2524         (WebCore::InspectorBackend::getProfileHeaders):
2525         (WebCore::InspectorBackend::getProfile):
2526         (WebCore::InspectorBackend::currentCallFrame):
2527         (WebCore::InspectorBackend::highlightDOMNode):
2528         (WebCore::InspectorBackend::hideDOMNodeHighlight):
2529         (WebCore::InspectorBackend::getCookies):
2530         (WebCore::InspectorBackend::deleteCookie):
2531         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
2532         (WebCore::InspectorBackend::nodeForId):
2533         * inspector/InspectorBackend.h:
2534         (WebCore::InspectorBackend::create):
2535         * inspector/InspectorBackend.idl:
2536         * inspector/InspectorController.cpp:
2537         (WebCore::InspectorController::InspectorController):
2538         (WebCore::InspectorController::~InspectorController):
2539         (WebCore::InspectorController::inspectedPageDestroyed):
2540         (WebCore::InspectorController::windowScriptObjectAvailable):
2541         * inspector/InspectorController.h:
2542         (WebCore::InspectorController::inspectorFrontendHost):
2543         (WebCore::InspectorController::injectedScriptHost):
2544         * inspector/InspectorFrontendHost.cpp: Added.
2545         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2546         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
2547         (WebCore::InspectorFrontendHost::loaded):
2548         (WebCore::InspectorFrontendHost::attach):
2549         (WebCore::InspectorFrontendHost::detach):
2550         (WebCore::InspectorFrontendHost::closeWindow):
2551         (WebCore::InspectorFrontendHost::windowUnloading):
2552         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
2553         (WebCore::InspectorFrontendHost::moveWindowBy):
2554         (WebCore::InspectorFrontendHost::localizedStringsURL):
2555         (WebCore::InspectorFrontendHost::hiddenPanels):
2556         (WebCore::InspectorFrontendHost::platform):
2557         (WebCore::InspectorFrontendHost::port):
2558         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
2559         (WebCore::InspectorFrontendHost::addSourceToFrame):
2560         * inspector/InspectorFrontendHost.h: Added.
2561         (WebCore::InspectorFrontendHost::create):
2562         (WebCore::InspectorFrontendHost::inspectorController):
2563         (WebCore::InspectorFrontendHost::disconnectController):
2564         * inspector/InspectorFrontendHost.idl: Added.
2565         * inspector/front-end/Breakpoint.js:
2566         (WebInspector.Breakpoint.prototype.set condition):
2567         * inspector/front-end/BreakpointsSidebarPane.js:
2568         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2569         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
2570         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2571         * inspector/front-end/ConsoleView.js:
2572         (WebInspector.ConsoleView.prototype.clearMessages):
2573         * inspector/front-end/CookieItemsView.js:
2574         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
2575         * inspector/front-end/DOMAgent.js:
2576         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2577         (WebInspector.DOMAgent.prototype.setAttributeAsync):
2578         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
2579         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
2580         (WebInspector.Cookies.getCookiesAsync):
2581         (WebInspector.EventListeners.getEventListenersForNodeAsync):
2582         * inspector/front-end/DOMStorage.js:
2583         (WebInspector.DOMStorage.prototype.getEntries):
2584         (WebInspector.DOMStorage.prototype.setItem):
2585         (WebInspector.DOMStorage.prototype.removeItem):
2586         * inspector/front-end/Database.js:
2587         (WebInspector.Database.prototype.getTableNames):
2588         * inspector/front-end/ElementsPanel.js:
2589         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2590         (WebInspector.ElementsPanel.prototype.hide):
2591         (WebInspector.ElementsPanel.prototype.reset):
2592         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
2593         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
2594         * inspector/front-end/ElementsTreeOutline.js:
2595         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
2596         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2597         ():
2598         * inspector/front-end/EventListenersSidebarPane.js:
2599         (WebInspector.EventListenersSidebarPane.prototype):
2600         * inspector/front-end/InjectedScript.js:
2601         (InjectedScript._evaluateAndWrap):
2602         (InjectedScript.performSearch.addNodesToResults):
2603         (InjectedScript.getCallFrames):
2604         (InjectedScript._callFrameForId):
2605         (InjectedScript._clearConsoleMessages):
2606         (InjectedScript._inspectObject):
2607         (InjectedScript._copy):
2608         (InjectedScript._ensureCommandLineAPIInstalled):
2609         (InjectedScript._window):
2610         (InjectedScript._nodeForId):
2611         (InjectedScript._objectForId):
2612         (InjectedScript.pushNodeToFrontend):
2613         (InjectedScript.executeSql):
2614         (InjectedScript.executeSql.errorCallback):
2615         (InjectedScript.executeSql.queryTransaction):
2616         * inspector/front-end/InjectedScriptAccess.js:
2617         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
2618         (InjectedScriptAccess._installHandler):
2619         * inspector/front-end/InspectorBackendStub.js: Added.
2620         (.WebInspector.InspectorBackendStub):
2621         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
2622         (.WebInspector.InspectorBackendStub.prototype.platform):
2623         (.WebInspector.InspectorBackendStub.prototype.port):
2624         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
2625         (.WebInspector.InspectorBackendStub.prototype.attach):
2626         (.WebInspector.InspectorBackendStub.prototype.detach):
2627         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
2628         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
2629         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
2630         (.WebInspector.InspectorBackendStub.prototype.search):
2631         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
2632         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
2633         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
2634         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
2635         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
2636         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
2637         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
2638         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
2639         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
2640         (.WebInspector.InspectorBackendStub.prototype.loaded):
2641         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
2642         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
2643         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
2644         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
2645         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
2646         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
2647         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
2648         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
2649         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
2650         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
2651         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
2652         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
2653         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
2654         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
2655         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
2656         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
2657         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
2658         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
2659         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
2660         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
2661         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
2662         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
2663         (.WebInspector.InspectorBackendStub.prototype.getProfile):
2664         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
2665         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
2666         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
2667         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
2668         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
2669         (.WebInspector.InspectorBackendStub.prototype.setSetting):
2670         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
2671         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
2672         (.WebInspector.InspectorBackendStub.prototype.setting):
2673         * inspector/front-end/InspectorControllerStub.js:
2674         * inspector/front-end/InspectorFrontendHostStub.js: Added.
2675         (.WebInspector.InspectorFrontendHostStub):
2676         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
2677         (.WebInspector.InspectorFrontendHostStub.prototype.port):
2678         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
2679         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
2680         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
2681         (.WebInspector.InspectorFrontendHostStub.prototype.search):
2682         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
2683         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
2684         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
2685         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
2686         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
2687         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
2688         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
2689         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
2690         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
2691         * inspector/front-end/ProfileView.js:
2692         (WebInspector.CPUProfileView):
2693         (WebInspector.CPUProfileType.prototype.buttonClicked):
2694         * inspector/front-end/ProfilesPanel.js:
2695         (WebInspector.ProfilesPanel.prototype._updateInterface):
2696         (WebInspector.ProfilesPanel.prototype._enableProfiling):
2697         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
2698         * inspector/front-end/ResourcesPanel.js:
2699         (WebInspector.ResourcesPanel.prototype.reset):
2700         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
2701         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2702         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
2703         * inspector/front-end/ScriptView.js:
2704         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2705         * inspector/front-end/ScriptsPanel.js:
2706         (WebInspector.ScriptsPanel.prototype.show):
2707         (WebInspector.ScriptsPanel.prototype.addScript):
2708         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
2709         (WebInspector.ScriptsPanel.prototype.reset):
2710         (WebInspector.ScriptsPanel.prototype.canShowResource):
2711         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2712         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2713         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
2714         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2715         (WebInspector.ScriptsPanel.prototype._enableDebugging):
2716         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2717         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
2718         (WebInspector.ScriptsPanel.prototype._togglePause):
2719         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
2720         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
2721         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
2722         * inspector/front-end/SourceView.js:
2723         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2724         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
2725         (WebInspector.SourceView.prototype.performSearch):
2726         * inspector/front-end/StylesSidebarPane.js:
2727         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
2728         * inspector/front-end/TestController.js:
2729         (WebInspector.TestController.prototype.notifyDone):
2730         * inspector/front-end/TimelinePanel.js:
2731         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2732         * inspector/front-end/WatchExpressionsSidebarPane.js:
2733         (WebInspector.WatchExpressionsSection.prototype.update):
2734         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
2735         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
2736         * inspector/front-end/WebKit.qrc:
2737         * inspector/front-end/inspector.html:
2738         * inspector/front-end/inspector.js:
2739         (WebInspector.pendingDispatches.0.get platform):
2740         (WebInspector.get port):
2741         (WebInspector.set currentPanel):
2742         (WebInspector._createPanels):
2743         (WebInspector._loadPreferences):
2744         (WebInspector.set attached):
2745         (WebInspector._updateHoverHighlight):
2746         (WebInspector.loaded):
2747         (windowLoaded):
2748         (WebInspector.windowUnload):
2749         (WebInspector.close):
2750         (WebInspector.toolbarDrag):
2751         (WebInspector.UIString):
2752
2753 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
2754
2755         Reviewed by Dan Bernstein.
2756
2757         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
2758         https://bugs.webkit.org/show_bug.cgi?id=23264
2759         css2.1/t1205-c565-list-pos-00-b.html is failing
2760         https://bugs.webkit.org/show_bug.cgi?id=23263
2761
2762         Ignore whitespaces after list markers.
2763         Rendering of this was already done for the case where inside=false.
2764         This fixes the rendering of inside=true case and calcInlinePrefWidths.
2765
2766         Test: fast/lists/calc-width-with-space.html
2767
2768         * rendering/RenderBlock.cpp:
2769         (WebCore::RenderBlock::calcInlinePrefWidths):
2770         * rendering/RenderBlockLineLayout.cpp:
2771         (WebCore::RenderBlock::findNextLineBreak):
2772
2773 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
2774
2775         Unreviewed Chromium build fix introduced by r51212
2776
2777         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
2778         as the first argument.
2779         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
2780         Add debuggerWorld() and pluginWorld() in ScriptState.h.
2781
2782         * bindings/v8/ScriptController.cpp:
2783         * bindings/v8/ScriptController.h:
2784         * bindings/v8/ScriptState.cpp:
2785         (WebCore::scriptStateFromNode):
2786         (WebCore::scriptStateFromPage):
2787         (WebCore::mainThreadNormalWorld):
2788         * bindings/v8/ScriptState.h:
2789         (WebCore::debuggerWorld):
2790         (WebCore::pluginWorld):
2791
2792 2009-11-30  Enrica Casucci  <enrica@apple.com>
2793
2794         Reviewed by Darin Adler.
2795
2796         Can focus but not type into content editable block that contains only non-editable content.
2797         <rdar://problem/5982901>
2798         https://bugs.webkit.org/show_bug.cgi?id=31750
2799         
2800         The goal is to change the way we choose a visible position
2801         after hit detection, by preferring a visually equivalent editable
2802         position if available. By doing this, it is possible to add content
2803         to an editable block that initially contains only non editable elements.
2804
2805         Test: editing/selection/mixed-editability-10.html
2806
2807         * WebCore.base.exp: Changed to match the new signature of downstream
2808         and upstream in the Position class.
2809         * dom/Position.cpp:
2810         (WebCore::Position::atEditingBoundary): Added.
2811         (WebCore::Position::upstream): Modified to allow to cross the boundary
2812         between editable and non editable content if required.
2813         (WebCore::Position::downstream): Modified to allow to cross the boundary
2814         between editable and non editable content if required.
2815         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
2816         that are at the editability boundary.
2817         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
2818         to be used in calculating the caret rectangle.
2819         * dom/Position.h:
2820         (WebCore::Position::):
2821         * dom/PositionIterator.cpp:
2822         (WebCore::PositionIterator::atEditingBoundary): Added.
2823         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
2824         that are at the editability boundary.
2825         * dom/PositionIterator.h:
2826         * editing/htmlediting.cpp:
2827         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
2828         descendants of the editable container, but the container itself.
2829         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
2830         descendants of the editable container, but the container itself.
2831         * rendering/RenderObject.cpp:
2832         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
2833         if available.
2834         * rendering/RenderText.cpp:
2835         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
2836         * rendering/RenderText.h:
2837
2838 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
2839
2840         wx build fix, add header needed for wx build.
2841
2842         * css/CSSFontFaceSrcValue.cpp:
2843
2844 2009-11-30  Mark Rowe  <mrowe@apple.com>
2845
2846         Reviewed by David Kilzer.
2847
2848         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
2849
2850         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
2851         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
2852         be performed against the x86_64 architecture.
2853
2854         * DerivedSources.make:
2855
2856 2009-11-30  Beth Dakin  <bdakin@apple.com>
2857
2858         Reviewed by Oliver Hunt.
2859
2860         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
2861         Safari caused by extreme column-gap and column-width values 
2862         -and corresponding-
2863         <rdar://problem/7425433>
2864
2865         Prevent desiredColumnCount from being less than 1 since it is used 
2866         as a divisor.
2867         * rendering/RenderBlock.cpp:
2868         (WebCore::RenderBlock::calcColumnWidth):
2869
2870 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
2871
2872         Reviewed by Oliver Hunt.
2873
2874         https://bugs.webkit.org/show_bug.cgi?id=31659
2875         Connection must be closed in case of Web Socket handshake error
2876
2877         The network connection was closed, but the close event wasn't dispatched.
2878
2879         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
2880
2881         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
2882         Call client didHandle() method. This looks strange in CFNetwork implementation, because
2883         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
2884         more sense in cross-process implementation, because closing is async there.
2885
2886 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
2887
2888         Reviewed by Geoff Garen.
2889
2890         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
2891
2892         WebCore presently has to explicitly specify the world before entering into JSC,
2893         which is a little fragile (particularly since property access via a
2894         getter/setter might invoke execution). Instead derive the current world from
2895         the lexical global object.
2896
2897         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
2898         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
2899         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
2900         are no longer necessary.
2901
2902         * WebCore.base.exp:
2903         * bindings/js/JSCallbackData.cpp:
2904         (WebCore::JSCallbackData::invokeCallback):
2905         * bindings/js/JSCallbackData.h:
2906         (WebCore::JSCallbackData::JSCallbackData):
2907         * bindings/js/JSCustomXPathNSResolver.cpp:
2908         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2909         * bindings/js/JSDOMBinding.cpp:
2910         (WebCore::currentWorld):
2911         (WebCore::mainThreadNormalWorld):
2912         * bindings/js/JSDOMBinding.h:
2913         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2914         * bindings/js/JSDOMWindowBase.cpp:
2915         (WebCore::JSDOMWindowBase::updateDocument):
2916         * bindings/js/JSDOMWindowBase.h:
2917         * bindings/js/JSEventListener.cpp:
2918         (WebCore::JSEventListener::handleEvent):
2919         (WebCore::JSEventListener::reportError):
2920         * bindings/js/JSHTMLDocumentCustom.cpp:
2921         (WebCore::JSHTMLDocument::open):
2922         * bindings/js/JSNodeFilterCondition.cpp:
2923         (WebCore::JSNodeFilterCondition::acceptNode):
2924         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2925         (WebCore::JSQuarantinedObjectWrapper::construct):
2926         (WebCore::JSQuarantinedObjectWrapper::call):
2927         * bindings/js/ScheduledAction.cpp:
2928         (WebCore::ScheduledAction::executeFunctionInContext):
2929         * bindings/js/ScriptController.cpp:
2930         (WebCore::ScriptController::evaluateInWorld):
2931         (WebCore::ScriptController::initScript):
2932         (WebCore::ScriptController::updateDocument):
2933         * bindings/js/ScriptFunctionCall.cpp:
2934         (WebCore::ScriptFunctionCall::call):
2935         (WebCore::ScriptFunctionCall::construct):
2936         * bindings/js/ScriptObjectQuarantine.cpp:
2937         (WebCore::getQuarantinedScriptObject):
2938         * bindings/js/ScriptState.cpp:
2939         (WebCore::scriptStateFromNode):
2940         (WebCore::scriptStateFromPage):
2941         * bindings/js/ScriptState.h:
2942         * bindings/js/WorkerScriptController.cpp:
2943         (WebCore::WorkerScriptController::evaluate):
2944         * bindings/objc/WebScriptObject.mm:
2945         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2946         (-[WebScriptObject evaluateWebScript:]):
2947         * bridge/NP_jsobject.cpp:
2948         (_NPN_InvokeDefault):
2949         (_NPN_Invoke):
2950         (_NPN_Evaluate):
2951         (_NPN_Construct):
2952         * bridge/jni/jni_jsobject.mm:
2953         (JavaJSObject::call):
2954         (JavaJSObject::eval):
2955         * dom/NodeFilter.h:
2956         (WebCore::NodeFilter::acceptNode):
2957         * dom/NodeIterator.h:
2958         (WebCore::NodeIterator::nextNode):
2959         (WebCore::NodeIterator::previousNode):
2960         * dom/TreeWalker.h:
2961         (WebCore::TreeWalker::parentNode):
2962         (WebCore::TreeWalker::firstChild):
2963         (WebCore::TreeWalker::lastChild):
2964         (WebCore::TreeWalker::previousSibling):
2965         (WebCore::TreeWalker::nextSibling):
2966         (WebCore::TreeWalker::previousNode):
2967         (WebCore::TreeWalker::nextNode):
2968         * inspector/InspectorController.cpp:
2969         (WebCore::InspectorController::windowScriptObjectAvailable):
2970         (WebCore::InspectorController::didEvaluateForTestInFrontend):
2971         * inspector/JavaScriptCallFrame.cpp:
2972         (WebCore::JavaScriptCallFrame::evaluate):
2973
2974 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
2975
2976         Reviewed by Simon Fraser.
2977
2978         All HTML5 media element events should be regular events
2979         https://bugs.webkit.org/show_bug.cgi?id=30513
2980
2981         * html/HTMLMediaElement.cpp:
2982         (WebCore::HTMLMediaElement::selectMediaResource):
2983         (WebCore::HTMLMediaElement::noneSupported):
2984         (WebCore::HTMLMediaElement::mediaEngineError):
2985         (WebCore::HTMLMediaElement::setNetworkState):
2986         (WebCore::HTMLMediaElement::userCancelledLoad):
2987             Call scheduleEvent instead of scheduleProgressEvent.
2988         (WebCore::HTMLMediaElement::progressEventTimerFired):
2989             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
2990             after scheduling a 'progress' event so the controller will update download
2991             progress indicator.
2992         * html/HTMLMediaElement.h:
2993             Remove scheduleProgressEvent prototype.
2994
2995 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
2996
2997         Reviewed by Pavel Feldman.
2998
2999         Web Inspector: Wrong console output for Regexp escape sequence
3000         https://bugs.webkit.org/show_bug.cgi?id=31538
3001
3002         Updated inspector/console-format.html
3003
3004         * inspector/front-end/ConsoleView.js:
3005         (WebInspector.ConsoleView.createDividerElement): style issues.
3006         (WebInspector.ConsoleView.createFilterElement): style issues.
3007         (WebInspector.ConsoleView): added _customFormatters table.
3008         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
3009         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
3010         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
3011         (WebInspector.ConsoleView.prototype._formatobject):
3012         (WebInspector.ConsoleView.prototype._formatnode):
3013         (WebInspector.ConsoleView.prototype._printArray):
3014         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
3015         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
3016         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
3017         (WebInspector.ConsoleCommandResult):
3018         * inspector/front-end/InjectedScript.js: simplified regex formatting.
3019         * inspector/front-end/inspector.js:
3020         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
3021         * inspector/front-end/utilities.js: 
3022         (Element.prototype.hasStyleClass): update inaccurate comment.
3023         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
3024
3025 2009-11-30  Erik Arvidsson  <arv@chromium.org>
3026
3027         Reviewed by Adam Barth.
3028
3029         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
3030         https://bugs.webkit.org/show_bug.cgi?id=31895
3031
3032         No new tests. This is already covered by:
3033                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
3034                 fast/dom/CSSStyleDeclaration/css-style-item.html
3035
3036         * bindings/v8/V8Collection.h:
3037         (WebCore::collectionStringIndexedPropertyGetter):
3038         (WebCore::setCollectionStringIndexedGetter):
3039         * bindings/v8/V8DOMWrapper.cpp:
3040         (WebCore::V8DOMWrapper::getTemplate):
3041
3042 2009-11-30  Steve Block  <steveblock@google.com>
3043
3044         Reviewed by Eric Seidel.
3045
3046         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
3047         https://bugs.webkit.org/show_bug.cgi?id=31932
3048
3049         Build fix only, no new tests.
3050
3051         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
3052
3053 2009-11-30  Steve Block  <steveblock@google.com>
3054
3055         Reviewed by Eric Seidel.
3056
3057         Adds PassOwnPtr include to ScriptExecutionContext.h.
3058         https://bugs.webkit.org/show_bug.cgi?id=31929
3059
3060         Build fix only, no new tests.
3061
3062         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
3063
3064 2009-11-30  Dirk Schulze  <krit@webkit.org>
3065
3066         Reviewed by Nikolas Zimmermann.
3067
3068         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
3069         [https://bugs.webkit.org/show_bug.cgi?id=31980]
3070
3071         It turns out, that we did not handle maskUnits="userSpaceOnUse"
3072         correctly. We just need to move the context of the maskImage
3073         if maskContentUnits="objectBoundingBox". The context gets scaled
3074         on this unit combination, so we have to substract the position of
3075         the targetRect. On userSpaceOnUse the position just depends on the
3076         position of the mask element.
3077         I added a test with some senseless and reasonable values for size
3078         and postion of the mask and it's contents. I also used every
3079         combination of maskUnits and maskContentUnits to be sure, that it
3080         is fixed this time.
3081
3082         Test: svg/custom/mask-with-all-units.svg
3083
3084         * svg/SVGMaskElement.cpp:
3085         (WebCore::SVGMaskElement::drawMaskerContent):
3086
3087 2009-11-30  Steve Block  <steveblock@google.com>
3088
3089         Reviewed by Eric Seidel.
3090
3091         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3092         https://bugs.webkit.org/show_bug.cgi?id=31928
3093
3094         Build fix only, no new tests.
3095
3096         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3097
3098 2009-11-30  Steve Block  <steveblock@google.com>
3099
3100         Reviewed by Eric Seidel.
3101
3102         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
3103         https://bugs.webkit.org/show_bug.cgi?id=31926
3104
3105         Build fix only, no new tests.
3106
3107         * bindings/v8/WorkerContextExecutionProxy.cpp:
3108         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3109         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
3110         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
3111
3112 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
3113
3114         Reviewed by Kenneth Rohde Christiansen.
3115
3116         Chrome::contentsSizeChanged() is called when the content size has not changed
3117         https://bugs.webkit.org/show_bug.cgi?id=31978
3118
3119         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
3120
3121         * page/FrameView.cpp:
3122         (WebCore::FrameView::setContentsSize):
3123
3124 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3125
3126         Reviewed by Kenneth Rohde Christiansen.
3127
3128         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
3129         https://bugs.webkit.org/show_bug.cgi?id=31962
3130
3131         No new tests as there is no functional change.
3132
3133         * platform/network/ResourceHandle.h: Make destructor virtual as 
3134         after r50772 ResourceHandle has virtual functions.
3135
3136         * plugins/mac/PluginPackageMac.cpp: 
3137         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
3138         not a label
3139
3140         * plugins/mac/PluginViewMac.cpp:
3141         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
3142         specifier
3143
3144 2009-11-30  Xan Lopez  <xlopez@igalia.com>
3145
3146         Reviewed by Gustavo Noronha.
3147
3148         Add new headers to sources list.
3149
3150         * GNUmakefile.am:
3151
3152 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
3153
3154         Reviewed by Holger Freyther.
3155
3156         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
3157         
3158         Flash expects the value in record.where to be the global position for
3159         displaying the context menu.
3160         
3161         https://bugs.webkit.org/show_bug.cgi?id=31979
3162
3163         * plugins/mac/PluginViewMac.cpp:
3164         (WebCore::PluginView::handleMouseEvent):
3165
3166 2009-11-30  Steve Block  <steveblock@google.com>
3167
3168         Reviewed by Eric Seidel.
3169
3170         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
3171         https://bugs.webkit.org/show_bug.cgi?id=31925
3172
3173         This code uses ChromiumBridge and Chromium-specific constant values not
3174         appropriate for other platforms such as Android.
3175
3176         Build fix only, no new tests.
3177
3178         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
3179
3180 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
3181
3182         Build fix.
3183
3184         Correct draw signature used in ImageCairoWin.cpp.
3185
3186         * platform/graphics/win/ImageCairoWin.cpp:
3187         (WebCore::BitmapImage::getHBITMAPOfSize):
3188         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3189
3190 2009-11-28  Oliver Hunt  <oliver@apple.com>
3191
3192         Reviewed by Sam Weinig.
3193
3194         postMessage should serialize File objects
3195         https://bugs.webkit.org/show_bug.cgi?id=31955
3196
3197         Update SerializedScriptValue to include support for
3198         File objects in the serialized object graph.
3199
3200         * bindings/js/SerializedScriptValue.cpp:
3201         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
3202         (WebCore::SerializingTreeWalker::convertIfTerminal):
3203         (WebCore::DeserializingTreeWalker::convertIfTerminal):
3204         * bindings/js/SerializedScriptValue.h:
3205         (WebCore::SerializedScriptValueData::):
3206         (WebCore::SerializedScriptValueData::asString):
3207
3208 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
3209
3210         Reviewed by Dan Bernstein.
3211
3212         Optimize the hierarchy rebuilding of compositing layers
3213         https://bugs.webkit.org/show_bug.cgi?id=31879
3214         
3215         When updating the compositing layer hierarchy, instead of removing all
3216         child layers and then re-adding them one by one, build a vector of child
3217         layers, and set them in one go.
3218         
3219         * platform/graphics/GraphicsLayer.h:
3220         * platform/graphics/GraphicsLayer.cpp:
3221         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
3222         GraphicsLayers.
3223         
3224         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
3225         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
3226         * platform/graphics/mac/GraphicsLayerCA.mm: 
3227         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
3228         set the bit that notes that sublayers changed.
3229         * platform/graphics/win/GraphicsLayerCACF.cpp:
3230         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
3231         udpate sublayers, with a note that this is not efficient.
3232         
3233         * rendering/RenderLayerCompositor.h:
3234         * rendering/RenderLayerCompositor.cpp:
3235         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3236         When updating compositing layers, use the faster updateLayerTreeGeometry() if
3237         we know that no layer hierarchy changes are needed, and, at the root, use
3238         the vector returned from rebuildCompositingLayerTree() to attach the root
3239         layer.
3240         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
3241         collect child layers into Vectors of GraphicsLayers, which can be set as
3242         layer children in one go.
3243         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
3244         rebuildCompositingLayerTree() for simplicity, and called when we just need to
3245         update layer geometry, without doing any reparenting.
3246
3247 2009-11-29  Daniel Bates  <dbates@webkit.org>
3248
3249         Reviewed by Adam Barth.
3250
3251         https://bugs.webkit.org/show_bug.cgi?id=31971
3252
3253         Updated comment to reflect latest XSSAuditor bindings.
3254
3255         No functionality was changed. So, no new tests.
3256
3257         * page/XSSAuditor.h:
3258
3259 2009-11-29  Daniel Bates  <dbates@webkit.org>
3260
3261         Reviewed by Eric Seidel.
3262
3263         https://bugs.webkit.org/show_bug.cgi?id=31969
3264
3265         Removes unnecessary #include files.
3266
3267         No functionality was changed. So, no new tests.
3268
3269         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
3270         Pair.h
3271         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
3272         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
3273         * css/CSSFontSelector.cpp: Removed include NodeList.h
3274         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
3275         * css/CSSImageValue.cpp: Removed include RenderStyle.h
3276         * css/CSSImportRule.cpp: Removed include MediaList.h
3277         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
3278         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
3279         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
3280         CSSFontFaceSource.h, and CSSProperty.h
3281         * page/EventSource.h: Removed include EventListener.h
3282
3283 2009-11-29  Daniel Bates  <dbates@webkit.org>
3284
3285         Reviewed by Eric Seidel.
3286
3287         https://bugs.webkit.org/show_bug.cgi?id=31965
3288
3289         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
3290         forward declared it.
3291
3292         As a side effect, we need to #include KeyframeList.h in
3293         RenderLayerBacking.cpp.
3294
3295         No functionality was changed. So, no new tests.
3296
3297         * css/CSSStyleSelector.cpp:
3298         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
3299         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
3300
3301 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
3302
3303         Reviewed by Eric Seidel.
3304
3305         Continue to search for matching node in the case where multiple nodes
3306         have the same id.
3307         https://bugs.webkit.org/show_bug.cgi?id=31428
3308
3309         Test: fast/dom/Element/id-in-node-list-index01.html
3310
3311         * dom/DynamicNodeList.cpp:
3312         (WebCore::DynamicNodeList::itemWithName):
3313
3314 2009-11-29  Daniel Bates  <dbates@webkit.org>
3315
3316         Reviewed by Eric Seidel.
3317
3318         https://bugs.webkit.org/show_bug.cgi?id=31966
3319
3320         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
3321         forward declared it.
3322
3323         No functionality was changed. So, no new tests.
3324
3325         * page/animation/KeyframeAnimation.cpp:
3326         * page/animation/KeyframeAnimation.h:
3327
3328 2009-11-29  Daniel Bates  <dbates@webkit.org>
3329
3330         Unreviewed, fix change log entry date.
3331
3332         For some reason, bugzilla-tool did not update the date in the change
3333         log entry for my last commit (r51468). So, this commit fixes the date
3334         of that entry.
3335
3336 2009-11-29  Daniel Bates  <dbates@webkit.org>
3337
3338         Reviewed by Dan Bernstein.
3339
3340         https://bugs.webkit.org/show_bug.cgi?id=31964
3341
3342         Removed #include StringImpl, StyleImage. Instead, forward declared them.
3343         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
3344         since it seems we only really used it to include PassRefPtr.h.
3345
3346         No functionality was changed. So, no new tests.
3347
3348         * rendering/style/ContentData.h:
3349
3350 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
3351
3352         Reviewed by Eric Seidel.
3353
3354         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
3355         https://bugs.webkit.org/show_bug.cgi?id=31906
3356
3357         Inherits the following classes from Noncopyable because these are instantiated
3358         by 'new' and no need to be copyable:
3359
3360         class/struct name               - instantiated at: WebCore/'location'
3361
3362         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
3363         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
3364         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
3365         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
3366         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
3367         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
3368         class RenderOverflow            - rendering/RenderBox.cpp:2846
3369
3370         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
3371
3372         struct FillLayer                - css/CSSStyleSelector.cpp:197
3373         struct ShadowData               - rendering/style/ShadowData.cpp:35
3374         class CounterContent            - css/CSSStyleSelector.cpp:4111
3375
3376         * platform/ScrollbarTheme.h:
3377         * rendering/RenderOverflow.h:
3378         * rendering/RenderSelectionInfo.h:
3379         * rendering/style/CounterContent.h:
3380         * rendering/style/FillLayer.h:
3381         * rendering/style/ShadowData.h:
3382         * storage/DatabaseTracker.h:
3383         * storage/OriginUsageRecord.h:
3384         * storage/SQLTransactionClient.h:
3385         * storage/SQLTransactionCoordinator.h:
3386
3387 2009-11-28  Adam Barth  <abarth@webkit.org>
3388
3389         Reviewed by Dimitri Glazkov.
3390
3391         [Chromium] Sify compose button alerts error
3392         https://bugs.webkit.org/show_bug.cgi?id=31394
3393
3394         Test: http/tests/security/calling-versus-current.html
3395
3396         We're supposed to use the calling context for security checks.  In JSC
3397         land, this is the lexicalGlobalObject.
3398
3399         * bindings/v8/V8Proxy.cpp:
3400         (WebCore::V8Proxy::canAccessPrivate):
3401
3402 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3403
3404         Unreviewed Chromium build fix introduced by r51428.
3405
3406         [Chromium] Ignore line-height CSS property for PushButton
3407         https://bugs.webkit.org/show_bug.cgi?id=31712
3408
3409         * rendering/RenderThemeChromiumSkia.cpp:
3410         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
3411
3412 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3413
3414         Unreviewed Chromium test fix by reverting r51413.
3415
3416         [v8] Do not check the thread when accessing DOMDataStore
3417         https://bugs.webkit.org/show_bug.cgi?id=31877
3418
3419         * bindings/v8/V8DOMMap.cpp:
3420         (WebCore::getDOMNodeMap):
3421         (WebCore::getDOMObjectMap):
3422         (WebCore::getActiveDOMObjectMap):
3423         (WebCore::getDOMSVGElementInstanceMap):
3424         (WebCore::getDOMSVGObjectWithContextMap):
3425
3426 2009-11-27  Daniel Bates  <dbates@webkit.org>
3427
3428         Unreviewed, comment fix.
3429
3430         Corrected misspelling of the word "implemented".
3431
3432         * inspector/front-end/InjectedScriptAccess.js:
3433
3434 2009-11-27  Daniel Bates  <dbates@webkit.org>
3435
3436         Reviewed by Adam Barth.
3437
3438         https://bugs.webkit.org/show_bug.cgi?id=31940
3439
3440         Makes the error messages more descriptive when we refuse to load an object/embed or
3441         refuse to load from the document base URL.
3442
3443         * page/XSSAuditor.cpp:
3444         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
3445         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
3446
3447 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3448
3449         Reviewed by Pavel Feldman.
3450
3451         This is a WebCore part of the fix that allows to view plugin
3452         resources loaded by plugins.
3453
3454         https://bugs.webkit.org/show_bug.cgi?id=31832
3455
3456         * inspector/InspectorController.cpp:
3457         (WebCore::InspectorController::willSendRequest):
3458         (WebCore::InspectorController::didReceiveResponse):
3459         (WebCore::InspectorController::didReceiveContentLength):
3460         (WebCore::InspectorController::didFinishLoading):
3461         (WebCore::InspectorController::didFailLoading):
3462         * inspector/InspectorController.h:
3463         * inspector/InspectorResource.cpp:
3464         (WebCore::InspectorResource::addLength):
3465         * loader/ResourceLoadNotifier.cpp:
3466         (WebCore::ResourceLoadNotifier::didFailToLoad):
3467         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3468         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3469         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3470         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3471
3472 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3473
3474         Reviewed by Pavel Feldman.
3475
3476         Instead of generating negative identifiers for cached resources in
3477         InspectorController and extending identifier type from 'unsigned long' to 'long
3478         long' reuse progress tracker from the inspected page to generate those
3479         identifiers. It guarantees that InspectorResources have unique ids since
3480         all of them are generated by that progress tracker.
3481
3482         Added a couple new overloaded methods to Script* objects that accept
3483         long and unsigned long arguments. These types of argumens have already
3484         been passed as long long.
3485
3486         https://bugs.webkit.org/show_bug.cgi?id=31921
3487
3488         * bindings/js/ScriptFunctionCall.cpp:
3489         (WebCore::ScriptFunctionCall::appendArgument):
3490         * bindings/js/ScriptFunctionCall.h:
3491         * bindings/js/ScriptObject.cpp:
3492         (WebCore::ScriptObject::set):
3493         * bindings/js/ScriptObject.h:
3494         * bindings/v8/ScriptFunctionCall.cpp:
3495         (WebCore::ScriptFunctionCall::appendArgument):
3496         * bindings/v8/ScriptFunctionCall.h:
3497         * bindings/v8/ScriptObject.cpp:
3498         (WebCore::ScriptObject::set):
3499         * bindings/v8/ScriptObject.h:
3500         * inspector/InspectorBackend.cpp:
3501         (WebCore::InspectorBackend::dispatchOnInjectedScript):
3502         * inspector/InspectorController.cpp:
3503         (WebCore::InspectorController::InspectorController):
3504         (WebCore::InspectorController::getTrackedResource):
3505         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
3506         * inspector/InspectorController.h:
3507         * inspector/InspectorDOMAgent.cpp:
3508         (WebCore::InspectorDOMAgent::buildObjectForNode):
3509         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3510         * inspector/InspectorFrontend.cpp:
3511         (WebCore::InspectorFrontend::addResource):
3512         (WebCore::InspectorFrontend::updateResource):
3513         (WebCore::InspectorFrontend::removeResource):
3514         (WebCore::InspectorFrontend::updateFocusedNode):
3515         * inspector/InspectorFrontend.h:
3516         * inspector/InspectorResource.cpp:
3517         (WebCore::InspectorResource::InspectorResource):
3518         (WebCore::InspectorResource::createCached):
3519         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
3520         (WebCore::InspectorResource::create):
3521         (WebCore::InspectorResource::identifier):
3522         * inspector/TimelineRecordFactory.cpp:
3523         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
3524         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
3525         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
3526
3527 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
3528
3529         Reviewed by Dan Bernstein.
3530
3531         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
3532         https://bugs.webkit.org/show_bug.cgi?id=29966
3533
3534         When an empty inline element is clicked, the root inline box has
3535         no leaf children. Use the renderer of a normal child instead.
3536
3537         This change resolves Windows port's assertion failure in a layout test.
3538         Also, this fixes the behavior when a user drags the mouse from an
3539         empty inline element to above texts.
3540
3541         Test: editing/selection/last-empty-inline.html
3542
3543         * rendering/RenderBlock.cpp:
3544         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3545
3546 2009-11-26  Kent Tamura  <tkent@chromium.org>
3547
3548         Reviewed by Eric Seidel.
3549
3550         [Chromium] Ignore line-height CSS property specified to push buttons on
3551         Windows and Linux.
3552         https://bugs.webkit.org/show_bug.cgi?id=31712
3553
3554         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
3555         following controls should ignore line-height CSS property.
3556          - <select>
3557          - <input type=button>
3558          - <input type=search>
3559         This change addresses the <input type=button> issue with Chromium/Windows
3560         and Chromium/Linux.
3561         
3562         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
3563         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
3564
3565 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
3566
3567         Reviewed by Eric Seidel.
3568
3569         Remove the special charset meta tag in the clipboard so that
3570         copy-and-paste with interchange breaklines/spaces works correctly
3571         within WebKit.
3572
3573         No new tests.  Layout tests that involve copy-and-paste with
3574         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
3575         should pass on Mac/Chromium with this fix.
3576
3577         * platform/chromium/ClipboardChromium.cpp:
3578         * platform/chromium/PasteboardChromium.cpp:
3579         (WebCore::Pasteboard::documentFragment):
3580
3581 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
3582
3583         Reviewed by Eric Seidel.
3584
3585         Compile with QT_NO_WHEELEVENT defined.
3586
3587         * platform/qt/WheelEventQt.cpp:
3588         (WebCore::PlatformWheelEvent::applyDelta):
3589
3590 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3591
3592         Reviewed by Oliver Hunt.
3593
3594         Move GOwnPtr* from wtf to wtf/gtk
3595         https://bugs.webkit.org/show_bug.cgi?id=31793
3596
3597         No new tests as there is no functional change.
3598
3599         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
3600           path for GOwnPtr.h.
3601         * platform/text/TextEncoding.cpp: Ditto.
3602         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
3603
3604 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
3605
3606         Not reviewed. Build fix: revert r51421.
3607
3608         * inspector/InspectorController.cpp:
3609         (WebCore::InspectorController::willSendRequest):
3610         (WebCore::InspectorController::didReceiveResponse):
3611         (WebCore::InspectorController::didReceiveContentLength):
3612         (WebCore::InspectorController::didFinishLoading):
3613         (WebCore::InspectorController::didFailLoading):
3614         * inspector/InspectorController.h:
3615         * inspector/InspectorResource.cpp:
3616         (WebCore::InspectorResource::addLength):
3617         * loader/ResourceLoadNotifier.cpp:
3618         (WebCore::ResourceLoadNotifier::didFailToLoad):
3619         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3620         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3621         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3622         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3623
3624 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
3625
3626         Reviewed by Pavel Feldman.
3627
3628         This is a WebCore part of the fix that allows to view plugin
3629         resources loaded by plugins.
3630
3631         https://bugs.webkit.org/show_bug.cgi?id=31832
3632
3633         * inspector/InspectorController.cpp:
3634         (WebCore::InspectorController::willSendRequest):
3635         (WebCore::InspectorController::didReceiveResponse):
3636         (WebCore::InspectorController::didReceiveContentLength):
3637         (WebCore::InspectorController::didFinishLoading):
3638         (WebCore::InspectorController::didFailLoading):
3639         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
3640         * inspector/InspectorResource.cpp:
3641         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
3642         * loader/ResourceLoadNotifier.cpp:
3643         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
3644         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3645         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3646         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3647         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3648
3649 2009-11-26  Daniel Bates  <dbates@webkit.org>
3650
3651         Reviewed by Pavel Feldman.
3652
3653         https://bugs.webkit.org/show_bug.cgi?id=21554
3654
3655         Implements support for hovering over <img> src to display the height and width of that image
3656         in a tooltip. Displays both the displayable and natural dimensions of the image.
3657
3658         Test: inspector/elements-img-tooltip.html
3659
3660         * inspector/front-end/ElementsTreeOutline.js:
3661         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
3662         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
3663         (WebInspector.ElementsTreeElement.prototype._updateTitle):
3664         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
3665         * inspector/front-end/ObjectProxy.js:
3666         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
3667         * inspector/front-end/inspector.js:
3668         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
3669         (WebInspector.linkifyURL): Ditto.
3670
3671 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
3672
3673         wx build fix after drawPattern API change.
3674
3675         * platform/graphics/wx/ImageWx.cpp:
3676         (WebCore::Image::drawPattern):
3677
3678 2009-11-26  Anton Muhin  <antonm@chromium.org>
3679
3680         Reviewed by Adam Barth.
3681
3682         Use an internal field instead of hidden property to speedup lookup
3683         of entered isolated world.
3684
3685         Plus some inlinings.
3686         https://bugs.webkit.org/show_bug.cgi?id=31884
3687
3688         Covered by layout tests + manual running of some benchmarks as
3689         content scripts.
3690
3691         * bindings/v8/V8DOMWrapper.cpp:
3692         * bindings/v8/V8DOMWrapper.h:
3693         (WebCore::V8DOMWrapper::setDOMWrapper):
3694         * bindings/v8/V8HiddenPropertyName.h:
3695         * bindings/v8/V8IsolatedWorld.cpp:
3696         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
3697         * bindings/v8/V8IsolatedWorld.h:
3698         (WebCore::V8IsolatedWorld::getEntered):
3699         (WebCore::V8IsolatedWorld::getGlobalObject):
3700         * bindings/v8/custom/V8CustomBinding.h:
3701
3702 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3703
3704         Reviewed by Kenneth Rohde Christiansen.
3705
3706         [Qt] Corrects build break on Windows.
3707
3708         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
3709         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
3710
3711         * WebCore.pro:
3712         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
3713         (WebCore::findNextWordFromIndex):
3714         (WebCore::findWordBoundary):
3715
3716 2009-11-26  Anton Muhin  <antonm@chromium.org>
3717
3718         Reviewed by Adam Barth.
3719
3720         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
3721         https://bugs.webkit.org/show_bug.cgi?id=31877
3722
3723         Covered by layout tests and buildbots.
3724
3725         * bindings/v8/V8DOMMap.cpp:
3726         (WebCore::getDOMNodeMap):
3727         (WebCore::getDOMObjectMap):
3728         (WebCore::getActiveDOMObjectMap):
3729         (WebCore::getDOMSVGElementInstanceMap):
3730         (WebCore::getDOMSVGObjectWithContextMap):
3731
3732 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
3733
3734         Reviewed by Holger Freyther.
3735
3736         [Qt] Mac Plugins : Pass mouse position relative to the fake window
3737         
3738         When using off-screen rendering, we need to pass mouse events relative
3739         to the fake window instead of the global position.
3740         
3741         https://bugs.webkit.org/show_bug.cgi?id=31794
3742
3743         * plugins/mac/PluginViewMac.cpp:
3744         (WebCore::PluginView::platformStart):
3745         (WebCore::PluginView::handleMouseEvent):
3746
3747 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3748
3749         Reviewed by Eric Seidel.
3750
3751         [Qt] Use QNetworkReply::rawHeaderPairs
3752         https://bugs.webkit.org/show_bug.cgi?id=31826
3753
3754         The QNetworkReply is internally storing the HTTP headers
3755         as a list of pairs. Currently we have to ask the QNetworkReply
3756         to put all header names into a QStringList. Afterwards we will
3757         iterate over this QStringList and ask the QNetworkReply to
3758         give us the value for this header name. The current Qt implementation
3759         is doing a linear to find the header value.
3760
3761         Use a new API to directly access the list of pairs and push
3762         this into WebCore. This avoids doing some allocations and doing
3763         linear searches from within a loop.
3764
3765         * platform/network/qt/QNetworkReplyHandler.cpp:
3766         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3767
3768 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
3769
3770         Reviewed by Kenneth Rohde Christiansen.
3771
3772         [Qt] Add Qt specific information of RenderPart
3773         https://bugs.webkit.org/show_bug.cgi?id=31203
3774
3775         The WebCore::Widget of the RenderPart (RenderWidget) might be
3776         backed with a platform widget. Print both the WebCore::Widget
3777         and platform widget state. In the above bug we had a problem
3778         that the WebCore::Widget was invisible but the QWidget was
3779         visible.
3780
3781         * rendering/RenderTreeAsText.cpp:
3782         (WebCore::operator<<): Add special case for RenderPart
3783
3784 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
3785
3786         Reviewed by Kenneth Rohde Christiansen.
3787
3788         [Qt] Call Widget::setSelfVisible from hide/show
3789         https://bugs.webkit.org/show_bug.cgi?id=31203
3790
3791         Call Widget::setSelfVisible from Widget::show and
3792         Widget::hide and use isParentVisible to decide
3793         if the widget should be shown. This way client
3794         code can rely on isVisible.
3795
3796         Change PluginViewQt::show, PluginViewQt::hide to
3797         call the base class as it is doing the right thing
3798         now. Add an assert verify that platfomWidget and
3799         platformPluginWidget are the same.
3800
3801         * manual-tests/qt/qtplugin.html: Modify manual test
3802         * platform/qt/WidgetQt.cpp:
3803         (WebCore::Widget::show):
3804         (WebCore::Widget::hide):
3805         * plugins/qt/PluginViewQt.cpp:
3806         (WebCore::PluginView::show):
3807         (WebCore::PluginView::hide):
3808
3809 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
3810
3811         Reviewed by Alexey Proskuryakov.
3812
3813         Fix compilation of REQUEST_DEBUG debug code
3814         https://bugs.webkit.org/show_bug.cgi?id=31850
3815
3816         In r47907 the single parameter KURL constructor to parse
3817         from a WebCore::String was replaced with a two parameter
3818         constructor. I think in this debug case parsing the urls
3819         again is no problem and I have changed the code to use the
3820         two parameter version.
3821
3822         * loader/loader.cpp:
3823         (WebCore::Loader::Host::didFinishLoading):
3824
3825 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
3826
3827         Reviewed by Pavel Feldman.
3828
3829         [V8] Avoid using JavaScript objects as context data
3830         https://bugs.webkit.org/show_bug.cgi?id=31873
3831
3832         Change the context "data" from a JavaScript object holding the two properties type and value to
3833         a string holding type and value separated by a comma.
3834
3835         * bindings/v8/V8Proxy.cpp:
3836         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3837         (WebCore::V8Proxy::setContextDebugId):
3838         (WebCore::V8Proxy::contextDebugId):
3839
3840 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
3841
3842         Reviewed by David Levin.
3843
3844         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
3845         https://bugs.webkit.org/show_bug.cgi?id=31894
3846
3847         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
3848         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
3849
3850 2009-11-25  Kenneth Russell  <kbr@google.com>
3851
3852         Reviewed by Oliver Hunt.
3853
3854         Off-by-one error in index validation for drawElements and drawArrays
3855         https://bugs.webkit.org/show_bug.cgi?id=31891
3856
3857         Fixed computation of number of elements for bound array objects.
3858
3859         Test: fast/canvas/webgl/index-validation.html
3860
3861         * html/canvas/WebGLRenderingContext.cpp:
3862         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3863
3864 2009-11-25  Dmitry Titov  <dimich@chromium.org>
3865
3866         Reviewed by David Levin.
3867
3868         Update SharedScript to use eventNames() instead of EventNames()
3869         https://bugs.webkit.org/show_bug.cgi?id=31890
3870
3871         * SharedScript/WebKitSharedScript.cpp:
3872         (WebCore::LoadEventTask::performTask):
3873
3874 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
3875
3876         Reviewed by Simon Fraser.
3877
3878         <rdar://problem/7409331> Windows: Support closed caption in <video> element
3879
3880         Enable closed captions in QuickTime/Windows media engine.
3881
3882         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3883         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
3884         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
3885             New, all through to m_qtMovie.
3886
3887         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3888             Make all but the destructor private since MediaPlayer call through the media
3889             engine interface.
3890
3891         * platform/graphics/win/QTMovieWin.cpp:
3892         (QTMovieWin::disableUnsupportedTracks):
3893             Use handy new constants for QuickTime track types.
3894         (QTMovieWin::hasClosedCaptions):
3895         (QTMovieWin::setClosedCaptionsVisible):
3896             New, closed caption support.
3897         * platform/graphics/win/QTMovieWin.h:
3898
3899         * rendering/RenderMediaControls.cpp:
3900         (WebCore::RenderMediaControls::paintMediaControlsPart):
3901             Deal with closed caption buttons.
3902
3903         * rendering/RenderThemeWin.cpp:
3904         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
3905             New, don't ask the media engine if it has closed captions unless the Safari theme will
3906             be able to render the button.
3907         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
3908             New.
3909         * rendering/RenderThemeWin.h:
3910
3911 2009-11-25  Drew Wilson  <atwilson@chromium.org>
3912
3913         Reviewed by David Levin.
3914
3915         MessagePorts always look remotely entangled even when closed.
3916         https://bugs.webkit.org/show_bug.cgi?id=31698
3917
3918         Tests: Existing tests suffice, Chromium soak test passes now.
3919
3920         * bindings/v8/custom/V8CustomBinding.h:
3921         Removed kMessagePortEntangledPortIndex which is no longer used.
3922         * bindings/v8/V8GCController.cpp:
3923         (WebCore::GCPrologueVisitor::visitDOMWrapper):
3924         Simplified GC code to reflect the Chromium MessagePort implementation
3925         (locallyEntangledPort() always returns false).
3926         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3927         Cleaned up epilogue code to handle the case where the port gets closed
3928         in mid-GC (due to the parent context being freed).
3929         * dom/MessagePort.cpp:
3930         (WebCore::MessagePort::MessagePort):
3931         (WebCore::MessagePort::close):
3932         Now sets the closed flag.
3933         (WebCore::MessagePort::disentanglePorts):
3934         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
3935         * dom/MessagePort.h:
3936         Added a m_closed flag and updated isEntangled() to check it.
3937         (WebCore::MessagePort::isEntangled):
3938         Now returns false if the port has been closed.
3939         (WebCore::MessagePort::isCloned):
3940         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
3941
3942 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3943
3944         Reviewed by Simon Hausmann.
3945
3946         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
3947
3948         Fix inline assembly, don't dereference the function pointer twice.
3949
3950         * plugins/win/PluginViewWin.cpp:
3951         (WebCore::PluginView::hookedBeginPaint):
3952         (WebCore::PluginView::hookedEndPaint):
3953
3954 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
3955
3956         Reviewed by Adam Barth.
3957
3958         [Qt] Remove the Referer header when redirecting to a non-secure site
3959         https://bugs.webkit.org/show_bug.cgi?id=31785
3960
3961         This makes Qt pass two tests introduced in r50226.
3962
3963         * platform/network/qt/QNetworkReplyHandler.cpp:
3964         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3965
3966 2009-11-25  Andrei Popescu  <andreip@google.com>
3967
3968         Reviewed by Dimitri Glazkov.
3969
3970         The select elements do not reflect the actual choice the user makes.
3971         https://bugs.webkit.org/show_bug.cgi?id=31831
3972
3973         Handle the drawing of the listboxes in Android code.
3974
3975         No new features, just fixing an Android problem. Existing layout tests are sufficient.
3976
3977         * platform/android/RenderThemeAndroid.cpp:
3978         (WebCore::theme):
3979         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
3980         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
3981         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
3982         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
3983         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
3984         (WebCore::RenderThemeAndroid::adjustButtonStyle):
3985         (WebCore::RenderThemeAndroid::paintTextArea):
3986         (WebCore::RenderThemeAndroid::adjustListboxStyle):
3987         * platform/android/RenderThemeAndroid.h:
3988
3989 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
3990
3991         Reviewed by Pavel Feldman.
3992
3993         Load InspectorResource mime type from CachedResource for 304 responses
3994
3995         For network libraries that do not merge cache data into 304 ResourceResponses,
3996         the mime type for cached resources is unknown.
3997         https://bugs.webkit.org/show_bug.cgi?id=31868
3998
3999         * inspector/InspectorResource.cpp:
4000         (WebCore::InspectorResource::updateResponse):
4001         (WebCore::InspectorResource::updateScriptObject):
4002         (WebCore::InspectorResource::type):
4003
4004 2009-11-25  Andrei Popescu  <andreip@google.com>
4005
4006         Reviewed by Eric Seidel.
4007
4008         Android is missing implementation of SSL Key generator functions.
4009         https://bugs.webkit.org/show_bug.cgi?id=31825
4010
4011         This change adds the PlatformBridge class to platform/android.
4012         PlarformBridge is used to access the embedding layer for things
4013         such as key generator, cookies, plugins, etc.
4014
4015         No new tests required, this is platform code.
4016
4017         * platform/android/PlatformBridge.h: Added.
4018         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
4019         (WebCore::getSupportedKeySizes):
4020         (WebCore::signedPublicKeyAndChallengeString):
4021
4022 2009-11-25  Philippe Normand  <pnormand@igalia.com>
4023
4024         Reviewed by Eric Seidel.
4025
4026         [GTK] use gst_init_check() instead of gst_init()
4027         https://bugs.webkit.org/show_bug.cgi?id=31864
4028
4029         Use gst_init_check() instead of gst_init() to prevent eventual
4030         unexpected exit of the application.
4031
4032         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4033         (WebCore::do_gst_init):
4034         (WebCore::MediaPlayerPrivate::isAvailable):
4035
4036 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4037
4038         Reviewed by Xan Lopez.
4039
4040         Some tests are crashing from time to time
4041         https://bugs.webkit.org/show_bug.cgi?id=31866
4042
4043         Make sure we do not notify the client of a finished load, if the
4044         load has been cancelled, or the client is gone.
4045
4046         * platform/network/soup/ResourceHandleSoup.cpp:
4047         (WebCore::):
4048
4049 2009-11-24  Ben Murdoch  <benm@google.com>
4050
4051         Reviewed by Eric Seidel.
4052
4053         [Android] Upstream Android changes to WebCore/bridge/jni
4054         https://bugs.webkit.org/show_bug.cgi?id=31824
4055
4056         No new tests required as no new functionality.
4057
4058         * bridge/jni/jni_class.cpp:
4059         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
4060         * bridge/jni/jni_instance.cpp: Add an Android include path.
4061         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
4062         (JSC::Bindings::JObjectWrapper::instance): Added.
4063         (JSC::Bindings::JObjectWrapper::setInstance): Added.
4064         * bridge/jni/jni_runtime.cpp:
4065         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
4066         * bridge/jni/jni_utility.h:
4067         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
4068
4069 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
4070
4071         Reviewed by Eric Seidel.
4072
4073         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
4074         https://bugs.webkit.org/show_bug.cgi?id=31827
4075
4076         Inherits the following classes from Noncopyable because these are instantiated
4077         by 'new' and no need to be copyable:
4078
4079         class/struct name               - instantiated at: WebCore/'location'
4080
4081         class PluginRequest             - plugins/PluginView.cpp:521
4082         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
4083         class PluginDatabase            - plugins/PluginDatabase.cpp:50
4084         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
4085         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
4086         class RenderArena               - dom/Document.cpp:1401
4087         class RenderImageScaleData      - rendering/RenderImage.cpp:149
4088         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
4089         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
4090         struct FloatingObject           - rendering/RenderBlock.cpp:2300
4091         struct MaxMargin                - rendering/RenderBlock.cpp:4794
4092         class RenderMarquee             - rendering/RenderLayer.cpp:3277
4093
4094         * plugins/PluginData.h:
4095         * plugins/PluginDatabase.h:
4096         * plugins/PluginMainThreadScheduler.h:
4097         * plugins/PluginView.h:
4098         * rendering/RenderArena.h:
4099         * rendering/RenderBlock.cpp:
4100         * rendering/RenderBlock.h:
4101         * rendering/RenderImage.cpp:
4102         * rendering/RenderMarquee.h:
4103         * rendering/TableLayout.h:
4104
4105 2009-11-24  Dmitry Titov  <dimich@chromium.org>
4106
4107         Reviewed by David Levin.
4108
4109         Initial implementation of WebKitSharedScript and SharedScriptContext
4110         https://bugs.webkit.org/show_bug.cgi?id=31569
4111
4112         No new tests since there are no bindings yet (soon to come).
4113
4114         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
4115         * WebCore.xcodeproj/project.pbxproj:
4116         * dom/Document.cpp:
4117         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
4118         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
4119         (WebCore::EventTarget::toWebKitSharedScript):
4120         (WebCore::EventTarget::toSharedScriptContext):
4121         * dom/EventTarget.h: Ditto
4122         * dom/ScriptExecutionContext.h:
4123         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
4124
4125         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
4126         (WebCore::SharedScriptContext::SharedScriptContext):
4127         (WebCore::SharedScriptContext::~SharedScriptContext):
4128         (WebCore::SharedScriptContext::clearScript):
4129         (WebCore::SharedScriptContext::virtualURL):
4130         (WebCore::SharedScriptContext::virtualCompleteURL):
4131         (WebCore::SharedScriptContext::reportException):
4132         (WebCore::SharedScriptContext::addMessage):
4133         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
4134         (WebCore::SharedScriptContext::scriptImported):
4135         (WebCore::SharedScriptContext::matches):
4136         (WebCore::SharedScriptContext::addToDocumentsList):
4137         (WebCore::SharedScriptContext::destructionTimerFired):
4138         (WebCore::SharedScriptContext::removeFromDocumentList):
4139         (WebCore::SharedScriptContext::load):
4140         (WebCore::SharedScriptContext::postTask):
4141         (WebCore::SharedScriptContext::eventTargetData):
4142         (WebCore::SharedScriptContext::ensureEventTargetData):
4143         (WebCore::SharedScriptContext::scriptExecutionContext):
4144         * SharedScript/SharedScriptContext.h: Added.
4145         (WebCore::SharedScriptContext::create):
4146         (WebCore::SharedScriptContext::isSharedScriptContext):
4147         (WebCore::SharedScriptContext::userAgent):
4148         (WebCore::SharedScriptContext::toSharedScriptContext):
4149         (WebCore::SharedScriptContext::self):
4150         (WebCore::SharedScriptContext::script):
4151         (WebCore::SharedScriptContext::loaded):
4152         (WebCore::SharedScriptContext::name):
4153         (WebCore::SharedScriptContext::refEventTarget):
4154         (WebCore::SharedScriptContext::derefEventTarget):
4155         (WebCore::SharedScriptContext::refScriptExecutionContext):
4156         (WebCore::SharedScriptContext::derefScriptExecutionContext):
4157         * SharedScript/SharedScriptContext.idl: Added.
4158
4159         * SharedScript/SharedScriptController.h: 
4160         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
4161
4162         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
4163         (WebCore::WebKitSharedScript::WebKitSharedScript):
4164         (WebCore::WebKitSharedScript::~WebKitSharedScript):
4165         (WebCore::WebKitSharedScript::setContext):
4166         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
4167         (WebCore::LoadEventTask::performTask):
4168         (WebCore::LoadEventTask::LoadEventTask):
4169         (WebCore::WebKitSharedScript::scheduleLoadEvent):
4170         * SharedScript/WebKitSharedScript.h: Added.
4171         (WebCore::WebKitSharedScript::create):
4172         (WebCore::WebKitSharedScript::scriptExecutionContext):
4173         (WebCore::WebKitSharedScript::toWebKitSharedScript):
4174         (WebCore::WebKitSharedScript::context):
4175         (WebCore::WebKitSharedScript::refEventTarget):
4176         (WebCore::WebKitSharedScript::derefEventTarget):
4177         (WebCore::WebKitSharedScript::eventTargetData):
4178         (WebCore::WebKitSharedScript::ensureEventTargetData):
4179         * SharedScript/WebKitSharedScript.idl: Added.
4180
4181         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
4182         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
4183         (WebCore::ScriptLoader::load):
4184         (WebCore::ScriptLoader::notifyFinished):
4185         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
4186         (WebCore::WebKitSharedScriptRepository::connect):
4187         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
4188         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
4189         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
4190         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
4191         * SharedScript/WebKitSharedScriptRepository.h: Added.
4192         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
4193
4194 2009-11-24  Dmitry Titov  <dimich@chromium.org>
4195
4196         Reviewed by Eric Seidel.
4197
4198         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
4199         https://bugs.webkit.org/show_bug.cgi?id=31444
4200
4201         * Configurations/FeatureDefines.xcconfig:
4202         * GNUmakefile.am:
4203         * WebCore.pro:
4204
4205 2009-11-24  Chris Marrin  <cmarrin@apple.com>
4206
4207         Reviewed by Simon Fraser.
4208
4209         Implement accelerated compositing
4210         https://bugs.webkit.org/show_bug.cgi?id=27314
4211         
4212         This part of the checkin adds the Windows specific GraphicsLayer support files.
4213         It provides the interface between GraphicsLayer and CACF. It also deals with
4214         the compositing loop, and provides the plumbing to pass the root layer up to
4215         WebView.
4216