2009-12-02 Fumitoshi Ukai <ukai@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
2
3         Reviewed by Alexey Proskuryakov.
4
5         WebSocket handshake check query component of URL
6         https://bugs.webkit.org/show_bug.cgi?id=31617
7
8         Tests: websocket/tests/url-with-credential.html
9                websocket/tests/url-with-empty-query.html
10                websocket/tests/url-with-fragment.html
11                websocket/tests/url-with-query-for-no-query.html
12                websocket/tests/url-with-query.html
13
14         * platform/KURLGoogle.cpp:
15         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
16         * websockets/WebSocketHandshake.cpp:
17         (WebCore::resourceName): added. add query component to path if specified.
18         (WebCore::WebSocketHandshake::clientLocation):
19         (WebCore::WebSocketHandshake::clientHandshakeMessage):
20
21 2009-12-01  David Levin  <levin@chromium.org>
22
23         Reviewed by Eric Seidel.
24
25         Incorrect code in WebGLRenderingContext.cpp
26         https://bugs.webkit.org/show_bug.cgi?id=32046
27
28         Fix incorrect code that happened to work. != has higher precendence than &.
29         The simplest fix is to remove the "!= 0" which violates WebKit style
30         guidelines anyway.
31
32         Also added periods to few comments in the same function.
33
34         * html/canvas/WebGLRenderingContext.cpp:
35         (WebCore::WebGLRenderingContext::validateIndexArray):
36
37 2009-12-01  Kent Tamura  <tkent@chromium.org>
38
39         Reviewed by Darin Adler.
40
41         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
42         pattern and step attributes of HTMLInputElement.
43         https://bugs.webkit.org/show_bug.cgi?id=31708
44
45         * html/HTMLInputElement.idl:
46
47 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
48
49         Reviewed by Darin Adler.
50
51         WAI-ARIA: implement support for ARIA drag and drop
52         https://bugs.webkit.org/show_bug.cgi?id=32007
53
54         Test: platform/mac/accessibility/aria-drag-drop.html
55
56         * accessibility/AccessibilityObject.h:
57         (WebCore::AccessibilityObject::supportsARIADropping):
58         (WebCore::AccessibilityObject::supportsARIADragging):
59         (WebCore::AccessibilityObject::isARIAGrabbed):
60         (WebCore::AccessibilityObject::setARIAGrabbed):
61         (WebCore::AccessibilityObject::determineARIADropEffects):
62         * accessibility/AccessibilityRenderObject.cpp:
63         (WebCore::AccessibilityRenderObject::supportsARIADropping):
64         (WebCore::AccessibilityRenderObject::supportsARIADragging):
65         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
66         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
67         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
68         * accessibility/AccessibilityRenderObject.h:
69         * accessibility/mac/AccessibilityObjectWrapper.mm:
70         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
71         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
72         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
73         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
74         * html/HTMLAttributeNames.in:
75
76 2009-12-01  Adam Barth  <abarth@webkit.org>
77
78         https://bugs.webkit.org/show_bug.cgi?id=21288
79
80         Unreviewed port of @sandbox to V8.
81
82         * bindings/v8/ScriptController.cpp:
83         (WebCore::ScriptController::isEnabled):
84         * bindings/v8/custom/V8DOMWindowCustom.cpp:
85         (WebCore::createWindow):
86
87 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
88
89         Reviewed by Darin Adler.
90
91         Implement HTML5 sandbox attribute for iframes.
92         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
93         https://bugs.webkit.org/show_bug.cgi?id=21288
94
95         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
96                fast/frames/sandboxed-iframe-forms.html
97                fast/frames/sandboxed-iframe-navigation-allowed.html
98                fast/frames/sandboxed-iframe-navigation-parent.html
99                fast/frames/sandboxed-iframe-navigation-targetlink.html
100                fast/frames/sandboxed-iframe-navigation-windowopen.html
101                fast/frames/sandboxed-iframe-plugins.html
102                fast/frames/sandboxed-iframe-scripting.html
103                fast/frames/sandboxed-iframe-storage.html
104                http/tests/security/sandboxed-iframe-document-cookie.html
105                http/tests/security/sandboxed-iframe-modify-self.html
106                http/tests/security/xss-DENIED-sandboxed-iframe.html
107                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
108                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
109                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
110
111         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
112         (WebCore::createWindow):
113         * bindings/js/ScriptController.cpp: sandboxing scripts
114         (WebCore::ScriptController::isEnabled):
115         * dom/Document.cpp:
116         (WebCore::Document::processHttpEquiv):
117         (WebCore::Document::cookie): raise exception when accessed from sandbox
118         (WebCore::Document::setCookie): raise exception when accessed from sandbox
119         (WebCore::Document::initSecurityContext): updae sandbox status
120         (WebCore::Document::updateSandboxFlags):
121         * dom/Document.h:
122         * dom/Document.idl:
123         * html/HTMLAppletElement.cpp: sandboxing applets
124         (WebCore::HTMLAppletElement::createRenderer):
125         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
126         (WebCore::HTMLAppletElement::canEmbedJava):
127         * html/HTMLAppletElement.h:
128         * html/HTMLAttributeNames.in:
129         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
130         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
131         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
132         * html/HTMLFrameOwnerElement.h:
133         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
134         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
135         (WebCore::parseSandboxAttribute):
136         (WebCore::HTMLIFrameElement::parseMappedAttribute):
137         * html/HTMLIFrameElement.idl:
138         * inspector/InspectorController.cpp:
139         (WebCore::InspectorController::getCookies):
140         * loader/CrossOriginAccessControl.cpp:
141         (WebCore::passesAccessControlCheck):
142         * loader/FrameLoader.cpp:
143         (WebCore::FrameLoader::FrameLoader):
144         (WebCore::FrameLoader::init):
145         (WebCore::FrameLoader::submitForm): sandboxing forms
146         (WebCore::FrameLoader::requestObject): sandboxing plugins
147         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
148         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
149         * loader/FrameLoader.h:
150         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
151         (WebCore::FrameLoader::isSandboxed):
152         (WebCore::FrameLoader::sandboxFlags):
153         * loader/FrameLoaderTypes.h:
154         (WebCore::):
155         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
156         (WebCore::DOMWindow::sessionStorage):
157         (WebCore::DOMWindow::localStorage):
158         (WebCore::DOMWindow::openDatabase):
159         * page/SecurityOrigin.cpp: added sandboxing status
160         (WebCore::SecurityOrigin::SecurityOrigin):
161         (WebCore::SecurityOrigin::canAccess):
162         (WebCore::SecurityOrigin::canRequest):
163         (WebCore::SecurityOrigin::toString):
164         * page/SecurityOrigin.h:
165         (WebCore::SecurityOrigin::setSandboxFlags):
166         (WebCore::SecurityOrigin::isSandboxed):
167         (WebCore::SecurityOrigin::canAccessDatabase):
168         (WebCore::SecurityOrigin::canAccessStorage):
169         * websockets/WebSocketChannel.cpp:
170         (WebCore::WebSocketChannel::didReceiveData):
171
172 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
173
174         Reviewed by David Kilzer.
175
176         ARIA: support a way to create a static text object
177         https://bugs.webkit.org/show_bug.cgi?id=32030
178
179         Test: accessibility/aria-text-role.html
180
181         * accessibility/AccessibilityObject.cpp:
182         (WebCore::createARIARoleMap):
183         * accessibility/AccessibilityRenderObject.cpp:
184         (WebCore::AccessibilityRenderObject::stringValue):
185         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
186         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
187         (WebCore::AccessibilityRenderObject::text):
188         * accessibility/AccessibilityRenderObject.h:
189
190 2009-12-01  Oliver Hunt  <oliver@apple.com>
191
192         Reviewed by Maciej Stachowiak.
193
194         Inspector crashes when collecting on every allocation
195         https://bugs.webkit.org/show_bug.cgi?id=32044
196
197         The crash is caused by the prototype wrapper object getting collected
198         when allocating the object that is going to use it as a prototype.
199         Because the only reference to the prototype wrapper is through the
200         new object's Structure it does not get marked automatically.
201
202         * bindings/js/JSInspectedObjectWrapper.cpp:
203         (WebCore::JSInspectedObjectWrapper::wrap):
204         * bindings/js/JSInspectorCallbackWrapper.cpp:
205         (WebCore::JSInspectorCallbackWrapper::wrap):
206
207 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
208
209         Reviewed by Simon Fraser.
210
211         Add SVG animation test framework with 'snapshot' functionality
212         https://bugs.webkit.org/show_bug.cgi?id=31897
213
214         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
215         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
216
217         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
218         to sample a svg animateMotion/animateColor/animate/set element at certain times.
219
220         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
221         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
222         a callback is fired used to sample the animation value at the target time. It's modelled similar
223         to the CSS animation/transition testing framework, inspired by
224         LayoutTests/animations/animation-test-helpers.js.
225
226         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
227         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
228
229         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
230         interaction, while animating.
231
232         Test: svg/animations/animVal-basics.html
233
234         * WebCore.base.exp:
235         * WebCore.xcodeproj/project.pbxproj:
236         * svg/SVGDocumentExtensions.cpp:
237         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
238         * svg/SVGDocumentExtensions.h:
239         * svg/animation/SMILTimeContainer.cpp:
240         (WebCore::SMILTimeContainer::SMILTimeContainer):
241         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
242         (WebCore::SMILTimeContainer::updateAnimations):
243         * svg/animation/SMILTimeContainer.h:
244
245 2009-12-01  Jens Alfke  <snej@chromium.org>
246
247         Reviewed by Darin Adler.
248
249         Add convenience methods to Element and QualifiedName that take
250         char* instead of AtomicString, in preparation for removing the
251         implicit conversion between the two types (30187).
252         https://bugs.webkit.org/show_bug.cgi?id=31749
253
254         * dom/Element.cpp:
255         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
256         * dom/Element.h:
257         * dom/QualifiedName.cpp:
258         (WebCore::QualifiedName::init):  Shared impl of both constructors
259         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
260         * dom/QualifiedName.h:
261         * platform/network/HTTPHeaderMap.cpp:
262         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
263         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
264         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
265         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
266         * platform/network/HTTPHeaderMap.h:
267         (WebCore::HTTPHeaderMap::get):
268         (WebCore::HTTPHeaderMap::add):
269         * platform/network/ResourceRequestBase.cpp:
270         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
271         * platform/network/ResourceRequestBase.h:
272         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
273         * platform/network/ResourceResponseBase.cpp:
274         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
275         * platform/network/ResourceResponseBase.h:
276
277 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
278
279         More Windows build fix.
280
281         * platform/network/cf/CredentialStorageCFNet.cpp:
282         (WebCore::CredentialStorage::getFromPersistentStorage):
283
284 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
285
286         Windows build fix.
287
288         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
289
290 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
291
292         Reviewed by Darin Adler.
293
294         https://bugs.webkit.org/show_bug.cgi?id=32036
295         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
296
297         * platform/network/cf/CredentialStorageCFNet.cpp:
298         (WebCore::CredentialStorage::getFromPersistentStorage):
299
300 2009-12-01  Daniel Bates  <dbates@webkit.org>
301
302         Reviewed by Pavel Feldman.
303
304         https://bugs.webkit.org/show_bug.cgi?id=32001
305
306         Added missing localized strings (that I left out of the patch for bug #21554):
307         %d × %d pixels
308         %d × %d pixels (Natural: %d × %d pixels)
309
310         Also, changed formatting of these stings to conform with existing ones (added
311         a space on both sides of the multiply sign).
312
313         * English.lproj/localizedStrings.js: Added stings.
314         * inspector/front-end/ElementsTreeOutline.js:
315         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
316
317 2009-12-01  Dave Hyatt  <hyatt@apple.com>
318
319         Reviewed by Simon Fraser.
320
321         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
322
323         Added fast/css/namespaces/namespaces-empty.xml
324
325         * css/CSSStyleSheet.cpp:
326         (WebCore::CSSStyleSheet::addNamespace):
327         (WebCore::CSSStyleSheet::determineNamespace):
328
329 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
330
331         Reviewed by Timothy Hatcher.
332
333         Web Inspector: Escape key in the Search Field should be more User Friendly
334         https://bugs.webkit.org/show_bug.cgi?id=32005
335
336         * inspector/front-end/inspector.js:
337         (WebInspector.loaded): add mousedown listener on the search field
338         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
339         (WebInspector.searchKeyDown): handle escape
340
341 2009-12-01  Dave Hyatt  <hyatt@apple.com>
342
343         Reviewed by David Kilzer.
344
345         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
346         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
347
348         Added fast/css/namespaces-comments.xml
349
350         * css/CSSGrammar.y:
351
352 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
353
354         Reviewed by Timothy Hatcher.
355
356         Reloading WebInspector from context menu is closing it instead of reloading.
357         https://bugs.webkit.org/show_bug.cgi?id=32004
358
359         When reloading WebInspector, don't delete its m_page.
360
361         * inspector/InspectorController.cpp:
362         (WebCore::InspectorController::close):
363
364 2009-12-01  Steve Block  <steveblock@google.com>
365
366         Reviewed by Dimitri Glazkov.
367
368         Adds V8 bindings for Geolocation.
369         https://bugs.webkit.org/show_bug.cgi?id=30206
370
371         Also adds Geolocation files to Chrome build files.
372
373         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
374         * WebCore.gypi: Modified. Adds Geolocation files.
375         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
376         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
377         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
378         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
379         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
380         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
381         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
382         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
383         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
384         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
385         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
386         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
387         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
388         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
389         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
390         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
391         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
392         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
393         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
394         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
395         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
396         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
397         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
398
399 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
400
401         Reviewed by Adam Barth.
402
403         Provide a way to get ScriptState for the inspected page.
404
405         https://bugs.webkit.org/show_bug.cgi?id=32020
406
407         * bindings/v8/ScriptController.cpp:
408         (WebCore::ScriptController::mainWorldScriptState):
409         * bindings/v8/ScriptController.h:
410         * bindings/v8/ScriptState.cpp:
411         (WebCore::scriptStateFromPage):
412
413 2009-12-01  Chris Marrin  <cmarrin@apple.com>
414
415         Reviewed by Adam Roben.
416
417         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
418         https://bugs.webkit.org/show_bug.cgi?id=30778
419
420         * platform/graphics/mac/GraphicsContext3DMac.cpp:
421         (WebCore::GraphicsContext3D::getProgramInfoLog):
422         (WebCore::GraphicsContext3D::getShaderInfoLog):
423         (WebCore::GraphicsContext3D::getShaderSource):
424         (WebCore::imageToTexture):
425
426 2009-12-01  Mads Ager  <ager@chromium.org>
427
428         Reviewed by Eric Seidel.
429
430         [V8] Don't crash in DOMWindow event getter in OOM situations
431         https://bugs.webkit.org/show_bug.cgi?id=32017
432
433         Add missing null handle checks in DOMWindow event property
434         accessors.  V8Proxy::context(frame) can return a null handle in
435         OOM situations either if failing to initialize a context or if an
436         OOM is handled gracefully and javascript is disabled.
437
438         No new tests because we don't have a good way to test
439         out-of-memory bugs.
440
441         * bindings/v8/custom/V8DOMWindowCustom.cpp:
442         (WebCore::ACCESSOR_GETTER):
443         (WebCore::ACCESSOR_SETTER):
444
445 2009-12-01  Chris Marrin  <cmarrin@apple.com>
446
447         Reviewed by Oliver Hunt.
448
449         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
450         https://bugs.webkit.org/show_bug.cgi?id=31672
451
452         * html/HTMLCanvasElement.cpp:
453         (WebCore::HTMLCanvasElement::getContext):
454
455 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
456
457         Not reviewed: chromium build fix, added missing import.
458
459         * inspector/InspectorFrontendHost.cpp:
460
461 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
462
463         Not reviewed: fix windows build via unexcluding generated files from
464         project.
465
466         * WebCore.vcproj/WebCore.vcproj:
467
468 2009-12-01  Mark Rowe  <mrowe@apple.com>
469
470         Stop copying IDL files in to the WebCore framework wrapper.
471
472         * WebCore.xcodeproj/project.pbxproj:
473
474 2009-12-01  Mark Rowe  <mrowe@apple.com>
475
476         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
477
478         This was probably broken by hand-editing the project file as Xcode itself
479         knows how to keep project files to a backwards-compatible subset of its format.
480
481         * WebCore.xcodeproj/project.pbxproj:
482
483 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
484
485         Not reviewed: windows build fix (bad vcproj in r51528).
486
487         * WebCore.vcproj/WebCore.vcproj:
488
489 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
490
491         Reviewed by Timothy Hatcher.
492
493         Web Inspector: Split InspectorBackend into three parts: backend,
494         injected script host and frontend host.
495         
496         https://bugs.webkit.org/show_bug.cgi?id=31888
497
498         * DerivedSources.make:
499         * GNUmakefile.am:
500         * WebCore.gypi:
501         * WebCore.pro:
502         * WebCore.vcproj/WebCore.vcproj:
503         * WebCore.xcodeproj/project.pbxproj:
504         * WebCoreSources.bkl:
505         * bindings/js/JSBindingsAllInOne.cpp:
506         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
507         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
508         (WebCore::JSInspectorFrontendHost::search):
509         (WebCore::JSInspectorFrontendHost::setting):
510         (WebCore::JSInspectorFrontendHost::setSetting):
511         * bindings/js/ScriptObject.cpp:
512         (WebCore::ScriptGlobalObject::set):
513         * bindings/js/ScriptObject.h:
514         * bindings/v8/DOMObjectsInclude.h:
515         * bindings/v8/DerivedSourcesAllInOne.cpp:
516         * bindings/v8/ScriptObject.cpp:
517         (WebCore::ScriptGlobalObject::set):
518         * bindings/v8/ScriptObject.h:
519         * bindings/v8/V8Index.cpp:
520         * bindings/v8/V8Index.h:
521         * bindings/v8/custom/V8CustomBinding.h:
522         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
523         (WebCore::CALLBACK_FUNC_DECL):
524         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
525         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
526         (WebCore::CALLBACK_FUNC_DECL):
527         * inspector/InjectedScriptHost.cpp: Added.
528         (WebCore::InjectedScriptHost::InjectedScriptHost):
529         (WebCore::InjectedScriptHost::~InjectedScriptHost):
530         (WebCore::InjectedScriptHost::copyText):
531         (WebCore::InjectedScriptHost::nodeForId):
532         (WebCore::InjectedScriptHost::wrapObject):
533         (WebCore::InjectedScriptHost::unwrapObject):
534         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
535         (WebCore::InjectedScriptHost::addNodesToSearchResult):
536         (WebCore::InjectedScriptHost::currentCallFrame):
537         (WebCore::InjectedScriptHost::databaseForId):
538         (WebCore::InjectedScriptHost::selectDatabase):
539         (WebCore::InjectedScriptHost::selectDOMStorage):
540         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
541         (WebCore::InjectedScriptHost::inspectorDOMAgent):
542         (WebCore::InjectedScriptHost::inspectorFrontend):
543         * inspector/InjectedScriptHost.h: Added.
544         (WebCore::InjectedScriptHost::create):
545         (WebCore::InjectedScriptHost::inspectorController):
546         (WebCore::InjectedScriptHost::disconnectController):
547         * inspector/InjectedScriptHost.idl: Added.
548         * inspector/InspectorBackend.cpp:
549         (WebCore::InspectorBackend::InspectorBackend):
550         (WebCore::InspectorBackend::storeLastActivePanel):
551         (WebCore::InspectorBackend::toggleNodeSearch):
552         (WebCore::InspectorBackend::resourceTrackingEnabled):
553         (WebCore::InspectorBackend::debuggerEnabled):
554         (WebCore::InspectorBackend::enableDebugger):
555         (WebCore::InspectorBackend::disableDebugger):
556         (WebCore::InspectorBackend::addBreakpoint):
557         (WebCore::InspectorBackend::updateBreakpoint):
558         (WebCore::InspectorBackend::removeBreakpoint):
559         (WebCore::InspectorBackend::pauseInDebugger):
560         (WebCore::InspectorBackend::resumeDebugger):
561         (WebCore::InspectorBackend::stepOverStatementInDebugger):
562         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
563         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
564         (WebCore::InspectorBackend::pauseOnExceptions):
565         (WebCore::InspectorBackend::setPauseOnExceptions):
566         (WebCore::InspectorBackend::profilerEnabled):
567         (WebCore::InspectorBackend::enableProfiler):
568         (WebCore::InspectorBackend::disableProfiler):
569         (WebCore::InspectorBackend::startProfiling):
570         (WebCore::InspectorBackend::stopProfiling):
571         (WebCore::InspectorBackend::getProfileHeaders):
572         (WebCore::InspectorBackend::getProfile):
573         (WebCore::InspectorBackend::currentCallFrame):
574         (WebCore::InspectorBackend::highlightDOMNode):
575         (WebCore::InspectorBackend::hideDOMNodeHighlight):
576         (WebCore::InspectorBackend::getCookies):
577         (WebCore::InspectorBackend::deleteCookie):
578         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
579         (WebCore::InspectorBackend::nodeForId):
580         * inspector/InspectorBackend.h:
581         (WebCore::InspectorBackend::create):
582         * inspector/InspectorBackend.idl:
583         * inspector/InspectorController.cpp:
584         (WebCore::InspectorController::InspectorController):
585         (WebCore::InspectorController::~InspectorController):
586         (WebCore::InspectorController::inspectedPageDestroyed):
587         (WebCore::InspectorController::windowScriptObjectAvailable):
588         * inspector/InspectorController.h:
589         (WebCore::InspectorController::inspectorFrontendHost):
590         (WebCore::InspectorController::injectedScriptHost):
591         * inspector/InspectorFrontendHost.cpp: Added.
592         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
593         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
594         (WebCore::InspectorFrontendHost::loaded):
595         (WebCore::InspectorFrontendHost::attach):
596         (WebCore::InspectorFrontendHost::detach):
597         (WebCore::InspectorFrontendHost::closeWindow):
598         (WebCore::InspectorFrontendHost::windowUnloading):
599         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
600         (WebCore::InspectorFrontendHost::moveWindowBy):
601         (WebCore::InspectorFrontendHost::localizedStringsURL):
602         (WebCore::InspectorFrontendHost::hiddenPanels):
603         (WebCore::InspectorFrontendHost::platform):
604         (WebCore::InspectorFrontendHost::port):
605         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
606         (WebCore::InspectorFrontendHost::addSourceToFrame):
607         * inspector/InspectorFrontendHost.h: Added.
608         (WebCore::InspectorFrontendHost::create):
609         (WebCore::InspectorFrontendHost::inspectorController):
610         (WebCore::InspectorFrontendHost::disconnectController):
611         * inspector/InspectorFrontendHost.idl: Added.
612         * inspector/front-end/Breakpoint.js:
613         (WebInspector.Breakpoint.prototype.set condition):
614         * inspector/front-end/BreakpointsSidebarPane.js:
615         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
616         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
617         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
618         * inspector/front-end/ConsoleView.js:
619         (WebInspector.ConsoleView.prototype.clearMessages):
620         * inspector/front-end/CookieItemsView.js:
621         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
622         * inspector/front-end/DOMAgent.js:
623         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
624         (WebInspector.DOMAgent.prototype.setAttributeAsync):
625         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
626         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
627         (WebInspector.Cookies.getCookiesAsync):
628         (WebInspector.EventListeners.getEventListenersForNodeAsync):
629         * inspector/front-end/DOMStorage.js:
630         (WebInspector.DOMStorage.prototype.getEntries):
631         (WebInspector.DOMStorage.prototype.setItem):
632         (WebInspector.DOMStorage.prototype.removeItem):
633         * inspector/front-end/Database.js:
634         (WebInspector.Database.prototype.getTableNames):
635         * inspector/front-end/ElementsPanel.js:
636         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
637         (WebInspector.ElementsPanel.prototype.hide):
638         (WebInspector.ElementsPanel.prototype.reset):
639         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
640         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
641         * inspector/front-end/ElementsTreeOutline.js:
642         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
643         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
644         ():
645         * inspector/front-end/EventListenersSidebarPane.js:
646         (WebInspector.EventListenersSidebarPane.prototype):
647         * inspector/front-end/InjectedScript.js:
648         (InjectedScript._evaluateAndWrap):
649         (InjectedScript.performSearch.addNodesToResults):
650         (InjectedScript.getCallFrames):
651         (InjectedScript._callFrameForId):
652         (InjectedScript._clearConsoleMessages):
653         (InjectedScript._inspectObject):
654         (InjectedScript._copy):
655         (InjectedScript._ensureCommandLineAPIInstalled):
656         (InjectedScript._window):
657         (InjectedScript._nodeForId):
658         (InjectedScript._objectForId):
659         (InjectedScript.pushNodeToFrontend):
660         (InjectedScript.executeSql):
661         (InjectedScript.executeSql.errorCallback):
662         (InjectedScript.executeSql.queryTransaction):
663         * inspector/front-end/InjectedScriptAccess.js:
664         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
665         (InjectedScriptAccess._installHandler):
666         * inspector/front-end/InspectorBackendStub.js: Added.
667         (.WebInspector.InspectorBackendStub):
668         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
669         (.WebInspector.InspectorBackendStub.prototype.platform):
670         (.WebInspector.InspectorBackendStub.prototype.port):
671         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
672         (.WebInspector.InspectorBackendStub.prototype.attach):
673         (.WebInspector.InspectorBackendStub.prototype.detach):
674         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
675         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
676         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
677         (.WebInspector.InspectorBackendStub.prototype.search):
678         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
679         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
680         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
681         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
682         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
683         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
684         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
685         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
686         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
687         (.WebInspector.InspectorBackendStub.prototype.loaded):
688         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
689         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
690         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
691         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
692         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
693         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
694         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
695         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
696         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
697         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
698         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
699         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
700         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
701         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
702         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
703         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
704         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
705         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
706         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
707         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
708         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
709         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
710         (.WebInspector.InspectorBackendStub.prototype.getProfile):
711         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
712         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
713         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
714         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
715         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
716         (.WebInspector.InspectorBackendStub.prototype.setSetting):
717         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
718         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
719         (.WebInspector.InspectorBackendStub.prototype.setting):
720         * inspector/front-end/InspectorControllerStub.js:
721         * inspector/front-end/InspectorFrontendHostStub.js: Added.
722         (.WebInspector.InspectorFrontendHostStub):
723         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
724         (.WebInspector.InspectorFrontendHostStub.prototype.port):
725         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
726         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
727         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
728         (.WebInspector.InspectorFrontendHostStub.prototype.search):
729         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
730         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
731         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
732         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
733         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
734         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
735         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
736         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
737         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
738         * inspector/front-end/ProfileView.js:
739         (WebInspector.CPUProfileView):
740         (WebInspector.CPUProfileType.prototype.buttonClicked):
741         * inspector/front-end/ProfilesPanel.js:
742         (WebInspector.ProfilesPanel.prototype._updateInterface):
743         (WebInspector.ProfilesPanel.prototype._enableProfiling):
744         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
745         * inspector/front-end/ResourcesPanel.js:
746         (WebInspector.ResourcesPanel.prototype.reset):
747         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
748         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
749         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
750         * inspector/front-end/ScriptView.js:
751         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
752         * inspector/front-end/ScriptsPanel.js:
753         (WebInspector.ScriptsPanel.prototype.show):
754         (WebInspector.ScriptsPanel.prototype.addScript):
755         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
756         (WebInspector.ScriptsPanel.prototype.reset):
757         (WebInspector.ScriptsPanel.prototype.canShowResource):
758         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
759         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
760         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
761         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
762         (WebInspector.ScriptsPanel.prototype._enableDebugging):
763         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
764         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
765         (WebInspector.ScriptsPanel.prototype._togglePause):
766         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
767         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
768         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
769         * inspector/front-end/SourceView.js:
770         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
771         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
772         (WebInspector.SourceView.prototype.performSearch):
773         * inspector/front-end/StylesSidebarPane.js:
774         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
775         * inspector/front-end/TestController.js:
776         (WebInspector.TestController.prototype.notifyDone):
777         * inspector/front-end/TimelinePanel.js:
778         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
779         * inspector/front-end/WatchExpressionsSidebarPane.js:
780         (WebInspector.WatchExpressionsSection.prototype.update):
781         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
782         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
783         * inspector/front-end/WebKit.qrc:
784         * inspector/front-end/inspector.html:
785         * inspector/front-end/inspector.js:
786         (WebInspector.pendingDispatches.0.get platform):
787         (WebInspector.get port):
788         (WebInspector.set currentPanel):
789         (WebInspector._createPanels):
790         (WebInspector._loadPreferences):
791         (WebInspector.set attached):
792         (WebInspector._updateHoverHighlight):
793         (WebInspector.loaded):
794         (windowLoaded):
795         (WebInspector.windowUnload):
796         (WebInspector.close):
797         (WebInspector.toolbarDrag):
798         (WebInspector.UIString):
799
800 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
801
802         Reviewed by Dan Bernstein.
803
804         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
805         https://bugs.webkit.org/show_bug.cgi?id=23264
806         css2.1/t1205-c565-list-pos-00-b.html is failing
807         https://bugs.webkit.org/show_bug.cgi?id=23263
808
809         Ignore whitespaces after list markers.
810         Rendering of this was already done for the case where inside=false.
811         This fixes the rendering of inside=true case and calcInlinePrefWidths.
812
813         Test: fast/lists/calc-width-with-space.html
814
815         * rendering/RenderBlock.cpp:
816         (WebCore::RenderBlock::calcInlinePrefWidths):
817         * rendering/RenderBlockLineLayout.cpp:
818         (WebCore::RenderBlock::findNextLineBreak):
819
820 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
821
822         Unreviewed Chromium build fix introduced by r51212
823
824         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
825         as the first argument.
826         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
827         Add debuggerWorld() and pluginWorld() in ScriptState.h.
828
829         * bindings/v8/ScriptController.cpp:
830         * bindings/v8/ScriptController.h:
831         * bindings/v8/ScriptState.cpp:
832         (WebCore::scriptStateFromNode):
833         (WebCore::scriptStateFromPage):
834         (WebCore::mainThreadNormalWorld):
835         * bindings/v8/ScriptState.h:
836         (WebCore::debuggerWorld):
837         (WebCore::pluginWorld):
838
839 2009-11-30  Enrica Casucci  <enrica@apple.com>
840
841         Reviewed by Darin Adler.
842
843         Can focus but not type into content editable block that contains only non-editable content.
844         <rdar://problem/5982901>
845         https://bugs.webkit.org/show_bug.cgi?id=31750
846         
847         The goal is to change the way we choose a visible position
848         after hit detection, by preferring a visually equivalent editable
849         position if available. By doing this, it is possible to add content
850         to an editable block that initially contains only non editable elements.
851
852         Test: editing/selection/mixed-editability-10.html
853
854         * WebCore.base.exp: Changed to match the new signature of downstream
855         and upstream in the Position class.
856         * dom/Position.cpp:
857         (WebCore::Position::atEditingBoundary): Added.
858         (WebCore::Position::upstream): Modified to allow to cross the boundary
859         between editable and non editable content if required.
860         (WebCore::Position::downstream): Modified to allow to cross the boundary
861         between editable and non editable content if required.
862         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
863         that are at the editability boundary.
864         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
865         to be used in calculating the caret rectangle.
866         * dom/Position.h:
867         (WebCore::Position::):
868         * dom/PositionIterator.cpp:
869         (WebCore::PositionIterator::atEditingBoundary): Added.
870         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
871         that are at the editability boundary.
872         * dom/PositionIterator.h:
873         * editing/htmlediting.cpp:
874         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
875         descendants of the editable container, but the container itself.
876         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
877         descendants of the editable container, but the container itself.
878         * rendering/RenderObject.cpp:
879         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
880         if available.
881         * rendering/RenderText.cpp:
882         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
883         * rendering/RenderText.h:
884
885 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
886
887         wx build fix, add header needed for wx build.
888
889         * css/CSSFontFaceSrcValue.cpp:
890
891 2009-11-30  Mark Rowe  <mrowe@apple.com>
892
893         Reviewed by David Kilzer.
894
895         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
896
897         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
898         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
899         be performed against the x86_64 architecture.
900
901         * DerivedSources.make:
902
903 2009-11-30  Beth Dakin  <bdakin@apple.com>
904
905         Reviewed by Oliver Hunt.
906
907         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
908         Safari caused by extreme column-gap and column-width values 
909         -and corresponding-
910         <rdar://problem/7425433>
911
912         Prevent desiredColumnCount from being less than 1 since it is used 
913         as a divisor.
914         * rendering/RenderBlock.cpp:
915         (WebCore::RenderBlock::calcColumnWidth):
916
917 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
918
919         Reviewed by Oliver Hunt.
920
921         https://bugs.webkit.org/show_bug.cgi?id=31659
922         Connection must be closed in case of Web Socket handshake error
923
924         The network connection was closed, but the close event wasn't dispatched.
925
926         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
927
928         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
929         Call client didHandle() method. This looks strange in CFNetwork implementation, because
930         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
931         more sense in cross-process implementation, because closing is async there.
932
933 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
934
935         Reviewed by Geoff Garen.
936
937         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
938
939         WebCore presently has to explicitly specify the world before entering into JSC,
940         which is a little fragile (particularly since property access via a
941         getter/setter might invoke execution). Instead derive the current world from
942         the lexical global object.
943
944         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
945         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
946         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
947         are no longer necessary.
948
949         * WebCore.base.exp:
950         * bindings/js/JSCallbackData.cpp:
951         (WebCore::JSCallbackData::invokeCallback):
952         * bindings/js/JSCallbackData.h:
953         (WebCore::JSCallbackData::JSCallbackData):
954         * bindings/js/JSCustomXPathNSResolver.cpp:
955         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
956         * bindings/js/JSDOMBinding.cpp:
957         (WebCore::currentWorld):
958         (WebCore::mainThreadNormalWorld):
959         * bindings/js/JSDOMBinding.h:
960         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
961         * bindings/js/JSDOMWindowBase.cpp:
962         (WebCore::JSDOMWindowBase::updateDocument):
963         * bindings/js/JSDOMWindowBase.h:
964         * bindings/js/JSEventListener.cpp:
965         (WebCore::JSEventListener::handleEvent):
966         (WebCore::JSEventListener::reportError):
967         * bindings/js/JSHTMLDocumentCustom.cpp:
968         (WebCore::JSHTMLDocument::open):
969         * bindings/js/JSNodeFilterCondition.cpp:
970         (WebCore::JSNodeFilterCondition::acceptNode):
971         * bindings/js/JSQuarantinedObjectWrapper.cpp:
972         (WebCore::JSQuarantinedObjectWrapper::construct):
973         (WebCore::JSQuarantinedObjectWrapper::call):
974         * bindings/js/ScheduledAction.cpp:
975         (WebCore::ScheduledAction::executeFunctionInContext):
976         * bindings/js/ScriptController.cpp:
977         (WebCore::ScriptController::evaluateInWorld):
978         (WebCore::ScriptController::initScript):
979         (WebCore::ScriptController::updateDocument):
980         * bindings/js/ScriptFunctionCall.cpp:
981         (WebCore::ScriptFunctionCall::call):
982         (WebCore::ScriptFunctionCall::construct):
983         * bindings/js/ScriptObjectQuarantine.cpp:
984         (WebCore::getQuarantinedScriptObject):
985         * bindings/js/ScriptState.cpp:
986         (WebCore::scriptStateFromNode):
987         (WebCore::scriptStateFromPage):
988         * bindings/js/ScriptState.h:
989         * bindings/js/WorkerScriptController.cpp:
990         (WebCore::WorkerScriptController::evaluate):
991         * bindings/objc/WebScriptObject.mm:
992         (-[WebScriptObject callWebScriptMethod:withArguments:]):
993         (-[WebScriptObject evaluateWebScript:]):
994         * bridge/NP_jsobject.cpp:
995         (_NPN_InvokeDefault):
996         (_NPN_Invoke):
997         (_NPN_Evaluate):
998         (_NPN_Construct):
999         * bridge/jni/jni_jsobject.mm:
1000         (JavaJSObject::call):
1001         (JavaJSObject::eval):
1002         * dom/NodeFilter.h:
1003         (WebCore::NodeFilter::acceptNode):
1004         * dom/NodeIterator.h:
1005         (WebCore::NodeIterator::nextNode):
1006         (WebCore::NodeIterator::previousNode):
1007         * dom/TreeWalker.h:
1008         (WebCore::TreeWalker::parentNode):
1009         (WebCore::TreeWalker::firstChild):
1010         (WebCore::TreeWalker::lastChild):
1011         (WebCore::TreeWalker::previousSibling):
1012         (WebCore::TreeWalker::nextSibling):
1013         (WebCore::TreeWalker::previousNode):
1014         (WebCore::TreeWalker::nextNode):
1015         * inspector/InspectorController.cpp:
1016         (WebCore::InspectorController::windowScriptObjectAvailable):
1017         (WebCore::InspectorController::didEvaluateForTestInFrontend):
1018         * inspector/JavaScriptCallFrame.cpp:
1019         (WebCore::JavaScriptCallFrame::evaluate):
1020
1021 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
1022
1023         Reviewed by Simon Fraser.
1024
1025         All HTML5 media element events should be regular events
1026         https://bugs.webkit.org/show_bug.cgi?id=30513
1027
1028         * html/HTMLMediaElement.cpp:
1029         (WebCore::HTMLMediaElement::selectMediaResource):
1030         (WebCore::HTMLMediaElement::noneSupported):
1031         (WebCore::HTMLMediaElement::mediaEngineError):
1032         (WebCore::HTMLMediaElement::setNetworkState):
1033         (WebCore::HTMLMediaElement::userCancelledLoad):
1034             Call scheduleEvent instead of scheduleProgressEvent.
1035         (WebCore::HTMLMediaElement::progressEventTimerFired):
1036             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
1037             after scheduling a 'progress' event so the controller will update download
1038             progress indicator.
1039         * html/HTMLMediaElement.h:
1040             Remove scheduleProgressEvent prototype.
1041
1042 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
1043
1044         Reviewed by Pavel Feldman.
1045
1046         Web Inspector: Wrong console output for Regexp escape sequence
1047         https://bugs.webkit.org/show_bug.cgi?id=31538
1048
1049         Updated inspector/console-format.html
1050
1051         * inspector/front-end/ConsoleView.js:
1052         (WebInspector.ConsoleView.createDividerElement): style issues.
1053         (WebInspector.ConsoleView.createFilterElement): style issues.
1054         (WebInspector.ConsoleView): added _customFormatters table.
1055         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
1056         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
1057         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
1058         (WebInspector.ConsoleView.prototype._formatobject):
1059         (WebInspector.ConsoleView.prototype._formatnode):
1060         (WebInspector.ConsoleView.prototype._printArray):
1061         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
1062         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
1063         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
1064         (WebInspector.ConsoleCommandResult):
1065         * inspector/front-end/InjectedScript.js: simplified regex formatting.
1066         * inspector/front-end/inspector.js:
1067         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
1068         * inspector/front-end/utilities.js: 
1069         (Element.prototype.hasStyleClass): update inaccurate comment.
1070         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
1071
1072 2009-11-30  Erik Arvidsson  <arv@chromium.org>
1073
1074         Reviewed by Adam Barth.
1075
1076         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
1077         https://bugs.webkit.org/show_bug.cgi?id=31895
1078
1079         No new tests. This is already covered by:
1080                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
1081                 fast/dom/CSSStyleDeclaration/css-style-item.html
1082
1083         * bindings/v8/V8Collection.h:
1084         (WebCore::collectionStringIndexedPropertyGetter):
1085         (WebCore::setCollectionStringIndexedGetter):
1086         * bindings/v8/V8DOMWrapper.cpp:
1087         (WebCore::V8DOMWrapper::getTemplate):
1088
1089 2009-11-30  Steve Block  <steveblock@google.com>
1090
1091         Reviewed by Eric Seidel.
1092
1093         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
1094         https://bugs.webkit.org/show_bug.cgi?id=31932
1095
1096         Build fix only, no new tests.
1097
1098         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
1099
1100 2009-11-30  Steve Block  <steveblock@google.com>
1101
1102         Reviewed by Eric Seidel.
1103
1104         Adds PassOwnPtr include to ScriptExecutionContext.h.
1105         https://bugs.webkit.org/show_bug.cgi?id=31929
1106
1107         Build fix only, no new tests.
1108
1109         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
1110
1111 2009-11-30  Dirk Schulze  <krit@webkit.org>
1112
1113         Reviewed by Nikolas Zimmermann.
1114
1115         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
1116         [https://bugs.webkit.org/show_bug.cgi?id=31980]
1117
1118         It turns out, that we did not handle maskUnits="userSpaceOnUse"
1119         correctly. We just need to move the context of the maskImage
1120         if maskContentUnits="objectBoundingBox". The context gets scaled
1121         on this unit combination, so we have to substract the position of
1122         the targetRect. On userSpaceOnUse the position just depends on the
1123         position of the mask element.
1124         I added a test with some senseless and reasonable values for size
1125         and postion of the mask and it's contents. I also used every
1126         combination of maskUnits and maskContentUnits to be sure, that it
1127         is fixed this time.
1128
1129         Test: svg/custom/mask-with-all-units.svg
1130
1131         * svg/SVGMaskElement.cpp:
1132         (WebCore::SVGMaskElement::drawMaskerContent):
1133
1134 2009-11-30  Steve Block  <steveblock@google.com>
1135
1136         Reviewed by Eric Seidel.
1137
1138         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
1139         https://bugs.webkit.org/show_bug.cgi?id=31928
1140
1141         Build fix only, no new tests.
1142
1143         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
1144
1145 2009-11-30  Steve Block  <steveblock@google.com>
1146
1147         Reviewed by Eric Seidel.
1148
1149         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
1150         https://bugs.webkit.org/show_bug.cgi?id=31926
1151
1152         Build fix only, no new tests.
1153
1154         * bindings/v8/WorkerContextExecutionProxy.cpp:
1155         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1156         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1157         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1158
1159 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
1160
1161         Reviewed by Kenneth Rohde Christiansen.
1162
1163         Chrome::contentsSizeChanged() is called when the content size has not changed
1164         https://bugs.webkit.org/show_bug.cgi?id=31978
1165
1166         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
1167
1168         * page/FrameView.cpp:
1169         (WebCore::FrameView::setContentsSize):
1170
1171 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1172
1173         Reviewed by Kenneth Rohde Christiansen.
1174
1175         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
1176         https://bugs.webkit.org/show_bug.cgi?id=31962
1177
1178         No new tests as there is no functional change.
1179
1180         * platform/network/ResourceHandle.h: Make destructor virtual as 
1181         after r50772 ResourceHandle has virtual functions.
1182
1183         * plugins/mac/PluginPackageMac.cpp: 
1184         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
1185         not a label
1186
1187         * plugins/mac/PluginViewMac.cpp:
1188         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
1189         specifier
1190
1191 2009-11-30  Xan Lopez  <xlopez@igalia.com>
1192
1193         Reviewed by Gustavo Noronha.
1194
1195         Add new headers to sources list.
1196
1197         * GNUmakefile.am:
1198
1199 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
1200
1201         Reviewed by Holger Freyther.
1202
1203         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
1204         
1205         Flash expects the value in record.where to be the global position for
1206         displaying the context menu.
1207         
1208         https://bugs.webkit.org/show_bug.cgi?id=31979
1209
1210         * plugins/mac/PluginViewMac.cpp:
1211         (WebCore::PluginView::handleMouseEvent):
1212
1213 2009-11-30  Steve Block  <steveblock@google.com>
1214
1215         Reviewed by Eric Seidel.
1216
1217         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
1218         https://bugs.webkit.org/show_bug.cgi?id=31925
1219
1220         This code uses ChromiumBridge and Chromium-specific constant values not
1221         appropriate for other platforms such as Android.
1222
1223         Build fix only, no new tests.
1224
1225         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
1226
1227 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
1228
1229         Build fix.
1230
1231         Correct draw signature used in ImageCairoWin.cpp.
1232
1233         * platform/graphics/win/ImageCairoWin.cpp:
1234         (WebCore::BitmapImage::getHBITMAPOfSize):
1235         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1236
1237 2009-11-28  Oliver Hunt  <oliver@apple.com>
1238
1239         Reviewed by Sam Weinig.
1240
1241         postMessage should serialize File objects
1242         https://bugs.webkit.org/show_bug.cgi?id=31955
1243
1244         Update SerializedScriptValue to include support for
1245         File objects in the serialized object graph.
1246
1247         * bindings/js/SerializedScriptValue.cpp:
1248         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
1249         (WebCore::SerializingTreeWalker::convertIfTerminal):
1250         (WebCore::DeserializingTreeWalker::convertIfTerminal):
1251         * bindings/js/SerializedScriptValue.h:
1252         (WebCore::SerializedScriptValueData::):
1253         (WebCore::SerializedScriptValueData::asString):
1254
1255 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
1256
1257         Reviewed by Dan Bernstein.
1258
1259         Optimize the hierarchy rebuilding of compositing layers
1260         https://bugs.webkit.org/show_bug.cgi?id=31879
1261         
1262         When updating the compositing layer hierarchy, instead of removing all
1263         child layers and then re-adding them one by one, build a vector of child
1264         layers, and set them in one go.
1265         
1266         * platform/graphics/GraphicsLayer.h:
1267         * platform/graphics/GraphicsLayer.cpp:
1268         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
1269         GraphicsLayers.
1270         
1271         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
1272         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
1273         * platform/graphics/mac/GraphicsLayerCA.mm: 
1274         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
1275         set the bit that notes that sublayers changed.
1276         * platform/graphics/win/GraphicsLayerCACF.cpp:
1277         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
1278         udpate sublayers, with a note that this is not efficient.
1279         
1280         * rendering/RenderLayerCompositor.h:
1281         * rendering/RenderLayerCompositor.cpp:
1282         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1283         When updating compositing layers, use the faster updateLayerTreeGeometry() if
1284         we know that no layer hierarchy changes are needed, and, at the root, use
1285         the vector returned from rebuildCompositingLayerTree() to attach the root
1286         layer.
1287         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
1288         collect child layers into Vectors of GraphicsLayers, which can be set as
1289         layer children in one go.
1290         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
1291         rebuildCompositingLayerTree() for simplicity, and called when we just need to
1292         update layer geometry, without doing any reparenting.
1293
1294 2009-11-29  Daniel Bates  <dbates@webkit.org>
1295
1296         Reviewed by Adam Barth.
1297
1298         https://bugs.webkit.org/show_bug.cgi?id=31971
1299
1300         Updated comment to reflect latest XSSAuditor bindings.
1301
1302         No functionality was changed. So, no new tests.
1303
1304         * page/XSSAuditor.h:
1305
1306 2009-11-29  Daniel Bates  <dbates@webkit.org>
1307
1308         Reviewed by Eric Seidel.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=31969
1311
1312         Removes unnecessary #include files.
1313
1314         No functionality was changed. So, no new tests.
1315
1316         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
1317         Pair.h
1318         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
1319         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
1320         * css/CSSFontSelector.cpp: Removed include NodeList.h
1321         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
1322         * css/CSSImageValue.cpp: Removed include RenderStyle.h
1323         * css/CSSImportRule.cpp: Removed include MediaList.h
1324         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
1325         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
1326         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
1327         CSSFontFaceSource.h, and CSSProperty.h
1328         * page/EventSource.h: Removed include EventListener.h
1329
1330 2009-11-29  Daniel Bates  <dbates@webkit.org>
1331
1332         Reviewed by Eric Seidel.
1333
1334         https://bugs.webkit.org/show_bug.cgi?id=31965
1335
1336         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
1337         forward declared it.
1338
1339         As a side effect, we need to #include KeyframeList.h in
1340         RenderLayerBacking.cpp.
1341
1342         No functionality was changed. So, no new tests.
1343
1344         * css/CSSStyleSelector.cpp:
1345         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
1346         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
1347
1348 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
1349
1350         Reviewed by Eric Seidel.
1351
1352         Continue to search for matching node in the case where multiple nodes
1353         have the same id.
1354         https://bugs.webkit.org/show_bug.cgi?id=31428
1355
1356         Test: fast/dom/Element/id-in-node-list-index01.html
1357
1358         * dom/DynamicNodeList.cpp:
1359         (WebCore::DynamicNodeList::itemWithName):
1360
1361 2009-11-29  Daniel Bates  <dbates@webkit.org>
1362
1363         Reviewed by Eric Seidel.
1364
1365         https://bugs.webkit.org/show_bug.cgi?id=31966
1366
1367         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
1368         forward declared it.
1369
1370         No functionality was changed. So, no new tests.
1371
1372         * page/animation/KeyframeAnimation.cpp:
1373         * page/animation/KeyframeAnimation.h:
1374
1375 2009-11-29  Daniel Bates  <dbates@webkit.org>
1376
1377         Unreviewed, fix change log entry date.
1378
1379         For some reason, bugzilla-tool did not update the date in the change
1380         log entry for my last commit (r51468). So, this commit fixes the date
1381         of that entry.
1382
1383 2009-11-29  Daniel Bates  <dbates@webkit.org>
1384
1385         Reviewed by Dan Bernstein.
1386
1387         https://bugs.webkit.org/show_bug.cgi?id=31964
1388
1389         Removed #include StringImpl, StyleImage. Instead, forward declared them.
1390         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
1391         since it seems we only really used it to include PassRefPtr.h.
1392
1393         No functionality was changed. So, no new tests.
1394
1395         * rendering/style/ContentData.h:
1396
1397 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
1398
1399         Reviewed by Eric Seidel.
1400
1401         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
1402         https://bugs.webkit.org/show_bug.cgi?id=31906
1403
1404         Inherits the following classes from Noncopyable because these are instantiated
1405         by 'new' and no need to be copyable:
1406
1407         class/struct name               - instantiated at: WebCore/'location'
1408
1409         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
1410         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
1411         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
1412         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
1413         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
1414         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
1415         class RenderOverflow            - rendering/RenderBox.cpp:2846
1416
1417         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
1418
1419         struct FillLayer                - css/CSSStyleSelector.cpp:197
1420         struct ShadowData               - rendering/style/ShadowData.cpp:35
1421         class CounterContent            - css/CSSStyleSelector.cpp:4111
1422
1423         * platform/ScrollbarTheme.h:
1424         * rendering/RenderOverflow.h:
1425         * rendering/RenderSelectionInfo.h:
1426         * rendering/style/CounterContent.h:
1427         * rendering/style/FillLayer.h:
1428         * rendering/style/ShadowData.h:
1429         * storage/DatabaseTracker.h:
1430         * storage/OriginUsageRecord.h:
1431         * storage/SQLTransactionClient.h:
1432         * storage/SQLTransactionCoordinator.h:
1433
1434 2009-11-28  Adam Barth  <abarth@webkit.org>
1435
1436         Reviewed by Dimitri Glazkov.
1437
1438         [Chromium] Sify compose button alerts error
1439         https://bugs.webkit.org/show_bug.cgi?id=31394
1440
1441         Test: http/tests/security/calling-versus-current.html
1442
1443         We're supposed to use the calling context for security checks.  In JSC
1444         land, this is the lexicalGlobalObject.
1445
1446         * bindings/v8/V8Proxy.cpp:
1447         (WebCore::V8Proxy::canAccessPrivate):
1448
1449 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
1450
1451         Unreviewed Chromium build fix introduced by r51428.
1452
1453         [Chromium] Ignore line-height CSS property for PushButton
1454         https://bugs.webkit.org/show_bug.cgi?id=31712
1455
1456         * rendering/RenderThemeChromiumSkia.cpp:
1457         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
1458
1459 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
1460
1461         Unreviewed Chromium test fix by reverting r51413.
1462
1463         [v8] Do not check the thread when accessing DOMDataStore
1464         https://bugs.webkit.org/show_bug.cgi?id=31877
1465
1466         * bindings/v8/V8DOMMap.cpp:
1467         (WebCore::getDOMNodeMap):
1468         (WebCore::getDOMObjectMap):
1469         (WebCore::getActiveDOMObjectMap):
1470         (WebCore::getDOMSVGElementInstanceMap):
1471         (WebCore::getDOMSVGObjectWithContextMap):
1472
1473 2009-11-27  Daniel Bates  <dbates@webkit.org>
1474
1475         Unreviewed, comment fix.
1476
1477         Corrected misspelling of the word "implemented".
1478
1479         * inspector/front-end/InjectedScriptAccess.js:
1480
1481 2009-11-27  Daniel Bates  <dbates@webkit.org>
1482
1483         Reviewed by Adam Barth.
1484
1485         https://bugs.webkit.org/show_bug.cgi?id=31940
1486
1487         Makes the error messages more descriptive when we refuse to load an object/embed or
1488         refuse to load from the document base URL.
1489
1490         * page/XSSAuditor.cpp:
1491         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
1492         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
1493
1494 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
1495
1496         Reviewed by Pavel Feldman.
1497
1498         This is a WebCore part of the fix that allows to view plugin
1499         resources loaded by plugins.
1500
1501         https://bugs.webkit.org/show_bug.cgi?id=31832
1502
1503         * inspector/InspectorController.cpp:
1504         (WebCore::InspectorController::willSendRequest):
1505         (WebCore::InspectorController::didReceiveResponse):
1506         (WebCore::InspectorController::didReceiveContentLength):
1507         (WebCore::InspectorController::didFinishLoading):
1508         (WebCore::InspectorController::didFailLoading):
1509         * inspector/InspectorController.h:
1510         * inspector/InspectorResource.cpp:
1511         (WebCore::InspectorResource::addLength):
1512         * loader/ResourceLoadNotifier.cpp:
1513         (WebCore::ResourceLoadNotifier::didFailToLoad):
1514         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1515         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1516         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1517         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1518
1519 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
1520
1521         Reviewed by Pavel Feldman.
1522
1523         Instead of generating negative identifiers for cached resources in
1524         InspectorController and extending identifier type from 'unsigned long' to 'long
1525         long' reuse progress tracker from the inspected page to generate those
1526         identifiers. It guarantees that InspectorResources have unique ids since
1527         all of them are generated by that progress tracker.
1528
1529         Added a couple new overloaded methods to Script* objects that accept
1530         long and unsigned long arguments. These types of argumens have already
1531         been passed as long long.
1532
1533         https://bugs.webkit.org/show_bug.cgi?id=31921
1534
1535         * bindings/js/ScriptFunctionCall.cpp:
1536         (WebCore::ScriptFunctionCall::appendArgument):
1537         * bindings/js/ScriptFunctionCall.h:
1538         * bindings/js/ScriptObject.cpp:
1539         (WebCore::ScriptObject::set):
1540         * bindings/js/ScriptObject.h:
1541         * bindings/v8/ScriptFunctionCall.cpp:
1542         (WebCore::ScriptFunctionCall::appendArgument):
1543         * bindings/v8/ScriptFunctionCall.h:
1544         * bindings/v8/ScriptObject.cpp:
1545         (WebCore::ScriptObject::set):
1546         * bindings/v8/ScriptObject.h:
1547         * inspector/InspectorBackend.cpp:
1548         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1549         * inspector/InspectorController.cpp:
1550         (WebCore::InspectorController::InspectorController):
1551         (WebCore::InspectorController::getTrackedResource):
1552         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
1553         * inspector/InspectorController.h:
1554         * inspector/InspectorDOMAgent.cpp:
1555         (WebCore::InspectorDOMAgent::buildObjectForNode):
1556         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1557         * inspector/InspectorFrontend.cpp:
1558         (WebCore::InspectorFrontend::addResource):
1559         (WebCore::InspectorFrontend::updateResource):
1560         (WebCore::InspectorFrontend::removeResource):
1561         (WebCore::InspectorFrontend::updateFocusedNode):
1562         * inspector/InspectorFrontend.h:
1563         * inspector/InspectorResource.cpp:
1564         (WebCore::InspectorResource::InspectorResource):
1565         (WebCore::InspectorResource::createCached):
1566         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
1567         (WebCore::InspectorResource::create):
1568         (WebCore::InspectorResource::identifier):
1569         * inspector/TimelineRecordFactory.cpp:
1570         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
1571         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
1572         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
1573
1574 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
1575
1576         Reviewed by Dan Bernstein.
1577
1578         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
1579         https://bugs.webkit.org/show_bug.cgi?id=29966
1580
1581         When an empty inline element is clicked, the root inline box has
1582         no leaf children. Use the renderer of a normal child instead.
1583
1584         This change resolves Windows port's assertion failure in a layout test.
1585         Also, this fixes the behavior when a user drags the mouse from an
1586         empty inline element to above texts.
1587
1588         Test: editing/selection/last-empty-inline.html
1589
1590         * rendering/RenderBlock.cpp:
1591         (WebCore::RenderBlock::positionForPointWithInlineChildren):
1592
1593 2009-11-26  Kent Tamura  <tkent@chromium.org>
1594
1595         Reviewed by Eric Seidel.
1596
1597         [Chromium] Ignore line-height CSS property specified to push buttons on
1598         Windows and Linux.
1599         https://bugs.webkit.org/show_bug.cgi?id=31712
1600
1601         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
1602         following controls should ignore line-height CSS property.
1603          - <select>
1604          - <input type=button>
1605          - <input type=search>
1606         This change addresses the <input type=button> issue with Chromium/Windows
1607         and Chromium/Linux.
1608         
1609         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
1610         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
1611
1612 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
1613
1614         Reviewed by Eric Seidel.
1615
1616         Remove the special charset meta tag in the clipboard so that
1617         copy-and-paste with interchange breaklines/spaces works correctly
1618         within WebKit.
1619
1620         No new tests.  Layout tests that involve copy-and-paste with
1621         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
1622         should pass on Mac/Chromium with this fix.
1623
1624         * platform/chromium/ClipboardChromium.cpp:
1625         * platform/chromium/PasteboardChromium.cpp:
1626         (WebCore::Pasteboard::documentFragment):
1627
1628 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
1629
1630         Reviewed by Eric Seidel.
1631
1632         Compile with QT_NO_WHEELEVENT defined.
1633
1634         * platform/qt/WheelEventQt.cpp:
1635         (WebCore::PlatformWheelEvent::applyDelta):
1636
1637 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1638
1639         Reviewed by Oliver Hunt.
1640
1641         Move GOwnPtr* from wtf to wtf/gtk
1642         https://bugs.webkit.org/show_bug.cgi?id=31793
1643
1644         No new tests as there is no functional change.
1645
1646         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
1647           path for GOwnPtr.h.
1648         * platform/text/TextEncoding.cpp: Ditto.
1649         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
1650
1651 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
1652
1653         Not reviewed. Build fix: revert r51421.
1654
1655         * inspector/InspectorController.cpp:
1656         (WebCore::InspectorController::willSendRequest):
1657         (WebCore::InspectorController::didReceiveResponse):
1658         (WebCore::InspectorController::didReceiveContentLength):
1659         (WebCore::InspectorController::didFinishLoading):
1660         (WebCore::InspectorController::didFailLoading):
1661         * inspector/InspectorController.h:
1662         * inspector/InspectorResource.cpp:
1663         (WebCore::InspectorResource::addLength):
1664         * loader/ResourceLoadNotifier.cpp:
1665         (WebCore::ResourceLoadNotifier::didFailToLoad):
1666         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1667         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1668         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1669         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1670
1671 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
1672
1673         Reviewed by Pavel Feldman.
1674
1675         This is a WebCore part of the fix that allows to view plugin
1676         resources loaded by plugins.
1677
1678         https://bugs.webkit.org/show_bug.cgi?id=31832
1679
1680         * inspector/InspectorController.cpp:
1681         (WebCore::InspectorController::willSendRequest):
1682         (WebCore::InspectorController::didReceiveResponse):
1683         (WebCore::InspectorController::didReceiveContentLength):
1684         (WebCore::InspectorController::didFinishLoading):
1685         (WebCore::InspectorController::didFailLoading):
1686         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
1687         * inspector/InspectorResource.cpp:
1688         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
1689         * loader/ResourceLoadNotifier.cpp:
1690         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
1691         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1692         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1693         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1694         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1695
1696 2009-11-26  Daniel Bates  <dbates@webkit.org>
1697
1698         Reviewed by Pavel Feldman.
1699
1700         https://bugs.webkit.org/show_bug.cgi?id=21554
1701
1702         Implements support for hovering over <img> src to display the height and width of that image
1703         in a tooltip. Displays both the displayable and natural dimensions of the image.
1704
1705         Test: inspector/elements-img-tooltip.html
1706
1707         * inspector/front-end/ElementsTreeOutline.js:
1708         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
1709         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
1710         (WebInspector.ElementsTreeElement.prototype._updateTitle):
1711         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
1712         * inspector/front-end/ObjectProxy.js:
1713         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
1714         * inspector/front-end/inspector.js:
1715         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
1716         (WebInspector.linkifyURL): Ditto.
1717
1718 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
1719
1720         wx build fix after drawPattern API change.
1721
1722         * platform/graphics/wx/ImageWx.cpp:
1723         (WebCore::Image::drawPattern):
1724
1725 2009-11-26  Anton Muhin  <antonm@chromium.org>
1726
1727         Reviewed by Adam Barth.
1728
1729         Use an internal field instead of hidden property to speedup lookup
1730         of entered isolated world.
1731
1732         Plus some inlinings.
1733         https://bugs.webkit.org/show_bug.cgi?id=31884
1734
1735         Covered by layout tests + manual running of some benchmarks as
1736         content scripts.
1737
1738         * bindings/v8/V8DOMWrapper.cpp:
1739         * bindings/v8/V8DOMWrapper.h:
1740         (WebCore::V8DOMWrapper::setDOMWrapper):
1741         * bindings/v8/V8HiddenPropertyName.h:
1742         * bindings/v8/V8IsolatedWorld.cpp:
1743         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
1744         * bindings/v8/V8IsolatedWorld.h:
1745         (WebCore::V8IsolatedWorld::getEntered):
1746         (WebCore::V8IsolatedWorld::getGlobalObject):
1747         * bindings/v8/custom/V8CustomBinding.h:
1748
1749 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1750
1751         Reviewed by Kenneth Rohde Christiansen.
1752
1753         [Qt] Corrects build break on Windows.
1754
1755         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
1756         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
1757
1758         * WebCore.pro:
1759         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
1760         (WebCore::findNextWordFromIndex):
1761         (WebCore::findWordBoundary):
1762
1763 2009-11-26  Anton Muhin  <antonm@chromium.org>
1764
1765         Reviewed by Adam Barth.
1766
1767         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
1768         https://bugs.webkit.org/show_bug.cgi?id=31877
1769
1770         Covered by layout tests and buildbots.
1771
1772         * bindings/v8/V8DOMMap.cpp:
1773         (WebCore::getDOMNodeMap):
1774         (WebCore::getDOMObjectMap):
1775         (WebCore::getActiveDOMObjectMap):
1776         (WebCore::getDOMSVGElementInstanceMap):
1777         (WebCore::getDOMSVGObjectWithContextMap):
1778
1779 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
1780
1781         Reviewed by Holger Freyther.
1782
1783         [Qt] Mac Plugins : Pass mouse position relative to the fake window
1784         
1785         When using off-screen rendering, we need to pass mouse events relative
1786         to the fake window instead of the global position.
1787         
1788         https://bugs.webkit.org/show_bug.cgi?id=31794
1789
1790         * plugins/mac/PluginViewMac.cpp:
1791         (WebCore::PluginView::platformStart):
1792         (WebCore::PluginView::handleMouseEvent):
1793
1794 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1795
1796         Reviewed by Eric Seidel.
1797
1798         [Qt] Use QNetworkReply::rawHeaderPairs
1799         https://bugs.webkit.org/show_bug.cgi?id=31826
1800
1801         The QNetworkReply is internally storing the HTTP headers
1802         as a list of pairs. Currently we have to ask the QNetworkReply
1803         to put all header names into a QStringList. Afterwards we will
1804         iterate over this QStringList and ask the QNetworkReply to
1805         give us the value for this header name. The current Qt implementation
1806         is doing a linear to find the header value.
1807
1808         Use a new API to directly access the list of pairs and push
1809         this into WebCore. This avoids doing some allocations and doing
1810         linear searches from within a loop.
1811
1812         * platform/network/qt/QNetworkReplyHandler.cpp:
1813         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1814
1815 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
1816
1817         Reviewed by Kenneth Rohde Christiansen.
1818
1819         [Qt] Add Qt specific information of RenderPart
1820         https://bugs.webkit.org/show_bug.cgi?id=31203
1821
1822         The WebCore::Widget of the RenderPart (RenderWidget) might be
1823         backed with a platform widget. Print both the WebCore::Widget
1824         and platform widget state. In the above bug we had a problem
1825         that the WebCore::Widget was invisible but the QWidget was
1826         visible.
1827
1828         * rendering/RenderTreeAsText.cpp:
1829         (WebCore::operator<<): Add special case for RenderPart
1830
1831 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
1832
1833         Reviewed by Kenneth Rohde Christiansen.
1834
1835         [Qt] Call Widget::setSelfVisible from hide/show
1836         https://bugs.webkit.org/show_bug.cgi?id=31203
1837
1838         Call Widget::setSelfVisible from Widget::show and
1839         Widget::hide and use isParentVisible to decide
1840         if the widget should be shown. This way client
1841         code can rely on isVisible.
1842
1843         Change PluginViewQt::show, PluginViewQt::hide to
1844         call the base class as it is doing the right thing
1845         now. Add an assert verify that platfomWidget and
1846         platformPluginWidget are the same.
1847
1848         * manual-tests/qt/qtplugin.html: Modify manual test
1849         * platform/qt/WidgetQt.cpp:
1850         (WebCore::Widget::show):
1851         (WebCore::Widget::hide):
1852         * plugins/qt/PluginViewQt.cpp:
1853         (WebCore::PluginView::show):
1854         (WebCore::PluginView::hide):
1855
1856 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1857
1858         Reviewed by Alexey Proskuryakov.
1859
1860         Fix compilation of REQUEST_DEBUG debug code
1861         https://bugs.webkit.org/show_bug.cgi?id=31850
1862
1863         In r47907 the single parameter KURL constructor to parse
1864         from a WebCore::String was replaced with a two parameter
1865         constructor. I think in this debug case parsing the urls
1866         again is no problem and I have changed the code to use the
1867         two parameter version.
1868
1869         * loader/loader.cpp:
1870         (WebCore::Loader::Host::didFinishLoading):
1871
1872 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
1873
1874         Reviewed by Pavel Feldman.
1875
1876         [V8] Avoid using JavaScript objects as context data
1877         https://bugs.webkit.org/show_bug.cgi?id=31873
1878
1879         Change the context "data" from a JavaScript object holding the two properties type and value to
1880         a string holding type and value separated by a comma.
1881
1882         * bindings/v8/V8Proxy.cpp:
1883         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1884         (WebCore::V8Proxy::setContextDebugId):
1885         (WebCore::V8Proxy::contextDebugId):
1886
1887 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
1888
1889         Reviewed by David Levin.
1890
1891         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
1892         https://bugs.webkit.org/show_bug.cgi?id=31894
1893
1894         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
1895         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
1896
1897 2009-11-25  Kenneth Russell  <kbr@google.com>
1898
1899         Reviewed by Oliver Hunt.
1900
1901         Off-by-one error in index validation for drawElements and drawArrays
1902         https://bugs.webkit.org/show_bug.cgi?id=31891
1903
1904         Fixed computation of number of elements for bound array objects.
1905
1906         Test: fast/canvas/webgl/index-validation.html
1907
1908         * html/canvas/WebGLRenderingContext.cpp:
1909         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1910
1911 2009-11-25  Dmitry Titov  <dimich@chromium.org>
1912
1913         Reviewed by David Levin.
1914
1915         Update SharedScript to use eventNames() instead of EventNames()
1916         https://bugs.webkit.org/show_bug.cgi?id=31890
1917
1918         * SharedScript/WebKitSharedScript.cpp:
1919         (WebCore::LoadEventTask::performTask):
1920
1921 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
1922
1923         Reviewed by Simon Fraser.
1924
1925         <rdar://problem/7409331> Windows: Support closed caption in <video> element
1926
1927         Enable closed captions in QuickTime/Windows media engine.
1928
1929         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1930         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1931         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1932             New, all through to m_qtMovie.
1933
1934         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1935             Make all but the destructor private since MediaPlayer call through the media
1936             engine interface.
1937
1938         * platform/graphics/win/QTMovieWin.cpp:
1939         (QTMovieWin::disableUnsupportedTracks):
1940             Use handy new constants for QuickTime track types.
1941         (QTMovieWin::hasClosedCaptions):
1942         (QTMovieWin::setClosedCaptionsVisible):
1943             New, closed caption support.
1944         * platform/graphics/win/QTMovieWin.h:
1945
1946         * rendering/RenderMediaControls.cpp:
1947         (WebCore::RenderMediaControls::paintMediaControlsPart):
1948             Deal with closed caption buttons.
1949
1950         * rendering/RenderThemeWin.cpp:
1951         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
1952             New, don't ask the media engine if it has closed captions unless the Safari theme will
1953             be able to render the button.
1954         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
1955             New.
1956         * rendering/RenderThemeWin.h:
1957
1958 2009-11-25  Drew Wilson  <atwilson@chromium.org>
1959
1960         Reviewed by David Levin.
1961
1962         MessagePorts always look remotely entangled even when closed.
1963         https://bugs.webkit.org/show_bug.cgi?id=31698
1964
1965         Tests: Existing tests suffice, Chromium soak test passes now.
1966
1967         * bindings/v8/custom/V8CustomBinding.h:
1968         Removed kMessagePortEntangledPortIndex which is no longer used.
1969         * bindings/v8/V8GCController.cpp:
1970         (WebCore::GCPrologueVisitor::visitDOMWrapper):
1971         Simplified GC code to reflect the Chromium MessagePort implementation
1972         (locallyEntangledPort() always returns false).
1973         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
1974         Cleaned up epilogue code to handle the case where the port gets closed
1975         in mid-GC (due to the parent context being freed).
1976         * dom/MessagePort.cpp:
1977         (WebCore::MessagePort::MessagePort):
1978         (WebCore::MessagePort::close):
1979         Now sets the closed flag.
1980         (WebCore::MessagePort::disentanglePorts):
1981         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
1982         * dom/MessagePort.h:
1983         Added a m_closed flag and updated isEntangled() to check it.
1984         (WebCore::MessagePort::isEntangled):
1985         Now returns false if the port has been closed.
1986         (WebCore::MessagePort::isCloned):
1987         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
1988
1989 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1990
1991         Reviewed by Simon Hausmann.
1992
1993         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
1994
1995         Fix inline assembly, don't dereference the function pointer twice.
1996
1997         * plugins/win/PluginViewWin.cpp:
1998         (WebCore::PluginView::hookedBeginPaint):
1999         (WebCore::PluginView::hookedEndPaint):
2000
2001 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
2002
2003         Reviewed by Adam Barth.
2004
2005         [Qt] Remove the Referer header when redirecting to a non-secure site
2006         https://bugs.webkit.org/show_bug.cgi?id=31785
2007
2008         This makes Qt pass two tests introduced in r50226.
2009
2010         * platform/network/qt/QNetworkReplyHandler.cpp:
2011         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2012
2013 2009-11-25  Andrei Popescu  <andreip@google.com>
2014
2015         Reviewed by Dimitri Glazkov.
2016
2017         The select elements do not reflect the actual choice the user makes.
2018         https://bugs.webkit.org/show_bug.cgi?id=31831
2019
2020         Handle the drawing of the listboxes in Android code.
2021
2022         No new features, just fixing an Android problem. Existing layout tests are sufficient.
2023
2024         * platform/android/RenderThemeAndroid.cpp:
2025         (WebCore::theme):
2026         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
2027         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
2028         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
2029         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
2030         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
2031         (WebCore::RenderThemeAndroid::adjustButtonStyle):
2032         (WebCore::RenderThemeAndroid::paintTextArea):
2033         (WebCore::RenderThemeAndroid::adjustListboxStyle):
2034         * platform/android/RenderThemeAndroid.h:
2035
2036 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
2037
2038         Reviewed by Pavel Feldman.
2039
2040         Load InspectorResource mime type from CachedResource for 304 responses
2041
2042         For network libraries that do not merge cache data into 304 ResourceResponses,
2043         the mime type for cached resources is unknown.
2044         https://bugs.webkit.org/show_bug.cgi?id=31868
2045
2046         * inspector/InspectorResource.cpp:
2047         (WebCore::InspectorResource::updateResponse):
2048         (WebCore::InspectorResource::updateScriptObject):
2049         (WebCore::InspectorResource::type):
2050
2051 2009-11-25  Andrei Popescu  <andreip@google.com>
2052
2053         Reviewed by Eric Seidel.
2054
2055         Android is missing implementation of SSL Key generator functions.
2056         https://bugs.webkit.org/show_bug.cgi?id=31825
2057
2058         This change adds the PlatformBridge class to platform/android.
2059         PlarformBridge is used to access the embedding layer for things
2060         such as key generator, cookies, plugins, etc.
2061
2062         No new tests required, this is platform code.
2063
2064         * platform/android/PlatformBridge.h: Added.
2065         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
2066         (WebCore::getSupportedKeySizes):
2067         (WebCore::signedPublicKeyAndChallengeString):
2068
2069 2009-11-25  Philippe Normand  <pnormand@igalia.com>
2070
2071         Reviewed by Eric Seidel.
2072
2073         [GTK] use gst_init_check() instead of gst_init()
2074         https://bugs.webkit.org/show_bug.cgi?id=31864
2075
2076         Use gst_init_check() instead of gst_init() to prevent eventual
2077         unexpected exit of the application.
2078
2079         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2080         (WebCore::do_gst_init):
2081         (WebCore::MediaPlayerPrivate::isAvailable):
2082
2083 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2084
2085         Reviewed by Xan Lopez.
2086
2087         Some tests are crashing from time to time
2088         https://bugs.webkit.org/show_bug.cgi?id=31866
2089
2090         Make sure we do not notify the client of a finished load, if the
2091         load has been cancelled, or the client is gone.
2092
2093         * platform/network/soup/ResourceHandleSoup.cpp:
2094         (WebCore::):
2095
2096 2009-11-24  Ben Murdoch  <benm@google.com>
2097
2098         Reviewed by Eric Seidel.
2099
2100         [Android] Upstream Android changes to WebCore/bridge/jni
2101         https://bugs.webkit.org/show_bug.cgi?id=31824
2102
2103         No new tests required as no new functionality.
2104
2105         * bridge/jni/jni_class.cpp:
2106         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
2107         * bridge/jni/jni_instance.cpp: Add an Android include path.
2108         * 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.
2109         (JSC::Bindings::JObjectWrapper::instance): Added.
2110         (JSC::Bindings::JObjectWrapper::setInstance): Added.
2111         * bridge/jni/jni_runtime.cpp:
2112         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
2113         * bridge/jni/jni_utility.h:
2114         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
2115
2116 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
2117
2118         Reviewed by Eric Seidel.
2119
2120         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
2121         https://bugs.webkit.org/show_bug.cgi?id=31827
2122
2123         Inherits the following classes from Noncopyable because these are instantiated
2124         by 'new' and no need to be copyable:
2125
2126         class/struct name               - instantiated at: WebCore/'location'
2127
2128         class PluginRequest             - plugins/PluginView.cpp:521
2129         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
2130         class PluginDatabase            - plugins/PluginDatabase.cpp:50
2131         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
2132         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
2133         class RenderArena               - dom/Document.cpp:1401
2134         class RenderImageScaleData      - rendering/RenderImage.cpp:149
2135         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
2136         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
2137         struct FloatingObject           - rendering/RenderBlock.cpp:2300
2138         struct MaxMargin                - rendering/RenderBlock.cpp:4794
2139         class RenderMarquee             - rendering/RenderLayer.cpp:3277
2140
2141         * plugins/PluginData.h:
2142         * plugins/PluginDatabase.h:
2143         * plugins/PluginMainThreadScheduler.h:
2144         * plugins/PluginView.h:
2145         * rendering/RenderArena.h:
2146         * rendering/RenderBlock.cpp:
2147         * rendering/RenderBlock.h:
2148         * rendering/RenderImage.cpp:
2149         * rendering/RenderMarquee.h:
2150         * rendering/TableLayout.h:
2151
2152 2009-11-24  Dmitry Titov  <dimich@chromium.org>
2153
2154         Reviewed by David Levin.
2155
2156         Initial implementation of WebKitSharedScript and SharedScriptContext
2157         https://bugs.webkit.org/show_bug.cgi?id=31569
2158
2159         No new tests since there are no bindings yet (soon to come).
2160
2161         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
2162         * WebCore.xcodeproj/project.pbxproj:
2163         * dom/Document.cpp:
2164         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
2165         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
2166         (WebCore::EventTarget::toWebKitSharedScript):
2167         (WebCore::EventTarget::toSharedScriptContext):
2168         * dom/EventTarget.h: Ditto
2169         * dom/ScriptExecutionContext.h:
2170         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
2171
2172         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
2173         (WebCore::SharedScriptContext::SharedScriptContext):
2174         (WebCore::SharedScriptContext::~SharedScriptContext):
2175         (WebCore::SharedScriptContext::clearScript):
2176         (WebCore::SharedScriptContext::virtualURL):
2177         (WebCore::SharedScriptContext::virtualCompleteURL):
2178         (WebCore::SharedScriptContext::reportException):
2179         (WebCore::SharedScriptContext::addMessage):
2180         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
2181         (WebCore::SharedScriptContext::scriptImported):
2182         (WebCore::SharedScriptContext::matches):
2183         (WebCore::SharedScriptContext::addToDocumentsList):
2184         (WebCore::SharedScriptContext::destructionTimerFired):
2185         (WebCore::SharedScriptContext::removeFromDocumentList):
2186         (WebCore::SharedScriptContext::load):
2187         (WebCore::SharedScriptContext::postTask):
2188         (WebCore::SharedScriptContext::eventTargetData):
2189         (WebCore::SharedScriptContext::ensureEventTargetData):
2190         (WebCore::SharedScriptContext::scriptExecutionContext):
2191         * SharedScript/SharedScriptContext.h: Added.
2192         (WebCore::SharedScriptContext::create):
2193         (WebCore::SharedScriptContext::isSharedScriptContext):
2194         (WebCore::SharedScriptContext::userAgent):
2195         (WebCore::SharedScriptContext::toSharedScriptContext):
2196         (WebCore::SharedScriptContext::self):
2197         (WebCore::SharedScriptContext::script):
2198         (WebCore::SharedScriptContext::loaded):
2199         (WebCore::SharedScriptContext::name):
2200         (WebCore::SharedScriptContext::refEventTarget):
2201         (WebCore::SharedScriptContext::derefEventTarget):
2202         (WebCore::SharedScriptContext::refScriptExecutionContext):
2203         (WebCore::SharedScriptContext::derefScriptExecutionContext):
2204         * SharedScript/SharedScriptContext.idl: Added.
2205
2206         * SharedScript/SharedScriptController.h: 
2207         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
2208
2209         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
2210         (WebCore::WebKitSharedScript::WebKitSharedScript):
2211         (WebCore::WebKitSharedScript::~WebKitSharedScript):
2212         (WebCore::WebKitSharedScript::setContext):
2213         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
2214         (WebCore::LoadEventTask::performTask):
2215         (WebCore::LoadEventTask::LoadEventTask):
2216         (WebCore::WebKitSharedScript::scheduleLoadEvent):
2217         * SharedScript/WebKitSharedScript.h: Added.
2218         (WebCore::WebKitSharedScript::create):
2219         (WebCore::WebKitSharedScript::scriptExecutionContext):
2220         (WebCore::WebKitSharedScript::toWebKitSharedScript):
2221         (WebCore::WebKitSharedScript::context):
2222         (WebCore::WebKitSharedScript::refEventTarget):
2223         (WebCore::WebKitSharedScript::derefEventTarget):
2224         (WebCore::WebKitSharedScript::eventTargetData):
2225         (WebCore::WebKitSharedScript::ensureEventTargetData):
2226         * SharedScript/WebKitSharedScript.idl: Added.
2227
2228         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
2229         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
2230         (WebCore::ScriptLoader::load):
2231         (WebCore::ScriptLoader::notifyFinished):
2232         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
2233         (WebCore::WebKitSharedScriptRepository::connect):
2234         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
2235         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
2236         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
2237         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
2238         * SharedScript/WebKitSharedScriptRepository.h: Added.
2239         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
2240
2241 2009-11-24  Dmitry Titov  <dimich@chromium.org>
2242
2243         Reviewed by Eric Seidel.
2244
2245         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
2246         https://bugs.webkit.org/show_bug.cgi?id=31444
2247
2248         * Configurations/FeatureDefines.xcconfig:
2249         * GNUmakefile.am:
2250         * WebCore.pro:
2251
2252 2009-11-24  Chris Marrin  <cmarrin@apple.com>
2253
2254         Reviewed by Simon Fraser.
2255
2256         Implement accelerated compositing
2257         https://bugs.webkit.org/show_bug.cgi?id=27314
2258         
2259         This part of the checkin adds the Windows specific GraphicsLayer support files.
2260         It provides the interface between GraphicsLayer and CACF. It also deals with
2261         the compositing loop, and provides the plumbing to pass the root layer up to
2262         WebView.
2263
2264         * WebCore.vcproj/WebCore.vcproj:
2265         * WebCore.vcproj/WebCoreCommon.vsprops:
2266         * page/FrameView.cpp:
2267         (WebCore::FrameView::syncCompositingStateRecursive):
2268         * platform/graphics/GraphicsLayer.cpp:
2269         (WebCore::GraphicsLayer::GraphicsLayer):
2270         * platform/graphics/GraphicsLayer.h:
2271         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
2272         * platform/graphics/win/GraphicsLayerCACF.h: Added.
2273         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
2274         * platform/graphics/win/WKCACFContextFlusher.h: Added.
2275         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
2276         * platform/graphics/win/WKCACFLayer.cpp: Added.
2277         * platform/graphics/win/WKCACFLayer.h: Added.
2278         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
2279         * platform/graphics/win/WKCACFLayerWindow.h: Added.
2280
2281 2009-11-24  Chris Marrin  <cmarrin@apple.com>
2282
2283         Reviewed by Eric Seidel.
2284
2285         Do error checking of parameter to createShader
2286         https://bugs.webkit.org/show_bug.cgi?id=31808
2287
2288         Test: fast/canvas/webgl/invalidPassedParams.html
2289
2290         * html/canvas/WebGLRenderingContext.cpp:
2291         (WebCore::WebGLRenderingContext::createShader):
2292         * html/canvas/WebGLRenderingContext.h:
2293         * html/canvas/WebGLRenderingContext.idl:
2294
2295 2009-11-24  Kent Tamura  <tkent@chromium.org>
2296
2297         Reviewed by Eric Seidel.
2298
2299         [Chromium] Ignore line-height CSS property specified to a search field on
2300         Windows and Linux.
2301         https://bugs.webkit.org/show_bug.cgi?id=31820
2302
2303         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
2304         following controls should ignore line-height CSS property.
2305          - <select>
2306          - <input type=button>
2307          - <input type=search>
2308         This change addresses the <input type=search> issue with Chromium/Windows
2309         and Chromium/Linux.
2310
2311         * rendering/RenderThemeChromiumSkia.cpp:
2312         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
2313         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
2314
2315 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2316
2317         No review.
2318
2319         Stylistic fix: indent the member var initialisation.
2320
2321         * platform/graphics/mac/GraphicsLayerCA.mm:
2322         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
2323
2324 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
2325
2326         Reviewed by Geoff Garen.
2327
2328         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
2329
2330         These methods get the world from the global data rather than from an execstate.
2331         If the current world is always read from an exec state then it can be read
2332         from the global object, and world entry can become automagical, rather than
2333         being explicitly set by an EnterDOMWrapperWorld.
2334
2335         * bindings/js/JSCSSRuleCustom.cpp:
2336         (WebCore::toJS):
2337         * bindings/js/JSCSSValueCustom.cpp:
2338         (WebCore::toJS):
2339         * bindings/js/JSDOMBinding.cpp:
2340         (WebCore::currentWorld):
2341         (WebCore::DOMObjectWrapperMapFor):
2342         (WebCore::hasCachedDOMObjectWrapper):
2343         (WebCore::getCachedDOMObjectWrapper):
2344         (WebCore::cacheDOMObjectWrapper):
2345         (WebCore::hasCachedDOMNodeWrapper):
2346         (WebCore::getCachedDOMNodeWrapper):
2347         (WebCore::cacheDOMNodeWrapper):
2348         * bindings/js/JSDOMBinding.h:
2349         (WebCore::createDOMObjectWrapper):
2350         (WebCore::getDOMObjectWrapper):
2351         (WebCore::createDOMNodeWrapper):
2352         (WebCore::getDOMNodeWrapper):
2353         * bindings/js/JSDOMWindowCustom.cpp:
2354         (WebCore::JSDOMWindow::history):
2355         (WebCore::JSDOMWindow::location):
2356         * bindings/js/JSDocumentCustom.cpp:
2357         (WebCore::JSDocument::location):
2358         (WebCore::toJS):
2359         * bindings/js/JSElementCustom.cpp:
2360         (WebCore::toJSNewlyCreated):
2361         * bindings/js/JSEventCustom.cpp:
2362         (WebCore::toJS):
2363         * bindings/js/JSHTMLCollectionCustom.cpp:
2364         (WebCore::toJS):
2365         * bindings/js/JSImageDataCustom.cpp:
2366         (WebCore::toJS):
2367         * bindings/js/JSNodeCustom.cpp:
2368         (WebCore::JSNode::markChildren):
2369         (WebCore::createWrapper):
2370         (WebCore::toJS):
2371         * bindings/js/JSSVGPathSegCustom.cpp:
2372         (WebCore::toJS):
2373         * bindings/js/JSStyleSheetCustom.cpp:
2374         (WebCore::toJS):
2375         * xml/XMLHttpRequest.cpp:
2376         (WebCore::XMLHttpRequest::dropProtection):
2377
2378 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2379
2380         Windows build fix.
2381
2382         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
2383
2384 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2385
2386         Windows build fix.
2387
2388         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
2389
2390 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2391
2392         Reviewed by Oliver Hunt.
2393
2394         SVGUseElement::toClipPath can crash
2395         <rdar://problem/7385270>
2396
2397         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
2398         actually initialize it.
2399
2400         * svg/SVGUseElement.cpp:
2401         (WebCore::SVGUseElement::toClipPath):
2402
2403 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2404
2405         Windows build fix.
2406
2407         * page/win/FrameCGWin.cpp:
2408         (WebCore::imageFromRect):
2409         (WebCore::imageFromSelection):
2410
2411 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
2412
2413         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
2414
2415         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2416         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2417         * platform/graphics/win/QTMovieWin.cpp:
2418         * platform/graphics/win/QTMovieWin.h:
2419         * rendering/RenderMediaControls.cpp:
2420         * rendering/RenderThemeWin.cpp:
2421         * rendering/RenderThemeWin.h:
2422
2423 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2424
2425         Reviewed by Brady Eidson.
2426
2427         https://bugs.webkit.org/show_bug.cgi?id=31844
2428         SocketStreamHandleCFNet should support CONNECT proxy credentials
2429
2430         * WebCore.vcproj/WebCore.vcproj:
2431         * WebCore.xcodeproj/project.pbxproj:
2432         * platform/network/CredentialStorage.h:
2433         * platform/network/mac/CredentialStorageMac.mm: Added.
2434         (WebCore::CredentialStorage::getFromPersistentStorage):
2435         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
2436         (WebCore::CredentialStorage::getFromPersistentStorage):
2437         Add support for fetching credentials from persistent storage (CFNet version is currently
2438         a stub).
2439
2440         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
2441
2442         * platform/network/cf/SocketStreamHandle.h:
2443         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2444         (WebCore::SocketStreamHandle::SocketStreamHandle):
2445         (WebCore::SocketStreamHandle::createStreams):
2446         (WebCore::getStoredCONNECTProxyCredentials):
2447         (WebCore::authenticationSchemeFromAuthenticationMethod):
2448         (WebCore::SocketStreamHandle::addCONNECTCredentials):
2449         (WebCore::SocketStreamHandle::readStreamCallback):
2450         Check if connection attempt was resulted in 407, and try stored credentials if it did.
2451
2452         * platform/mac/WebCoreSystemInterface.h:
2453         * platform/mac/WebCoreSystemInterface.mm:
2454         * WebCore.base.exp:
2455         Updated WKSI.
2456
2457 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2458
2459         Reviewed by Dan Bernstein.
2460
2461         Find highlight is drawn incorrectly on pages with compositing layers
2462         <rdar://problem/7413925>
2463         
2464         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
2465         and pass that down when painting into an image.
2466         
2467         When set, it forces painting of compositing layers to go down a software paint path
2468         when all layers are painted, irrespective of compositing status, and where
2469         3d transforms are flattened to 2d. When doing this, we also need to use temporary
2470         clip rects for layers which are normally composited.
2471         
2472         * page/FrameView.h:
2473         (WebCore::FrameView::paintBehavior):
2474         * page/mac/FrameMac.mm:
2475         (WebCore::Frame::imageFromRect):
2476         * rendering/RenderLayer.cpp:
2477         (WebCore::RenderLayer::renderableTransform):
2478         (WebCore::expandClipRectForDescendantsAndReflection):
2479         (WebCore::transparencyClipBox):
2480         (WebCore::RenderLayer::beginTransparencyLayers):
2481         (WebCore::RenderLayer::paintLayer):
2482         * rendering/RenderLayer.h:
2483         (WebCore::RenderLayer::paintsWithTransparency):
2484         (WebCore::RenderLayer::paintsWithTransform):
2485         * rendering/RenderLayerCompositor.cpp:
2486         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2487         * rendering/RenderObject.h:
2488
2489 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2490
2491         Reviewed by Dan Bernstein.
2492
2493         Find highlight is drawn incorrectly on pages with compositing layers
2494         <rdar://problem/7413925>
2495         
2496         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
2497         preparation for adding a new flag related to painting into an image.
2498         
2499         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
2500
2501         * page/FrameView.cpp:
2502         (WebCore::FrameView::reset):
2503         (WebCore::FrameView::paintContents):
2504         (WebCore::FrameView::setPaintBehavior):
2505         * page/FrameView.h:
2506         * page/mac/FrameMac.mm:
2507         (WebCore::Frame::selectionImage):
2508         * rendering/RenderLayer.cpp:
2509         (WebCore::RenderLayer::paint):
2510         (WebCore::RenderLayer::paintLayer):
2511         * rendering/RenderLayer.h:
2512         * rendering/RenderLayerBacking.cpp:
2513         (WebCore::RenderLayerBacking::paintIntoLayer):
2514         (WebCore::RenderLayerBacking::paintContents):
2515         * rendering/RenderLayerBacking.h:
2516         * rendering/RenderObject.h:
2517         * rendering/RenderReplica.cpp:
2518         (WebCore::RenderReplica::paint):
2519
2520 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
2521
2522         Reviewed by Simon Fraser.
2523
2524         <rdar://problem/7409331> Windows: Support closed caption in <video> element
2525
2526         Enable closed captions in QuickTime/Windows media engine.
2527
2528         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2529         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
2530         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
2531         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2532         * platform/graphics/win/QTMovieWin.cpp:
2533         (QTMovieWin::hasClosedCaptions):
2534         (QTMovieWin::setClosedCaptionsVisible):
2535         * platform/graphics/win/QTMovieWin.h:
2536         * rendering/RenderMediaControls.cpp:
2537         (WebCore::RenderMediaControls::paintMediaControlsPart):
2538         * rendering/RenderThemeWin.cpp:
2539         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
2540         * rendering/RenderThemeWin.h:
2541
2542 2009-11-24  Darin Fisher  <darin@chromium.org>
2543
2544         Reviewed by Adam Barth.
2545
2546         [Chromium] Renderer hang when using www.expedia.com
2547         https://bugs.webkit.org/show_bug.cgi?id=31822
2548
2549         Test: http/tests/cache/subresource-failover-to-network.html
2550
2551         * loader/FrameLoader.cpp:
2552         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
2553         when inheriting cache policy.  This matches SubresourceLoader::create.
2554
2555 2009-11-23  Kenneth Russell  <kbr@google.com>
2556
2557         Reviewed by Oliver Hunt.
2558
2559         Change get... calls to latest spec
2560         https://bugs.webkit.org/show_bug.cgi?id=30091
2561
2562         Removed old versions of get calls on WebGLRenderingContext and
2563         added new ones per spec returning "any". New code simplifies
2564         GraphicsContext3D and fixes previously unimplemented routines.
2565         Added custom JS and V8 bindings. Added exhaustive test case
2566         exercising all new code paths. Updated preexisting test cases for
2567         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
2568         implementations.
2569
2570         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
2571         preexisting known failures) and manual WebGL tests in both
2572         browsers.
2573
2574         Test: fast/canvas/webgl/gl-object-get-calls.html
2575
2576         * WebCore.gypi:
2577         * WebCore.xcodeproj/project.pbxproj:
2578         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2579         (WebCore::toJS):
2580         (WebCore::):
2581         (WebCore::getObjectParameter):
2582         (WebCore::getProgramParameterHelper):
2583         (WebCore::JSWebGLRenderingContext::getBufferParameter):
2584         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
2585         (WebCore::JSWebGLRenderingContext::getParameter):
2586         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2587         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
2588         (WebCore::JSWebGLRenderingContext::getShaderParameter):
2589         (WebCore::JSWebGLRenderingContext::getTexParameter):
2590         (WebCore::JSWebGLRenderingContext::getUniform):
2591         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
2592         * bindings/v8/custom/V8CustomBinding.h:
2593         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2594         (WebCore::toV8):
2595         (WebCore::):
2596         (WebCore::getObjectParameter):
2597         (WebCore::getProgramParameter):
2598         (WebCore::CALLBACK_FUNC_DECL):
2599         * html/canvas/CanvasObject.cpp:
2600         (WebCore::CanvasObject::CanvasObject):
2601         (WebCore::CanvasObject::setObject):
2602         (WebCore::CanvasObject::deleteObject):
2603         * html/canvas/CanvasObject.h:
2604         * html/canvas/WebGLBuffer.cpp:
2605         (WebCore::WebGLBuffer::create):
2606         (WebCore::WebGLBuffer::WebGLBuffer):
2607         * html/canvas/WebGLBuffer.h:
2608         * html/canvas/WebGLGetInfo.cpp: Added.
2609         (WebCore::WebGLGetInfo::WebGLGetInfo):
2610         (WebCore::WebGLGetInfo::~WebGLGetInfo):
2611         (WebCore::WebGLGetInfo::getType):
2612         (WebCore::WebGLGetInfo::getBool):
2613         (WebCore::WebGLGetInfo::getFloat):
2614         (WebCore::WebGLGetInfo::getLong):
2615         (WebCore::WebGLGetInfo::getString):
2616         (WebCore::WebGLGetInfo::getUnsignedLong):
2617         (WebCore::WebGLGetInfo::getWebGLBuffer):
2618         (WebCore::WebGLGetInfo::getWebGLFloatArray):
2619         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
2620         (WebCore::WebGLGetInfo::getWebGLIntArray):
2621         (WebCore::WebGLGetInfo::getWebGLProgram):
2622         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
2623         (WebCore::WebGLGetInfo::getWebGLTexture):
2624         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
2625         * html/canvas/WebGLGetInfo.h: Added.
2626         (WebCore::WebGLGetInfo::):
2627         * html/canvas/WebGLRenderbuffer.cpp:
2628         (WebCore::WebGLRenderbuffer::create):
2629         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
2630         * html/canvas/WebGLRenderbuffer.h:
2631         * html/canvas/WebGLRenderingContext.cpp:
2632         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
2633         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
2634         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2635         (WebCore::WebGLRenderingContext::activeTexture):
2636         (WebCore::WebGLRenderingContext::bindBuffer):
2637         (WebCore::WebGLRenderingContext::bindFramebuffer):
2638         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2639         (WebCore::WebGLRenderingContext::bindTexture):
2640         (WebCore::WebGLRenderingContext::getBufferParameter):
2641         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2642         (WebCore::WebGLRenderingContext::getParameter):
2643         (WebCore::WebGLRenderingContext::getProgramParameter):
2644         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2645         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2646         (WebCore::WebGLRenderingContext::getShaderParameter):
2647         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2648         (WebCore::WebGLRenderingContext::getShaderSource):
2649         (WebCore::WebGLRenderingContext::getString):
2650         (WebCore::WebGLRenderingContext::getTexParameter):
2651         (WebCore::WebGLRenderingContext::getUniform):
2652         (WebCore::WebGLRenderingContext::getVertexAttrib):
2653         (WebCore::WebGLRenderingContext::useProgram):
2654         (WebCore::WebGLRenderingContext::getBooleanParameter):
2655         (WebCore::WebGLRenderingContext::getFloatParameter):
2656         (WebCore::WebGLRenderingContext::getIntParameter):
2657         (WebCore::WebGLRenderingContext::getLongParameter):
2658         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
2659         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2660         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2661         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
2662         * html/canvas/WebGLRenderingContext.h:
2663         * html/canvas/WebGLRenderingContext.idl:
2664         * html/canvas/WebGLTexture.cpp:
2665         (WebCore::WebGLTexture::create):
2666         (WebCore::WebGLTexture::WebGLTexture):
2667         * html/canvas/WebGLTexture.h:
2668         * manual-tests/webgl/resources/utils3d.js:
2669         (initWebGL):
2670         (loadShader):
2671         (Framerate.prototype.snapshot):
2672         * platform/graphics/GraphicsContext3D.h:
2673         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2674         (WebCore::GraphicsContext3D::bindRenderbuffer):
2675         (WebCore::GraphicsContext3D::getBooleanv):
2676         (WebCore::GraphicsContext3D::getBufferParameteriv):
2677         (WebCore::GraphicsContext3D::getFloatv):
2678         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2679         (WebCore::GraphicsContext3D::getIntegerv):
2680         (WebCore::GraphicsContext3D::getProgramiv):
2681         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2682         (WebCore::GraphicsContext3D::getShaderiv):
2683         (WebCore::GraphicsContext3D::getTexParameterfv):
2684         (WebCore::GraphicsContext3D::getTexParameteriv):
2685         (WebCore::GraphicsContext3D::getUniformfv):
2686         (WebCore::GraphicsContext3D::getUniformiv):
2687         (WebCore::GraphicsContext3D::getVertexAttribfv):
2688         (WebCore::GraphicsContext3D::getVertexAttribiv):
2689
2690 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
2691
2692         Windows build fix.
2693
2694         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
2695
2696 2009-11-24  Philippe Normand  <pnormand@igalia.com>
2697
2698         Reviewed by Gustavo Noronha Silva.
2699
2700         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
2701         https://bugs.webkit.org/show_bug.cgi?id=26354
2702
2703         Implemented MediaPlayerPrivate::isAvailable by checking the
2704         presence of the playbin2 GStreamer element.
2705
2706         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2707         (WebCore::MediaPlayerPrivate::isAvailable):
2708         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2709
2710 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2711
2712         Reviewed by Xan Lopez.
2713
2714         https://bugs.webkit.org/show_bug.cgi?id=25415
2715         [GTK][ATK] Please implement support for get_text_at_offset
2716
2717         When building up the pango layout from text boxes, only append a
2718         newline char after verifying there are no more boxes on this line.
2719
2720         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2721         (getPangoLayoutForAtk):
2722
2723 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
2724
2725         Reviewed by Pavel Feldman.
2726
2727         Web Inspector: Keyboard Shortcut to Clear Console Messages
2728         https://bugs.webkit.org/show_bug.cgi?id=31780
2729
2730         All Platforms:  Ctrl+L  = Clear Console Messages
2731         Mac Only:       Cmd+K   = Clear Console Messages
2732
2733         * inspector/front-end/ConsoleView.js:
2734         (WebInspector.ConsoleView): create shortcuts
2735         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
2736         * inspector/front-end/KeyboardShortcut.js:
2737         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
2738         * inspector/front-end/ScriptsPanel.js:
2739         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
2740
2741 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
2742
2743         Not reviewed: touch inspector controller in order to
2744         kick win bot inspector deploy. rs=aroben.
2745
2746         * inspector/InspectorController.cpp:
2747
2748 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
2749
2750         Reviewed by Timothy Hatcher.
2751
2752         Web Inspector: Implement expandable compartments on timeline panel.
2753
2754         https://bugs.webkit.org/show_bug.cgi?id=31796
2755
2756         * inspector/front-end/TimelineOverviewPane.js:
2757         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
2758         * inspector/front-end/TimelinePanel.js:
2759         (WebInspector.TimelinePanel):
2760         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
2761         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2762         (WebInspector.TimelinePanel.prototype._formatRecord):
2763         (WebInspector.TimelinePanel.prototype._refreshRecords):
2764         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
2765         (WebInspector.TimelineRecordListRow):
2766         (WebInspector.TimelineRecordListRow.prototype.update):
2767         (WebInspector.TimelineRecordListRow.prototype.dispose):
2768         (WebInspector.TimelineRecordGraphRow):
2769         (WebInspector.TimelineRecordGraphRow.prototype.update):
2770         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
2771         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
2772         * inspector/front-end/inspector.css:
2773
2774 2009-11-24  Mark Rowe  <mrowe@apple.com>
2775
2776         Fix production builds where the source tree may be read-only.
2777
2778         * WebCore.xcodeproj/project.pbxproj:
2779
2780 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2781
2782         Reviewed by Kenneth Rohde Christiansen.
2783
2784         Include "config.h" to meet Coding Style Guidelines
2785         https://bugs.webkit.org/show_bug.cgi?id=31792
2786
2787         No new tests as there is no new functionality.
2788
2789         * platform/graphics/win/IntPointWin.cpp:
2790         * platform/graphics/win/IntRectWin.cpp:
2791         * platform/graphics/win/IntSizeWin.cpp:
2792         * platform/network/chromium/ResourceRequest.cpp:
2793         * platform/win/PlatformMouseEventWin.cpp:
2794
2795 2009-11-23  Jian Li  <jianli@chromium.org>
2796
2797         Reviewed by NOBODY (Chromium build fix).
2798
2799         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2800         (WebCore::CALLBACK_FUNC_DECL):
2801         * platform/graphics/GraphicsContext3D.h:
2802
2803 2009-11-23  Aaron Golden  <agolden@apple.com>
2804
2805         Reviewed by Alexey Proskuryakov.
2806
2807         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
2808         identity and certificate information from a WebCore::Credential when receivedCredential
2809         needs to modify the credential's persistence.
2810
2811         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
2812         that copies every field from original except for persistence.
2813
2814         * platform/network/Credential.cpp:
2815         (WebCore::Credential::Credential):
2816         * platform/network/Credential.h:
2817         * platform/network/mac/ResourceHandleMac.mm:
2818         (WebCore::ResourceHandle::receivedCredential):
2819
2820 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
2821
2822         Reviewed by Geoff Garen.
2823
2824         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
2825
2826         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
2827         and for this to automagically cause execution to take place in the world associated with the
2828         global object associated with the ExecState (JSContextRef) passed.  However this is not how
2829         things work - the world must be explicitly set within WebCore.
2830
2831         Making this work just for API calls to evaluate & call will be a far from perfect solution,
2832         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
2833         A better solution would be to make this all work automagically all throughout WebCore, but this
2834         will require more refactoring.
2835
2836         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
2837         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
2838         we should switch over to using this approach for all cases we want to get a world from an exec state.
2839
2840         * bindings/js/JSDOMBinding.cpp:
2841         (WebCore::WebCoreJSClientData::beginningExecution):
2842         (WebCore::WebCoreJSClientData::completedExecution):
2843         * bindings/js/JSDOMBinding.h:
2844         * bindings/js/JSDOMGlobalObject.h:
2845         (WebCore::JSDOMGlobalObject::world):
2846         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2847         * bindings/js/JSDOMWindowBase.cpp:
2848         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2849         * bindings/js/JSDOMWindowBase.h:
2850         * bindings/js/JSDOMWindowShell.cpp:
2851         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2852         * bindings/js/JSDOMWindowShell.h:
2853         (WebCore::JSDOMWindowShell::world):
2854         * bindings/js/JSWorkerContextBase.cpp:
2855         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2856         * bindings/js/ScriptController.cpp:
2857         (WebCore::ScriptController::initScript):
2858
2859 2009-11-23  Chris Marrin  <cmarrin@apple.com>
2860
2861         Reviewed by Oliver Hunt.
2862
2863         Add range checks to rendering calls in WebGL
2864         https://bugs.webkit.org/show_bug.cgi?id=31239
2865
2866         I am now tracking the size of the data in each CanvasBuffer object
2867         and keeping track of the buffer size of each active vertex attrib.
2868         In drawArrays and drawElements I make sure no attempt is made to
2869         access elements outside the valid buffer ranges. The test at:
2870
2871             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
2872
2873         no longer crashes.
2874
2875         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
2876
2877         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
2878                fast/canvas/webgl/drawElementssOutOfBounds.html
2879
2880         * bindings/js/JSWebGLArrayCustom.cpp:
2881         (WebCore::toJS):
2882         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2883         (WebCore::JSWebGLRenderingContext::bufferData):
2884         (WebCore::JSWebGLRenderingContext::bufferSubData):
2885         (WebCore::JSWebGLRenderingContext::texSubImage2D):
2886         * html/canvas/WebGLArrayBuffer.cpp:
2887         (WebCore::WebGLArrayBuffer::create):
2888         (WebCore::WebGLArrayBuffer::data):
2889         * html/canvas/WebGLArrayBuffer.h:
2890         * html/canvas/WebGLBuffer.cpp:
2891         (WebCore::WebGLBuffer::WebGLBuffer):
2892         (WebCore::WebGLBuffer::associateBufferData):
2893         (WebCore::WebGLBuffer::associateBufferSubData):
2894         (WebCore::WebGLBuffer::byteLength):
2895         * html/canvas/WebGLBuffer.h:
2896         (WebCore::WebGLBuffer::elementArrayBuffer):
2897         * html/canvas/WebGLRenderingContext.cpp:
2898         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2899         (WebCore::WebGLRenderingContext::sizeInBytes):
2900         (WebCore::WebGLRenderingContext::bindBuffer):
2901         (WebCore::WebGLRenderingContext::bufferData):
2902         (WebCore::WebGLRenderingContext::bufferSubData):
2903         (WebCore::WebGLRenderingContext::createShader):
2904         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2905         (WebCore::WebGLRenderingContext::validateIndexArray):
2906         (WebCore::WebGLRenderingContext::validateRenderingState):
2907         (WebCore::WebGLRenderingContext::drawArrays):
2908         (WebCore::WebGLRenderingContext::drawElements):
2909         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2910         (WebCore::WebGLRenderingContext::isFramebuffer):
2911         (WebCore::WebGLRenderingContext::isProgram):
2912         (WebCore::WebGLRenderingContext::isRenderbuffer):
2913         (WebCore::WebGLRenderingContext::isShader):
2914         (WebCore::WebGLRenderingContext::isTexture):
2915         (WebCore::WebGLRenderingContext::useProgram):
2916         (WebCore::WebGLRenderingContext::validateProgram):
2917         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2918         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
2919         * html/canvas/WebGLRenderingContext.h:
2920         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
2921         * html/canvas/WebGLRenderingContext.idl:
2922         * html/canvas/WebGLShader.cpp:
2923         (WebCore::WebGLShader::create):
2924         (WebCore::WebGLShader::WebGLShader):
2925         * html/canvas/WebGLShader.h:
2926         * platform/graphics/GraphicsContext3D.h:
2927         (WebCore::GraphicsContext3D::):
2928         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2929         (WebCore::GraphicsContext3D::createShader):
2930
2931 2009-11-23  Erik Arvidsson  <arv@chromium.org>
2932
2933         Reviewed by Eric Seidel.
2934
2935         JSC bindings for HasIndexGetter generates incorrect code (affects
2936         MediaList and CSSStyleDeclaration).
2937         This cleans up the edge cases for indexing out of range for style and
2938         computed style objects to return an empty string according to the spec.
2939         MediaList now returns null when indexed out of range.
2940         https://bugs.webkit.org/show_bug.cgi?id=31683
2941
2942         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
2943                fast/dom/CSSStyleDeclaration/css-style-item.html
2944                fast/dom/StyleSheet/css-medialist-item.html
2945
2946         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
2947                 we do not check the length before calling the item function.
2948         * css/CSSComputedStyleDeclaration.cpp:
2949         (WebCore::CSSComputedStyleDeclaration::item):
2950         * css/CSSMutableStyleDeclaration.cpp:
2951         (WebCore::CSSMutableStyleDeclaration::item):
2952         * css/CSSStyleDeclaration.idl:
2953
2954 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
2955
2956         Reviewed by Dan Bernstein.
2957
2958         DocumentMarkers need to be educated about transforms
2959         https://bugs.webkit.org/show_bug.cgi?id=31751
2960         
2961         Find highlight is incorrect with transforms
2962         <rdar://problem/6358394>
2963
2964         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
2965         when computing the set of rects that encompass a selection. For transformed elemenets, the
2966         selection rect will be the bounding box of the selected content.
2967         
2968         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
2969         
2970         Test: editing/selection/transformed-selection-rects.html
2971         
2972         * WebCore.base.exp:
2973         Frame::selectionTextRects() has a new parameter.
2974         
2975         * dom/Document.cpp:
2976         (WebCore::Document::setRenderedRectForMarker):
2977         * dom/Document.h:
2978         Pass the marker as a const reference.
2979         
2980         * dom/Range.h:
2981         * dom/Range.cpp:
2982         (WebCore::Range::textQuads):
2983         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
2984         
2985         * page/Frame.h:
2986         * page/Frame.cpp:
2987         (WebCore::Frame::selectionTextRects):
2988         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
2989         method to get quads for ranges, and then take their bounding boxes.
2990
2991         * rendering/InlineTextBox.h:
2992         * rendering/InlineTextBox.cpp:
2993         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2994         (WebCore::InlineTextBox::paintTextMatchMarker):
2995         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2996         (WebCore::InlineTextBox::paintDocumentMarkers):
2997         (WebCore::InlineTextBox::textPos):
2998         (WebCore::InlineTextBox::offsetForPosition):
2999         
3000         Pass DocumentMarkers as a const references.
3001         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
3002         
3003         * rendering/RenderView.cpp:
3004         (WebCore::RenderView::selectionBounds):
3005
3006 2009-11-23  Dirk Schulze  <krit@webkit.org>
3007
3008         Reviewed by Oliver Hunt.
3009
3010         [Cairo] support blurred test-shadow
3011         [https://bugs.webkit.org/show_bug.cgi?id=31797]
3012
3013         Support for blurred text-shadows on Cairo. This patch
3014         reuses the code of blurred box-shadows, introduced in
3015         bug 26102. For a full textshadow support, a filters enabled
3016         build is needed.
3017
3018         * platform/graphics/cairo/FontCairo.cpp:
3019         (WebCore::Font::drawGlyphs):
3020
3021 2009-11-23  Jens Alfke  <snej@chromium.org>
3022
3023         Reviewed by Geoffrey Garen.
3024
3025         Change incorrect calls to the constructor "EventNames()" to the correct accessor
3026         "eventNames()". This saves ~100 AtomicString lookups each time.
3027         https://bugs.webkit.org/show_bug.cgi?id=31811
3028
3029         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
3030         * history/CachedFrame.cpp:
3031         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
3032         * html/HTMLFormControlElement.cpp:
3033         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
3034         * loader/FrameLoader.cpp:
3035         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
3036         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
3037         * page/DOMWindow.cpp:
3038         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
3039
3040 2009-11-23  Adam Langley  <agl@google.com>
3041
3042         Reviewed by Dmitry Titov.
3043
3044         Chromium Linux: Limit the stroke width and mitre limit.
3045
3046         Limit the stroke width and mitre limit that we'll pass into Skia to
3047         avoid overflowing Skia's uint16_t glyph widths.
3048
3049         http://code.google.com/p/chromium/issues/detail?id=28250
3050         https://bugs.webkit.org/show_bug.cgi?id=31747
3051
3052         * platform/graphics/skia/PlatformContextSkia.cpp:
3053         (scalarBound):
3054         (PlatformContextSkia::setupPaintForStroking):
3055
3056 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
3057
3058         Reviewed by Oliver Hunt.
3059
3060         https://bugs.webkit.org/show_bug.cgi?id=31812
3061         WebSocket code uses RefPtr::get() where it shouldn't
3062
3063         No change in funcitonality, just coding style correction.
3064
3065         * websockets/WebSocket.cpp:
3066         (WebCore::WebSocket::~WebSocket):
3067         * websockets/WebSocketChannel.cpp:
3068         (WebCore::WebSocketChannel::connect):
3069         (WebCore::WebSocketChannel::send):
3070         (WebCore::WebSocketChannel::bufferedAmount):
3071         (WebCore::WebSocketChannel::close):
3072         (WebCore::WebSocketChannel::disconnect):
3073         (WebCore::WebSocketChannel::didOpen):
3074         (WebCore::WebSocketChannel::didClose):
3075         (WebCore::WebSocketChannel::didReceiveData):
3076         (WebCore::WebSocketChannel::didFail):
3077
3078 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
3079
3080         Build fix.
3081
3082         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3083         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
3084         is static, so it can't use member variables directly.
3085
3086 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
3087
3088         Reviewed by Brady Eidson.
3089
3090         https://bugs.webkit.org/show_bug.cgi?id=31748
3091         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
3092
3093         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
3094         they didn't carry useful information.
3095
3096         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3097         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
3098         always need https.
3099         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
3100         only get scheduled after PAC is fetched and executed asynchronously.
3101         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
3102         source.
3103         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
3104         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
3105         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
3106         we make the call even on Mac.
3107         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
3108         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
3109         we need to get rid of the event source.
3110         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
3111         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
3112         array may come directly from system configuration, or from PAC.
3113         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
3114         separate.
3115         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
3116         before we get to the destructor.
3117         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
3118         is still in progress.
3119
3120 2009-11-23  Oliver Hunt  <oliver@apple.com>
3121
3122         Reviewed by Geoff Garen.
3123
3124         Don't leak the CGImage we create when drawing a sub image.
3125
3126         * platform/graphics/cg/ImageCG.cpp:
3127         (WebCore::BitmapImage::draw):
3128
3129 2009-11-23  Adam Barth  <abarth@webkit.org>
3130
3131         Reviewed by Dimitri Glazkov.
3132
3133         [V8] Don't crash when OOM in creating isolated world
3134         https://bugs.webkit.org/show_bug.cgi?id=31805
3135
3136         We need to add some more null checks to avoid crashing.  No new tests
3137         because we don't have a good way to test out-of-memory bugs.
3138
3139         * bindings/v8/V8Proxy.cpp:
3140         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3141         (WebCore::V8Proxy::evaluateInNewContext):
3142         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
3143         * bindings/v8/V8Proxy.h:
3144
3145 2009-11-23  Dirk Schulze  <krit@webkit.org>
3146
3147         Reviewed by Nikolas Zimmermann.
3148
3149         This is the implementation of the filterRes attribute. It
3150         helps the SVG developer to set the quality of a filter by
3151         giving the width or height of filter.
3152         This patch also sets the filter resolution to lower values
3153         if a intermediate ImageBuffer size is bigger than the given
3154         maximal size.
3155         The maximal size is set to 5000x5000 by default. This is a
3156         subjectiv decission. Everthing greater than this values gets
3157         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
3158         For mobil devices a maximum size of 100x100 or 200x200 seems
3159         to be reasonable.
3160         The important fact on filter resolution is, that the output
3161         size is still the size given by the <filter> element.
3162
3163         Tests: svg/filters/big-sized-filter-2.svg
3164                svg/filters/big-sized-filter.svg
3165                svg/filters/filterRes.svg
3166
3167         * platform/graphics/FloatRect.cpp:
3168         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
3169         * platform/graphics/FloatRect.h:
3170         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
3171         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3172         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
3173         calculation.
3174         * platform/graphics/filters/FEBlend.cpp:
3175         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
3176         * platform/graphics/filters/FEColorMatrix.cpp:
3177         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
3178         * platform/graphics/filters/FEComponentTransfer.cpp:
3179         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
3180         calculations.
3181         * platform/graphics/filters/FEComposite.cpp:
3182         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
3183         * platform/graphics/filters/FEGaussianBlur.cpp:
3184         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
3185         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
3186         of a filter output.
3187         (WebCore::Filter::filterResolution):
3188         (WebCore::Filter::setFilterResolution):
3189         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
3190         as well as the scaledSubRegion. It also searches for the biggest effect size.
3191         We have to change the filter resolution, if one intermediate ImageBuffer size
3192         doesn't fit in the maximal image size.
3193         * platform/graphics/filters/FilterEffect.cpp:
3194         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
3195         the right part of a previous effect result.
3196         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
3197         the right part of a previous effect result.
3198         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
3199         a new intermediate ImageBuffer for the result of the current effect.
3200         * platform/graphics/filters/FilterEffect.h:
3201         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
3202         filter effect.
3203         (WebCore::FilterEffect::setScaledSubRegion):
3204         (WebCore::FilterEffect::effectBoundaries): The original values of the
3205         EffectElement for a second subRegion calculation.
3206         (WebCore::FilterEffect::setEffectBoundaries):
3207         * platform/graphics/filters/ImageBufferFilter.cpp:
3208         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
3209         * platform/graphics/filters/ImageBufferFilter.h:
3210         (WebCore::ImageBufferFilter::maxImageSize):
3211         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
3212         * platform/graphics/filters/SourceAlpha.cpp:
3213         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
3214         intern calculations.
3215         * platform/graphics/filters/SourceGraphic.cpp:
3216         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
3217         intern calculations.
3218         * svg/SVGFilterElement.cpp:
3219         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
3220         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
3221         filterResolution.
3222         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3223         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
3224         values to effectBoundaries of the filter effect
3225         * svg/graphics/SVGResourceFilter.cpp:
3226         (WebCore::SVGResourceFilter::SVGResourceFilter):
3227         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
3228         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
3229         fits into the maximal image size, modifys scale factors if not and return a
3230         bool: fits.
3231         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
3232         filterResolution (given by FilterElement or calculated on to big image sizes).
3233         Set the scale level to SVGFilter.
3234         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
3235         is wrong.
3236         * svg/graphics/SVGResourceFilter.h:
3237         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
3238         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
3239         a FilterResolution?
3240         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
3241         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
3242         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3243         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
3244         Kernel values are scaled to current filter resolution too.
3245         * svg/graphics/filters/SVGFEFlood.cpp:
3246         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
3247         * svg/graphics/filters/SVGFEMerge.cpp:
3248         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
3249         Kernel values are scaled to current filter resolution too.
3250         * svg/graphics/filters/SVGFEMorphology.cpp:
3251         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
3252         Kernel values are scaled to current filter resolution too.
3253         * svg/graphics/filters/SVGFEOffset.cpp:
3254         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
3255         * svg/graphics/filters/SVGFETile.cpp:
3256         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
3257         * svg/graphics/filters/SVGFilter.cpp:
3258         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
3259         scaledSubRegion according to the current filterResolution and get the maximal image size.
3260         * svg/graphics/filters/SVGFilter.h:
3261         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
3262         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
3263         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
3264         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
3265
3266 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
3267
3268         Reviewed by Kenneth Rohde Christiansen.
3269
3270         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
3271         the wrapped object died before the gc removed the instance.
3272
3273         https://bugs.webkit.org/show_bug.cgi?id=31681
3274
3275         Before using a cached instance, verify that its wrapped QObject is
3276         still alive.
3277
3278         * bridge/qt/qt_instance.cpp:
3279         (JSC::Bindings::QtInstance::getQtInstance):
3280         * bridge/qt/qt_instance.h:
3281         (JSC::Bindings::QtInstance::hashKey):
3282
3283 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
3284
3285         Reviewed by Oliver Hunt.
3286
3287         ARIA: support aria-flowto
3288         https://bugs.webkit.org/show_bug.cgi?id=31762
3289
3290         Test: platform/mac/accessibility/aria-flowto.html
3291
3292         * accessibility/AccessibilityObject.h:
3293         (WebCore::AccessibilityObject::ariaOwnsElements):
3294         (WebCore::AccessibilityObject::supportsARIAFlowTo):
3295         (WebCore::AccessibilityObject::ariaFlowToElements):
3296         * accessibility/AccessibilityRenderObject.cpp:
3297         (WebCore::AccessibilityRenderObject::linkedUIElements):
3298         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
3299         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
3300         * accessibility/AccessibilityRenderObject.h:
3301         * html/HTMLAttributeNames.in:
3302
3303 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3304
3305         Not reviewed. Build fix for WML enabled builds.
3306         Adopt WebCore API changes.
3307
3308         * wml/WMLAElement.cpp:
3309         (WebCore::WMLAElement::defaultEventHandler):
3310         * wml/WMLInputElement.cpp:
3311         (WebCore::WMLInputElement::defaultEventHandler):
3312
3313 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
3314
3315         Reviewed by Timothy Hatcher.
3316
3317         Web Inspector: Introduce sidebar background on timeline panel in order
3318         to prevent it from flickering on scroll.
3319
3320         https://bugs.webkit.org/show_bug.cgi?id=31789
3321
3322         * inspector/front-end/TimelinePanel.js:
3323         (WebInspector.TimelinePanel):
3324         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
3325         (WebInspector.TimelinePanel.prototype._onScroll):
3326         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3327         * inspector/front-end/inspector.css:
3328
3329 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
3330
3331         Reviewed by Timothy Hatcher.
3332
3333         Web Inspector: Reimplement TimelinePanel to make it fast:
3334         - Extract grid and overview into separate files
3335         - Make timeline create only divs for visible rows
3336
3337         https://bugs.webkit.org/show_bug.cgi?id=31784
3338
3339         * WebCore.gypi:
3340         * WebCore.vcproj/WebCore.vcproj:
3341         * inspector/front-end/AbstractTimelinePanel.js:
3342         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
3343         (WebInspector.AbstractTimelinePanel.prototype.refresh):
3344         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
3345         * inspector/front-end/TimelineGrid.js: Added.
3346         (WebInspector.TimelineGrid):
3347         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
3348         (WebInspector.TimelineGrid.prototype.updateDividers):
3349         (WebInspector.TimelineGrid.prototype.addEventDivider):
3350         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
3351         * inspector/front-end/TimelineOverviewPane.js: Added.
3352         (WebInspector.TimelineOverviewPane):
3353         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
3354         (WebInspector.TimelineOverviewPane.prototype.update):
3355         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
3356         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
3357         (WebInspector.TimelineOverviewPane.prototype.reset):
3358         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
3359         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
3360         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
3361         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
3362         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
3363         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
3364         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
3365         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
3366         (WebInspector.TimelineOverviewCalculator):
3367         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
3368         (WebInspector.TimelineOverviewCalculator.prototype.reset):
3369         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
3370         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
3371         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
3372         (WebInspector.TimelineCategoryTreeElement):
3373         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3374         (WebInspector.TimelineCategoryGraph):
3375         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
3376         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
3377         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3378         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3379         * inspector/front-end/TimelinePanel.js:
3380         (WebInspector.TimelinePanel):
3381         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3382         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3383         (WebInspector.TimelinePanel.prototype._formatRecord):
3384         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
3385         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
3386         (WebInspector.TimelinePanel.prototype.resize):
3387         (WebInspector.TimelinePanel.prototype.reset):
3388         (WebInspector.TimelinePanel.prototype.show):
3389         (WebInspector.TimelinePanel.prototype._onScroll):
3390         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3391         (WebInspector.TimelinePanel.prototype._refresh):
3392         (WebInspector.TimelinePanel.prototype._refreshRecords):
3393         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
3394         (WebInspector.TimelineCategory):
3395         (WebInspector.TimelineCalculator):
3396         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
3397         (WebInspector.TimelineRecordListRow):
3398         (WebInspector.TimelineRecordListRow.prototype.update):
3399         (WebInspector.TimelineRecordGraphRow):
3400         (WebInspector.TimelineRecordGraphRow.prototype.update):
3401         * inspector/front-end/WebKit.qrc:
3402         * inspector/front-end/inspector.css:
3403         * inspector/front-end/inspector.html:
3404
3405 2009-11-22  Chris Evans  <cevans@chromium.org>
3406
3407         Reviewed by Adam Barth.
3408
3409         Disable access to file:/// directory listings
3410         https://bugs.webkit.org/show_bug.cgi?id=31329
3411
3412         Deny access to directory listings. This needs doing in WebKit for
3413         WebKit clients that do permit top-level navigation to file:///dir.
3414         This matches Firefox, plus the existing Safari implementation (which
3415         does not support any directory access at all). It will fix the
3416         LayoutTest named below for Chromium.
3417
3418         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
3419
3420         * page/SecurityOrigin.cpp: Deny access to directory listings.
3421         (WebCore::SecurityOrigin::SecurityOrigin):
3422         (WebCore::SecurityOrigin::canRequest):
3423
3424 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
3425
3426         Reviewed by Timothy Hatcher.
3427
3428         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
3429         https://bugs.webkit.org/show_bug.cgi?id=31400
3430
3431         Handle the following when on a Mac:
3432
3433           Ctrl+P = Previous (like Up arrow)
3434           Ctrl+N = Next (like Down arrow)
3435
3436         No longer rerun autocompletion when just pushing a modifier key
3437         like Control, Alt, Shift, or Meta.
3438
3439         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
3440
3441           Up   = Previous Command if on First Line (caret moves to the end of the first line)
3442                  otherwise default caret movement in text.
3443           Down = Next Command if on Last Line (caret naturally moves to the end)
3444                  otherwise default caret movement in text.
3445
3446         * inspector/front-end/TextPrompt.js:
3447         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
3448         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
3449         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
3450         (WebInspector.TextPrompt.prototype._upKeyPressed):
3451         (WebInspector.TextPrompt.prototype._downKeyPressed):
3452         (WebInspector.TextPrompt.prototype._moveBackInHistory):
3453         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
3454
3455 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
3456
3457         Reviewed by Timothy Hatcher.
3458
3459         Adds a tooltip containing the full url of the resource to each element
3460         in the Resources panel so that it is possible to quickly see the query
3461         parameters.
3462         https://bugs.webkit.org/show_bug.cgi?id=19103
3463
3464         * inspector/front-end/ResourcesPanel.js:
3465         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
3466         Set the tooltip to be the resource's url.
3467
3468 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
3469
3470         Reviewed by Dan Bernstein.
3471
3472         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
3473         https://bugs.webkit.org/show_bug.cgi?id=31588
3474         
3475         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
3476         so that findRule() and deleteRule() work with these keywords.
3477
3478         * css/WebKitCSSKeyframesRule.cpp:
3479         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
3480
3481 2009-11-21  Daniel Bates  <dbates@webkit.org>
3482
3483         Reviewed by Eric Seidel.
3484
3485         https://bugs.webkit.org/show_bug.cgi?id=31647
3486
3487         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
3488
3489         No functionality was changed. So, no new tests.
3490
3491         * dom/KeyboardEvent.cpp:
3492         (WebCore::KeyboardEvent::~KeyboardEvent):
3493         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
3494         (WebCore::KeyboardEvent::keyEvent):
3495
3496 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
3497
3498         Reviewed by Beth Dakin.
3499
3500         WAI-ARIA: add support for aria-owns
3501         https://bugs.webkit.org/show_bug.cgi?id=31702
3502
3503         Re-organized how accessibilityAttributeNames are returned so 
3504         that it's possible for an element to add an attribute based on 
3505         a dynamic value. In this case, we only want to add AXOwn if the 
3506         element actually supports aria-owns.
3507   
3508         Test: platform/mac/accessibility/aria-owns.html
3509
3510         * accessibility/AccessibilityObject.h:
3511         (WebCore::AccessibilityObject::supportsARIAOwns):
3512         (WebCore::AccessibilityObject::ariaOwnsElements):
3513         * accessibility/AccessibilityRenderObject.cpp:
3514         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
3515         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
3516         * accessibility/AccessibilityRenderObject.h:
3517         * accessibility/mac/AccessibilityObjectWrapper.mm:
3518         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3519         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3520         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3521         * html/HTMLAttributeNames.in:
3522
3523 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
3524
3525         Reviewed by Simon Fraser.
3526
3527         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
3528
3529         * css/mediaControls.css:
3530             Define closed caption toggle button.
3531
3532         * rendering/RenderMedia.cpp:
3533         (WebCore::RenderMedia::updateControls):
3534             Create closed caption toggle button in display order.
3535
3536         * rendering/RenderThemeMac.mm:
3537         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
3538             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
3539             No need to check if the movie has video, a closed captions track is a video
3540             track.
3541
3542 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
3543
3544         Reviewed by Timothy Hatcher.
3545
3546         Web Inspector: Running code in the Console that ends with a
3547         single line comment no longer produces a parse error.
3548