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