1 2009-09-07 Adam Barth <abarth@webkit.org>
3 Unreviewed speculative build fix for Snow Leopard.
5 * platform/GeolocationService.cpp:
6 (WebCore::createGeolocationServiceNull):
8 2009-09-07 Steve Block <steveblock@google.com>
10 Reviewed by Adam Barth.
12 Adds a mock Geolocation service. This will be used to provide predictable behavior of the
13 Geolocation API for use in LayoutTests. Later changes will integrate the the mock
14 Geolocation service with DumpRenderTree.
15 https://bugs.webkit.org/show_bug.cgi?id=28264
17 The mock Geolocation service returns a fixed position or error. This position or error can be
18 set through static methods on the GeolocationService class. The position or error is shared
19 between all instances of the mock Geolocation service.
21 Implementation details.
22 The GeolocationService object maintains a pointer to a factory function which it uses to create
23 Geolocation service instances. Each platform implementing Geolocation sets this pointer
24 to the factory function for their platform's implementation. When the mock Geolocation service
25 is activated, the factory function pointer is reset to the factory function for the mock service.
27 Test: fast/dom/Geolocation/error.html
29 * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
30 * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
31 * WebCore.gypi: Modified. Added GeolocationServiceMock files.
32 * WebCore.pro: Modified. Added GeolocationServiceMock files.
33 * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
34 * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
35 * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
36 * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
37 * page/ChromeClient.h: Modified. Fixed comment.
38 * page/Geolocation.cpp: Modified.
39 (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
40 * platform/GeolocationService.cpp: Modified.
41 (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
42 (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
43 (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
44 * platform/GeolocationService.h: Modified.
45 * platform/mock: Added.
46 * platform/mock/GeolocationServiceMock.cpp: Added.
47 (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
48 (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
49 (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
50 (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
51 (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
52 (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
53 (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
54 (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
55 (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
56 (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
57 (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
58 (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
59 * platform/mock/GeolocationServiceMock.h: Added.
60 (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
61 (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
62 * platform/gtk/GeolocationServiceGtk.cpp: Modified.
63 (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
64 * platform/gtk/GeolocationServiceGtk.h: Modified.
65 * platform/mac/GeolocationServiceMac.h: Modified.
66 * platform/mac/GeolocationServiceMac.mm: Modified.
67 (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
69 2009-09-07 Adam Barth <abarth@webkit.org>
71 Reviewed by Dimitri Glazkov.
73 https://bugs.webkit.org/show_bug.cgi?id=28985
75 We need to be slightly more careful about how we pick up a script
76 execution context. In particular, we were getting the wrong document
77 for frames that had been navigated somewhere else.
79 In the long term, we should think about a better algorithm for
80 computing the script context.
82 Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
84 * bindings/v8/V8Proxy.cpp:
85 (WebCore::V8Proxy::retrieveFrame):
87 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
89 wx build fix for 2.8 compilation.
91 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
92 (wxRenderer_DrawScrollbar):
94 2009-09-07 Drew Wilson <atwilson@google.com>
98 Reverting r48121 to fix Windows build errors.
100 * DerivedSources.cpp:
102 * WebCore.xcodeproj/project.pbxproj:
103 * bindings/js/JSDOMWindowCustom.cpp:
104 * bindings/js/JSEventTarget.cpp:
106 (WebCore::toEventTarget):
107 * dom/EventTarget.cpp:
109 * page/DOMWindow.idl:
110 * websockets/WebSocket.cpp:
111 (WebCore::WebSocket::connect):
112 (WebCore::WebSocket::send):
113 (WebCore::WebSocket::close):
114 (WebCore::WebSocket::bufferedAmount):
115 (WebCore::WebSocket::addEventListener):
116 (WebCore::WebSocket::removeEventListener):
117 (WebCore::WebSocket::dispatchEvent):
118 (WebCore::WebSocket::didConnect):
119 (WebCore::WebSocket::didReceiveMessage):
120 (WebCore::WebSocket::didClose):
121 (WebCore::WebSocket::dispatchOpenEvent):
122 (WebCore::WebSocket::dispatchMessageEvent):
123 (WebCore::WebSocket::dispatchCloseEvent):
124 * websockets/WebSocket.h:
125 (WebCore::WebSocket::create):
126 (WebCore::WebSocket::):
127 (WebCore::WebSocket::setOnopen):
128 (WebCore::WebSocket::onopen):
129 (WebCore::WebSocket::setOnmessage):
130 (WebCore::WebSocket::onmessage):
131 (WebCore::WebSocket::setOnclose):
132 (WebCore::WebSocket::onclose):
133 (WebCore::WebSocket::toWebSocket):
134 (WebCore::WebSocket::refEventTarget):
135 (WebCore::WebSocket::derefEventTarget):
136 * websockets/WebSocketChannel.cpp: Removed.
137 * websockets/WebSocketChannel.h: Removed.
138 * websockets/WebSocketChannelClient.h: Removed.
139 * websockets/WebSocketHandshake.cpp: Removed.
140 * websockets/WebSocketHandshake.h: Removed.
142 2009-09-07 Drew Wilson <atwilson@google.com>
144 Unreviewed speculative build fix.
146 Reverted previous build fix as it didn't fix the problem.
148 * bindings/js/JSEventTarget.cpp:
149 (WebCore::toEventTarget):
151 2009-09-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
153 Unreviewed, build fix.
155 [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
159 2009-09-07 Drew Wilson <atwilson@google.com>
161 Unreviewed build fix.
163 Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
165 * bindings/js/JSEventTarget.cpp:
166 (WebCore::toEventTarget):
168 2009-09-07 Drew Wilson <atwilson@google.com>
170 Reviewed by David Levin.
172 Enable SHARED_WORKERS by default.
173 https://bugs.webkit.org/show_bug.cgi?id=28959
175 Tests (enabled in a separate patch):
176 fast/workers/shared-worker-constructor.html
177 fast/workers/shared-worker-context-gc.html
178 fast/workers/shared-worker-event-listener.html
179 fast/workers/shared-worker-exception.html
180 fast/workers/shared-worker-frame-lifecycle.html
181 fast/workers/shared-worker-gc.html
182 fast/workers/shared-worker-lifecycle.html
183 fast/workers/shared-worker-load-error.html
184 fast/workers/shared-worker-location.html
185 fast/workers/shared-worker-navigator.html
186 fast/workers/shared-worker-replace-global-constructor.html
187 fast/workers/shared-worker-replace-self.html
188 fast/workers/shared-worker-shared.html
189 fast/workers/shared-worker-simple.html
190 http/tests/workers/shared-worker-importScripts.html
191 http/tests/workers/shared-worker-redirect.html
192 http/tests/xmlhttprequest/workers/shared-worker-close.html
193 http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
194 http/tests/xmlhttprequest/workers/shared-worker-methods.html
195 http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
197 * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
198 * Configurations/FeatureDefines.xcconfig:
200 * WebCore.vcproj/WebCoreCommon.vsprops:
201 * WebCore.vcproj/build-generated-files.sh:
202 * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
203 * workers/DefaultSharedWorkerRepository.cpp:
204 (WebCore::SharedWorkerScriptLoader::load):
205 Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
206 * workers/SharedWorkerContext.cpp:
207 (WebCore::SharedWorkerContext::dispatchConnect):
208 Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
210 2009-09-07 Xan Lopez <xlopez@igalia.com>
212 Unreviewed build fix.
214 Add new file to sources list.
218 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
220 wx build fixes for wx SVN trunk.
223 * platform/wx/RenderThemeWx.cpp:
224 (WebCore::RenderThemeWx::paintButton):
225 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
226 (WebCore::drawTextWithSpacing):
227 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
228 (wxRenderer_DrawScrollbar):
230 2009-09-07 Chris Hills <chaz@chaz6.com>
232 Reviewed by Tor Arne Vestbø.
234 [Qt] Use direct includes for Phonon, not the pretty ones
236 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
238 2009-09-07 Fumitoshi Ukai <ukai@chromium.org>
240 Reviewed by Alexey Proskuryakov.
242 WebSocket API implementation.
243 https://bugs.webkit.org/show_bug.cgi?id=28038
245 Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
246 Other build systems will be updated once the code is functional.
247 Tests will be landed once the code is completed and functional.
249 * DerivedSources.cpp:
251 * WebCore.xcodeproj/project.pbxproj:
252 * bindings/js/JSDOMWindowCustom.cpp:
253 (WebCore::JSDOMWindow::webSocket):
254 * bindings/js/JSEventTarget.cpp:
256 (WebCore::toEventTarget):
257 * dom/EventTarget.cpp:
258 (WebCore::EventTarget::toWebSocket):
260 * page/DOMWindow.idl:
261 * websockets/WebSocket.cpp:
262 (WebCore::ProcessWebSocketEventTask::create):
263 (WebCore::ProcessWebSocketEventTask::performTask):
264 (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
265 (WebCore::isValidProtocolString):
266 (WebCore::WebSocket::connect):
267 (WebCore::WebSocket::send):
268 (WebCore::WebSocket::close):
269 (WebCore::WebSocket::bufferedAmount):
270 (WebCore::WebSocket::addEventListener):
271 (WebCore::WebSocket::removeEventListener):
272 (WebCore::WebSocket::dispatchEvent):
273 (WebCore::WebSocket::didConnect):
274 (WebCore::WebSocket::didReceiveMessage):
275 (WebCore::WebSocket::didClose):
276 (WebCore::WebSocket::dispatchOpenEvent):
277 (WebCore::WebSocket::dispatchMessageEvent):
278 (WebCore::WebSocket::dispatchCloseEvent):
279 * websockets/WebSocket.h:
280 (WebCore::WebSocket::create):
281 (WebCore::WebSocket::):
282 (WebCore::WebSocket::setOnopen):
283 (WebCore::WebSocket::onopen):
284 (WebCore::WebSocket::setOnmessage):
285 (WebCore::WebSocket::onmessage):
286 (WebCore::WebSocket::setOnclose):
287 (WebCore::WebSocket::onclose):
288 (WebCore::WebSocket::toWebSocket):
289 (WebCore::WebSocket::eventListeners):
290 (WebCore::WebSocket::refEventTarget):
291 (WebCore::WebSocket::derefEventTarget):
292 * websockets/WebSocketChannel.cpp: Added.
293 * websockets/WebSocketChannel.h: Added.
294 * websockets/WebSocketChannelClient.h: Added.
295 * websockets/WebSocketHandshake.cpp: Added.
296 * websockets/WebSocketHandshake.h: Added.
298 2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
300 Reviewed by Xan Lopez.
302 https://bugs.webkit.org/show_bug.cgi?id=26854
303 [GTK] Needs API to allow more control over outgoing requests
305 Add infrastructure required to provide the new
306 WebKitNetworkResponse object in our API.
308 * GNUmakefile.am: Add new files to the build.
309 * platform/network/soup/ResourceRequestSoup.cpp:
310 (WebCore::ResourceRequest::updateFromSoupMessage):
311 * platform/network/soup/ResourceResponse.h:
312 * platform/network/soup/ResourceResponseSoup.cpp: Added.
313 (WebCore::ResourceResponse::toSoupMessage):
315 2009-09-07 Mads Ager <ager@chromium.org>
317 Reviewed by Adam Barth.
319 [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
320 https://bugs.webkit.org/show_bug.cgi?id=29009
322 Be consistent in document and frame null checks.
324 * bindings/v8/custom/V8DOMWindowCustom.cpp:
325 (WebCore::V8Custom::WindowSetTimeoutImpl):
326 (WebCore::ACCESSOR_GETTER):
327 (WebCore::ACCESSOR_SETTER):
328 (WebCore::CALLBACK_FUNC_DECL):
329 (WebCore::NAMED_PROPERTY_GETTER):
330 (WebCore::V8Custom::ClearTimeoutImpl):
332 2009-09-07 Xan Lopez <xlopez@igalia.com>
334 Reviewed by Gustavo Noronha.
336 [Soup] Limit the number of connections
337 https://bugs.webkit.org/show_bug.cgi?id=18431
339 Increase the maximum number of per host and total connections to
340 similar values than those used by the other modern browsers. Seems
341 to significantly improve page loading time in many cases.
343 * platform/network/soup/ResourceHandleSoup.cpp:
344 (WebCore::ensureSessionIsInitialized):
346 2009-09-07 Michael Nordman <michaeln@google.com>
348 Reviewed by Darin Fisher.
350 Various minor chromium appcache modifications.
351 https://bugs.webkit.org/show_bug.cgi?id=28960
355 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
356 Fix a null pointer exception.
357 (WebCore::ACCESSOR_GETTER):
358 * platform/network/chromium/ResourceRequest.h:
359 Switch from appCache 'context' to 'host' terminology.
360 Note: leaving the old deprecated accessors in place until the matching
361 change in chrome is landed to use the new accessors.
362 (WebCore::ResourceRequest::ResourceRequest):
363 (WebCore::ResourceRequest::appCacheHostID):
364 (WebCore::ResourceRequest::setAppCacheHostID):
365 (WebCore::ResourceRequest::appCacheContextID):
366 (WebCore::ResourceRequest::setAppCacheContextID):
367 * platform/network/chromium/ResourceResponse.h:
368 Add an appCacheManifestURL getter/setter.
369 Drop the 'get' prefix from the appCacheID getter.
370 Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
371 change in chrome is landed to use the new accessor.
372 (WebCore::ResourceResponse::appCacheID):
373 (WebCore::ResourceResponse::appCacheManifestURL):
374 (WebCore::ResourceResponse::setAppCacheManifestURL):
375 (WebCore::ResourceResponse::getAppCacheID):
377 2009-09-07 Michael Nordman <michaeln@google.com>
379 Reviewed by Alexey Proskuryakov.
381 https://bugs.webkit.org/show_bug.cgi?id=28359
382 Cleanup: Undo some accidental changes around DOMApplicationCache.
383 - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
384 - Return a non-null object for window.applicationCache when the feature is disabled.
385 - Simplify the swapCache method.
387 Test: http/tests/appcache/disabled.html
389 * loader/appcache/DOMApplicationCache.cpp:
390 (WebCore::DOMApplicationCache::DOMApplicationCache):
391 (WebCore::DOMApplicationCache::swapCache):
392 (WebCore::DOMApplicationCache::scriptExecutionContext):
393 * loader/appcache/DOMApplicationCache.h:
394 * page/DOMWindow.cpp:
395 (WebCore::DOMWindow::applicationCache):
397 2009-09-06 Yael Aharon <yael.aharon@nokia.com>
399 Reviewed by Darin Adler.
401 hostname and host are mixed up when manipulating anchor elements.
402 https://bugs.webkit.org/show_bug.cgi?id=28954
404 handle the case of port 0.
406 * html/HTMLAnchorElement.cpp:
407 (WebCore::HTMLAnchorElement::host):
409 2009-09-06 Erik Arvidsson <arv@chromium.org>
411 Reviewed by Eric Seidel.
413 Make hidden elements not focusable.
415 Clean up supportsFocus and isFocusable.
416 supportsFocus now strictly means that the node can be focused by default.
417 This is true for links, form controls and content editable elements for example.
418 isFocusable means that the user can actually focus it.
419 All (2) calls to supportsFocus have been updated to take this into account.
421 Make a elements without href work correctly as well.
423 https://bugs.webkit.org/show_bug.cgi?id=27099
425 Tests: fast/events/click-focus-anchor.html
426 fast/events/tab-focus-anchor.html
427 fast/events/tab-focus-hidden.html
430 (WebCore::Element::focus):
432 (WebCore::Node::supportsFocus):
433 (WebCore::Node::isFocusable):
435 * html/HTMLAnchorElement.cpp:
436 (WebCore::HTMLAnchorElement::supportsFocus):
437 (WebCore::HTMLAnchorElement::isMouseFocusable):
438 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
439 * html/HTMLAnchorElement.h:
440 * html/HTMLAreaElement.cpp:
441 (WebCore::HTMLAreaElement::supportsFocus):
442 * html/HTMLAreaElement.h:
443 * html/HTMLElement.cpp:
444 (WebCore::HTMLElement::supportsFocus):
445 * html/HTMLElement.h:
446 * html/HTMLFieldSetElement.cpp:
447 (WebCore::HTMLFieldSetElement::supportsFocus):
448 * html/HTMLFieldSetElement.h:
449 * html/HTMLFormControlElement.cpp:
450 (WebCore::HTMLFormControlElement::supportsFocus):
451 (WebCore::HTMLFormControlElement::isFocusable):
452 * html/HTMLFrameElementBase.cpp:
453 (WebCore::HTMLFrameElementBase::supportsFocus):
454 * html/HTMLFrameElementBase.h:
455 * html/HTMLLegendElement.cpp:
456 (WebCore::HTMLLegendElement::supportsFocus):
457 * html/HTMLLegendElement.h:
458 * html/HTMLOptGroupElement.cpp:
459 (WebCore::HTMLOptGroupElement::supportsFocus):
460 (WebCore::HTMLOptGroupElement::isFocusable):
461 * html/HTMLOptGroupElement.h:
462 * html/HTMLOptionElement.cpp:
463 (WebCore::HTMLOptionElement::supportsFocus):
464 (WebCore::HTMLOptionElement::isFocusable):
465 * html/HTMLOptionElement.h:
466 * page/EventHandler.cpp:
467 (WebCore::EventHandler::dispatchMouseEvent):
468 * page/FocusController.cpp:
469 (WebCore::FocusController::advanceFocus):
470 * svg/SVGAElement.cpp:
471 (WebCore::SVGAElement::supportsFocus):
472 (WebCore::SVGAElement::isFocusable):
473 * wml/WMLAElement.cpp:
474 (WebCore::WMLAElement::supportsFocus):
476 * wml/WMLFormControlElement.cpp:
477 (WebCore::WMLFormControlElement::supportsFocus):
478 (WebCore::WMLFormControlElement::isFocusable):
479 * wml/WMLFormControlElement.h:
481 2009-09-06 Joel Stanley <joel@jms.id.au>
483 Reviewed by Dimitri Glazkov.
485 Expose functions to set the caret blink interval for Linux Chromium.
486 Default value is set to that of RenderTheme::caretBlankInterval().
487 Uses caretBlinkIntervalInternal to avoid overriding
488 RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
489 of blinking caret required for layout tests.
490 https://bugs.webkit.org/show_bug.cgi?id=28931
492 * rendering/RenderThemeChromiumLinux.cpp:
493 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
494 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
495 (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
496 * rendering/RenderThemeChromiumLinux.h:
498 2009-09-06 Ada Chan <adachan@apple.com>
500 Remove an extra </File> in WebCore.vcproj.
502 * WebCore.vcproj/WebCore.vcproj:
504 2009-09-06 Timothy Hatcher <timothy@apple.com>
506 Adds a persistent setting for color format in the Web Inspector.
508 https://bugs.webkit.org/show_bug.cgi?id=28889
510 Reviewed by Dan Bernstein.
512 * English.lproj/localizedStrings.js: New strings.
513 * inspector/front-end/Color.js: Minor style fixes.
514 (WebInspector.Color.prototype.toString): Added. Replaces the individual
515 "toFoo" functions. Takes a optional arguments for the color format to return.
516 * inspector/front-end/Images/paneSettingsButtons.png: Added.
517 * inspector/front-end/StylesSidebarPane.js:
518 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
519 the new color format.
520 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
521 Use the new toString function on Color.
522 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
523 to format colors by default. Add a tooltip for the color swatch.
524 * inspector/front-end/inspector.css: New styles for the settings menu.
525 * inspector/front-end/inspector.js:
526 (WebInspector.loaded): Initilize the colorFormat preference.
528 2009-09-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
530 Reviewed by Eric Seidel.
532 [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
533 https://bugs.webkit.org/show_bug.cgi?id=28993
535 * platform/network/qt/DnsPrefetchHelper.cpp:
536 * platform/network/qt/DnsPrefetchHelper.h:
538 2009-09-06 Cameron McCormack <cam@mcc.id.au>
540 Reviewed by Eric Seidel.
542 Drop <definition-src> support
543 https://bugs.webkit.org/show_bug.cgi?id=28991
545 http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
547 * DerivedSources.cpp: Remove references to definition-src.
548 * DerivedSources.make: Ditto.
549 * GNUmakefile.am: Ditto.
550 * WebCore.gypi: Ditto.
551 * WebCore.pro: Ditto.
552 * WebCore.vcproj/WebCore.vcproj: Ditto.
553 * WebCore.xcodeproj/project.pbxproj: Ditto.
554 * bindings/objc/DOM.mm:
555 (WebCore::createElementClassMap): Ditto.
556 * bindings/objc/DOMSVG.h: Ditto.
557 * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
558 * bindings/v8/V8DOMWrapper.cpp: Ditto.
559 * bindings/v8/V8Index.cpp: Ditto.
560 * bindings/v8/V8Index.h: Ditto.
561 * svg/SVGAllInOne.cpp: Ditto.
562 * svg/SVGDefinitionSrcElement.cpp: Removed.
563 * svg/SVGDefinitionSrcElement.h: Removed.
564 * svg/SVGDefinitionSrcElement.idl: Removed.
565 * svg/SVGFontFaceElement.cpp:
566 (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
567 definition-src child.
568 * svg/svgtags.in: Remove definition-src.
570 2009-09-05 Dimitri Glazkov <dglazkov@chromium.org>
572 Unreviewed, build fix.
574 [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
575 logic of retrieving default caret blink interval was incorrect (non-existent)
576 and caused layout test flakiness.
578 * rendering/RenderThemeChromiumLinux.cpp:
579 * rendering/RenderThemeChromiumLinux.h:
581 2009-09-05 Jian Li <jianli@chromium.org>
583 Reviewed by NOBODY (Chromium reliability build break).
585 Back up partial change in r48072 in order to fix chromium reliability build break.
587 * bindings/v8/V8AbstractEventListener.cpp:
588 (WebCore::V8AbstractEventListener::invokeEventHandler):
590 2009-09-05 Nicolas Weber <thakis@chromium.org>
592 Reviewed by Darin Fisher.
594 https://bugs.webkit.org/show_bug.cgi?id=28975
595 Fix file upload on chrome/mac. Images that have "Hide Extension" set,
596 such as screenshots by default, can now be uploaded to sites such as
599 * platform/FileSystem.h:
600 Add pathGetDisplayFileName().
601 * platform/chromium/FileChooserChromium.cpp:
602 (WebCore::FileChooser::basenameForWidth):
603 Call pathGetDisplayFileName() instead of pathGetFileName().
604 * platform/chromium/FileSystemChromiumLinux.cpp:
605 (WebCore::pathGetDisplayFileName):
606 Implement pathGetDisplayFileName() by delegating to pathGetFileName().
607 * platform/chromium/FileSystemChromiumMac.mm:
608 (WebCore::pathGetFileName):
609 Now returns a real filename instead of a presentational one, which
610 fixes the problem addressed by this change.
611 (WebCore::pathGetDisplayFileName):
612 New function that returns a presentational filename; does what
613 pathGetDisplayFileName() did prior to this patch.
614 * platform/chromium/FileSystemChromiumWin.cpp:
615 (WebCore::pathGetDisplayFileName):
616 Implement pathGetDisplayFileName() by delegating to pathGetFileName().
618 2009-09-05 Joel Stanley <joel@jms.id.au>
620 Reviewed by David Levin.
622 Expose functions to set the caret blink interval for Linux Chromium.
623 https://bugs.webkit.org/show_bug.cgi?id=28931
625 * rendering/RenderThemeChromiumLinux.cpp:
626 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
627 (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
628 * rendering/RenderThemeChromiumLinux.h:
630 2009-09-04 Dmitry Titov <dimich@chromium.org>
632 Reviewed by David Levin.
634 Prevent UI freeze in case when too many timers are in the timer queue.
635 https://bugs.webkit.org/show_bug.cgi?id=23865
637 The fix measures the elapsed time while executing timers. If we have too many
638 timers and it takes significant time to fire, quit the loop and reschedule.
639 This lets the run loop process user input (close the window for example).
641 * platform/ThreadTimers.h:
642 * platform/ThreadTimers.cpp:
643 (WebCore::ThreadTimers::sharedTimerFiredInternal):
644 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
645 Removed functions and members used before to grab a list of all expired timers.
646 Now we fetch one by one, measuring time and quitting the loop if it takes too long.
647 * platform/Timer.cpp:
648 (WebCore::TimerBase::isActive):
649 (WebCore::TimerBase::setNextFireTime):
650 Since timers are now fired one by one, there is no need to keep track of updated timers.
651 * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
652 creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
653 so the browser un-freezes. This is instead of a regular layout test because we don't have a way
654 to inject an input events via regular run loop in DRT - instead they are directly dispatched by
655 eventSender, which does not reproduce the UI freeze that happens with real input.
657 2009-09-04 Anders Carlsson <andersca@apple.com>
659 Reviewed by Adele Peterson.
661 <rdar://problem/7201063>
663 Detach any custom scrollbars before detaching the document.
666 (WebCore::Frame::setView):
668 2009-09-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
670 Unreviewed, build fix.
672 Remove remaining references to UserStyleSheetLoader after r48075.
675 * WebCore.xcodeproj/project.pbxproj:
676 * page/qt/FrameQt.cpp:
677 * page/wince/FrameWince.cpp:
679 2009-09-04 Michelangelo De Simone <micdesim@gmail.com>
681 Reviewed by David Levin.
683 https://bugs.webkit.org/show_bug.cgi?id=28988
684 Minor fix: "novalidate" attribute renamed in "noValidate", according to
686 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
688 * html/HTMLFormElement.cpp:
689 (WebCore::HTMLFormElement::noValidate):
690 (WebCore::HTMLFormElement::setNoValidate):
691 * html/HTMLFormElement.h:
692 * html/HTMLFormElement.idl:
694 2009-09-04 Dmitry Titov <dimich@chromium.org>
696 Reviewed by David Levin.
698 Remove unused line of code from WorkerContext
699 https://bugs.webkit.org/show_bug.cgi?id=28990
701 * workers/WorkerContext.cpp:
702 (WebCore::WorkerContext::importScripts):
704 2009-09-04 Darin Adler <darin@apple.com>
706 Reviewed by Oliver Hunt.
708 Fix assertion seen when running buildbot.
710 * bindings/js/JSDOMBinding.h:
711 (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
712 the HasDefaultMark bit since this has a custom mark function.
714 2009-09-04 Dave Hyatt <hyatt@apple.com>
716 Reviewed by Adam Roben.
718 https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
719 Make sure the other code path (now used by everybody) can handle data URLs.
721 As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
722 hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
723 that anybody is relying on this support.
725 Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
729 * WebCore.xcodeproj/project.pbxproj:
731 (WebCore::Document::userStyleSheet):
733 * loader/FrameLoader.cpp:
734 (WebCore::FrameLoader::begin):
735 * loader/UserStyleSheetLoader.cpp: Removed.
736 * loader/UserStyleSheetLoader.h: Removed.
738 (WebCore::Frame::reapplyStyles):
741 (WebCore::Page::userStyleSheetLocationChanged):
742 (WebCore::Page::userStyleSheet):
743 * page/mac/FrameMac.mm:
744 * page/qt/FrameQt.cpp:
746 2009-09-04 Mikhail Naganov <mnaganov@chromium.org>
748 Reviewed by Timothy Hatcher.
750 Add "sampling profiler" preference, simplify data display when it's set.
752 https://bugs.webkit.org/show_bug.cgi?id=28969
754 * inspector/front-end/ProfileDataGridTree.js:
755 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
756 (WebInspector.ProfileDataGridNode.prototype.get data):
757 * inspector/front-end/ProfileView.js:
758 (WebInspector.ProfileView):
759 * inspector/front-end/inspector.js:
761 2009-09-04 Jian Li <jianli@chromium.org>
763 Reviewed by Adam Barth.
765 [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
766 https://bugs.webkit.org/show_bug.cgi?id=28980
768 Tested by worker-close.html.
770 * bindings/v8/ScriptFunctionCall.cpp:
771 * bindings/v8/V8AbstractEventListener.cpp:
772 (WebCore::V8AbstractEventListener::invokeEventHandler):
773 * bindings/v8/V8Utilities.cpp:
774 (WebCore::getScriptExecutionContext):
775 (WebCore::reportException):
776 * bindings/v8/V8Utilities.h:
777 (WebCore::getScriptExecutionContext):
778 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
779 (WebCore::CALLBACK_FUNC_DECL):
780 * bindings/v8/custom/V8SharedWorkerCustom.cpp:
781 (WebCore::CALLBACK_FUNC_DECL):
782 * bindings/v8/custom/V8WorkerCustom.cpp:
783 (WebCore::CALLBACK_FUNC_DECL):
784 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
785 (WebCore::CALLBACK_FUNC_DECL):
786 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
787 (WebCore::CALLBACK_FUNC_DECL):
789 2009-09-04 Dave Hyatt <hyatt@apple.com>
791 Reviewed by Anders Carlsson.
793 Remove unused m_sheet variable and setCSSStyleSheet methods.
798 2009-09-04 Anders Carlsson <andersca@apple.com>
800 Reviewed by David Hyatt and Adele Peterson.
802 (Based on a patch from Adele).
804 Fix <rdar://problem/7185875>.
807 (WebCore::Frame::setView):
808 Detach any custom scroll bars from the old view.
810 * page/FrameView.cpp:
811 (WebCore::FrameView::detachCustomScrollbars):
812 Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
813 not a RenderPart object.
815 * rendering/RenderObject.cpp:
816 (WebCore::RenderObject::destroy):
817 ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
819 2009-09-04 Dave Hyatt <hyatt@apple.com>
821 Reviewed by Adam Roben.
823 Make m_userStyleSheetLoader in Frame an OwnPtr.
826 (WebCore::Frame::Frame):
827 (WebCore::Frame::~Frame):
829 * page/mac/FrameMac.mm:
830 (WebCore::Frame::setUserStyleSheetLocation):
831 (WebCore::Frame::setUserStyleSheet):
833 2009-09-04 Timothy Hatcher <timothy@apple.com>
835 Show color swatches in the Web Inspector before the color text so clicking them will not
836 shift the swatch. Also makes multiple swatches in the single property toggle the color format.
838 https://bugs.webkit.org/show_bug.cgi?id=28978
840 Reviewed by Darin Adler.
842 * inspector/front-end/StylesSidebarPane.js:
843 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
844 the processing we do on the property value. This eliminated the old nickname code, since the new
845 WebInspector.Color class handles this. We could also simplify the color regex since more
846 is handled by the Color class. Also no longer uses innerHTML for the linkify code.
847 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
848 process a value given a regex and processor functions.
849 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
850 URL with "url()" syntax surrounding it.
851 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
852 there was an exception just return a text node.
853 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
854 Moved from later in the file.
855 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
856 * inspector/front-end/inspector.css:
858 2009-09-04 Mark Mentovai <mark@chromium.org>
860 Reviewed by Dave Hyatt.
862 https://bugs.webkit.org/show_bug.cgi?id=28614
864 Account for scrollbar state changes that occur during layout.
866 * platform/ScrollView.cpp:
867 (WebCore::ScrollView::updateScrollbars):
869 Perform a layout prior to checking whether the scrollbar modes are
870 off, on, or automatic. The modes may change during layout.
875 (WebCore::Frame::createView):
876 * page/FrameView.cpp:
877 (WebCore::FrameView::FrameView):
878 (WebCore::FrameView::resetScrollbars):
879 (WebCore::FrameView::layout):
881 * platform/ScrollView.h:
883 Eliminate duplicated (and incorrect) scrollbar mode tracking between
884 FrameView and ScrollView.
886 2009-09-04 Yael Aharon <yael.aharon@nokia.com>
888 Reviewed by Darin Adler.
890 hostname and host are mixed up when manipulating anchor elements.
891 https://bugs.webkit.org/show_bug.cgi?id=28954
893 Swapped the implementation of host and hostname, and made sure not to return
894 the port number if it is default for the given protocol.
895 FireFox also avoids returning the protocol number if it is default.
897 Test: fast/dom/Element/hostname-host.html
899 * html/HTMLAnchorElement.cpp:
900 (WebCore::HTMLAnchorElement::host):
901 (WebCore::HTMLAnchorElement::hostname):
902 * page/SecurityOrigin.cpp:
903 (WebCore::SecurityOrigin::isDefaultPortForProtocol):
904 * page/SecurityOrigin.h:
906 2009-09-04 Anders Carlsson <andersca@apple.com>
908 Reviewed by Darin Adler and Steve Falkenburg.
910 Fix <rdar://problem/7192902>.
912 Add the necessary plumbing for having QTMovieWin use WebCore timers.
914 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
915 (WebCore::TaskTimer::initialize):
916 Create the timer and call QTMovieWin::setTaskTimerFuncs.
918 (WebCore::TaskTimer::setTaskTimerDelay):
921 (WebCore::TaskTimer::stopTaskTimer):
924 (WebCore::TaskTimer::fired):
925 Call QTMovieWin::taskTimerFired().
927 (WebCore::MediaPlayerPrivate::load):
928 Initialize the Task timer.
930 * platform/graphics/win/QTMovieWin.cpp:
932 Call the global stopTaskTimer function and setTaskTimerDelay.
934 (QTMovieWin::taskTimerFired):
935 Make this a member function.
937 (QTMovieWin::setTaskTimerFuncs):
938 Set the global function pointers.
940 (QTMovieWin::initializeQuickTime):
942 No need to use the QT shared timer.
943 * platform/graphics/win/QTMovieWin.h:
945 2009-09-04 Tony Chang <tony@chromium.org>
947 Reviewed by David Levin.
949 Fix Chromium Win compile. Missing return statement in
950 WebCore::RenderThemeChromiumSkia::paintSliderThumb.
951 https://bugs.webkit.org/show_bug.cgi?id=28974
953 No new tests, build fix.
955 * rendering/RenderThemeChromiumSkia.cpp:
956 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
958 2009-09-04 Dimitri Glazkov <dglazkov@chromium.org>
960 Unreviewed, build fix.
962 [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
964 https://bugs.webkit.org/show_bug.cgi?id=28696
966 2009-09-04 Anders Carlsson <andersca@apple.com>
970 * WebCore.vcproj/WebCore.vcproj:
972 2009-09-03 Dave Hyatt <hyatt@apple.com>
974 Reviewed by Adam Roben.
976 https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
978 This patch adds new API for adding and removing user scripts from page groups. User scripts
979 are bundled together in isolated worlds (you can have multiple scripts together in the same
982 Added userscripts/ directory for holding new tests (along with a simple test of script injection).
985 * WebCore.vcproj/WebCore.vcproj:
986 * WebCore.xcodeproj/project.pbxproj:
987 * bindings/js/ScriptController.cpp:
988 (WebCore::ScriptController::evaluateInIsolatedWorld):
989 * bindings/js/ScriptController.h:
990 * bindings/v8/ScriptController.cpp:
991 (WebCore::ScriptController::evaluateInIsolatedWorld):
992 * bindings/v8/ScriptController.h:
993 * loader/FrameLoader.cpp:
994 (WebCore::FrameLoader::finishedParsing):
995 (WebCore::FrameLoader::dispatchDocumentElementAvailable):
997 (WebCore::Frame::injectUserScripts):
998 (WebCore::Frame::injectUserScriptsForWorld):
1000 * page/PageGroup.cpp:
1001 (WebCore::PageGroup::~PageGroup):
1002 (WebCore::PageGroup::addUserScript):
1003 (WebCore::PageGroup::removeUserContentForWorld):
1004 (WebCore::PageGroup::removeAllUserContent):
1006 (WebCore::PageGroup::userScripts):
1007 * page/UserScript.h: Added.
1008 (WebCore::UserScript::UserScript):
1009 (WebCore::UserScript::source):
1010 (WebCore::UserScript::url):
1011 (WebCore::UserScript::patterns):
1012 (WebCore::UserScript::worldID):
1013 (WebCore::UserScript::injectionTime):
1014 * page/UserScriptTypes.h: Added.
1017 2009-09-04 Alexey Proskuryakov <ap@apple.com>
1019 Reviewed by Eric Seidel.
1021 https://bugs.webkit.org/show_bug.cgi?id=26402
1022 Crashes when using a detached DocumentType node
1024 Test: fast/dom/DOMImplementation/detached-doctype.html
1026 DocumentType nodes are the only one that can have null document(), and they can never have
1027 children, so they are a degenerate case for NodeLists.
1030 (WebCore::Node::childNodes): Don't try register node list with document if there's no
1031 document. Since there are no changes possible for a DocumentType's node list, this is not
1033 (WebCore::Node::registerDynamicNodeList): Ditto.
1034 (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
1035 was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
1036 de-registration code path that I saw taken was via Node destructor, and that already has
1037 a null check for document).
1039 * bindings/js/JSNodeCustom.cpp:
1040 (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
1041 if there is no window).
1042 (WebCore::JSNode::removeEventListener): Ditto.
1044 2009-09-04 Xan Lopez <xlopez@igalia.com>
1046 Reviewed by Gustavo Noronha.
1048 [GTK] loadFinished never emitted
1049 https://bugs.webkit.org/show_bug.cgi?id=28935
1051 Do not report errors right away from
1052 ResourceHandle::start. Instead return true and schedule an error
1053 to be reported in the handle later. Otherwise WebCore gets
1054 confused and thinks the resource never finished loading, making it
1055 not emit the finished status.
1057 * platform/network/soup/ResourceHandleSoup.cpp:
1058 (WebCore::startHttp):
1061 2009-09-04 Ben Murdoch <benm@google.com>
1063 Reviewed by Eric Seidel.
1065 [V8] DOM Storage bindings: Event Handler should create StorageEvents
1066 https://bugs.webkit.org/show_bug.cgi?id=28942
1069 Causes the following tests that were failing with V8 to pass:
1070 * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
1071 * storage/domstorage/localstorage/complex-keys.html
1072 * storage/domstorage/localstorage/onstorage-attribute-markup.html
1073 * storage/domstorage/localstorage/simple-events.html
1074 * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
1075 * storage/domstorage/localstorage/index-get-and-set.html
1076 * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
1077 * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
1078 * storage/domstorage/sessionstorage/simple-events.html
1079 * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
1080 * storage/domstorage/sessionstorage/index-get-and-set.html
1083 * bindings/v8/V8DOMWrapper.cpp:
1084 (WebCore::V8DOMWrapper::convertEventToV8Object): Create StorageEvents.
1085 * bindings/v8/custom/V8StorageCustom.cpp:
1086 (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
1088 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1090 Reviewed by Timothy Hatcher.
1092 https://bugs.webkit.org/show_bug.cgi?id=28911
1095 * WebCore.vcproj/WebCore.vcproj:
1096 * inspector/InspectorBackend.cpp:
1097 (WebCore::InspectorBackend::dispatchOnInjectedScript):
1098 * inspector/InspectorBackend.h:
1099 * inspector/InspectorBackend.idl:
1100 * inspector/front-end/ConsoleView.js:
1101 (WebInspector.ConsoleView.prototype.doEvalInWindow):
1102 (WebInspector.ConsoleView.prototype._formatarray):
1103 (WebInspector.ConsoleView.prototype._formatnode):
1104 * inspector/front-end/DOMAgent.js:
1105 * inspector/front-end/ElementsPanel.js:
1106 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1107 (WebInspector.ElementsPanel.prototype.searchCanceled):
1108 (WebInspector.ElementsPanel.prototype.performSearch):
1109 * inspector/front-end/InjectedScript.js:
1110 (InjectedScript.dispatch):
1111 * inspector/front-end/InjectedScriptAccess.js: Added.
1112 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1113 (InjectedScriptAccess._installHandler):
1114 * inspector/front-end/MetricsSidebarPane.js:
1115 (WebInspector.MetricsSidebarPane.prototype.update):
1116 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1117 * inspector/front-end/ObjectPropertiesSection.js:
1118 (WebInspector.ObjectPropertiesSection.prototype.update):
1119 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1120 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1121 * inspector/front-end/PropertiesSidebarPane.js:
1122 (WebInspector.PropertiesSidebarPane.prototype.update):
1123 * inspector/front-end/ResourcesPanel.js:
1124 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1125 * inspector/front-end/ScriptsPanel.js:
1126 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1127 * inspector/front-end/StylesSidebarPane.js:
1128 (WebInspector.StylesSidebarPane.prototype.update):
1129 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1130 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
1131 (WebInspector.StylePropertyTreeElement.prototype):
1132 * inspector/front-end/inspector.html:
1134 2009-09-04 Tony Chang <tony@chromium.org>
1136 Reviewed by Eric Seidel.
1138 Implement <input type="range"> for Chromium Linux by painting
1139 the slider and the thumb using skia.
1140 https://bugs.webkit.org/show_bug.cgi?id=28928
1142 Covered by existing tests (we're currently hitting an assert for them).
1144 * rendering/RenderThemeChromiumLinux.cpp:
1145 (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1146 * rendering/RenderThemeChromiumLinux.h:
1147 * rendering/RenderThemeChromiumSkia.cpp:
1148 (WebCore::drawVertLine):
1149 (WebCore::drawHorizLine):
1151 (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
1152 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1153 * rendering/RenderThemeChromiumSkia.h:
1155 2009-09-04 Kent Tamura <tkent@chromium.org>
1157 Reviewed by Eric Seidel.
1159 - Implement <input type=color> as a text field.
1160 - ValidityState::typeMismatch supports for type=color.
1161 https://bugs.webkit.org/show_bug.cgi?id=28966
1163 Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
1164 fast/forms/ValidityState-typeMismatch-color.html
1166 * html/HTMLInputElement.cpp:
1167 (WebCore::HTMLInputElement::valueMissing):
1168 (WebCore::HTMLInputElement::patternMismatch):
1169 (WebCore::HTMLInputElement::setInputType):
1170 (WebCore::HTMLInputElement::formControlType):
1171 (WebCore::HTMLInputElement::saveFormControlState):
1172 (WebCore::HTMLInputElement::restoreFormControlState):
1173 (WebCore::HTMLInputElement::accessKeyAction):
1174 (WebCore::HTMLInputElement::rendererIsNeeded):
1175 (WebCore::HTMLInputElement::createRenderer):
1176 (WebCore::HTMLInputElement::appendFormData):
1177 (WebCore::HTMLInputElement::valueWithDefault):
1178 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
1179 (WebCore::HTMLInputElement::defaultEventHandler):
1180 (WebCore::HTMLInputElement::isRequiredFormControl):
1181 (WebCore::HTMLInputElement::dataList):
1182 * html/HTMLInputElement.h:
1183 (WebCore::HTMLInputElement::):
1184 (WebCore::HTMLInputElement::isTextField):
1185 * html/ValidityState.cpp:
1186 (WebCore::ValidityState::typeMismatch):
1187 (WebCore::ValidityState::isValidColorString):
1188 * html/ValidityState.h:
1190 2009-09-04 Mads Ager <ager@chromium.org>
1192 Reviewed by David Levin.
1194 [V8] Crash when updating document cache
1195 https://bugs.webkit.org/show_bug.cgi?id=28965
1197 Initialization of a V8 JavaScript context can fail. When that
1198 happens, do not attempt to update the document wrapper cache.
1200 This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
1202 * bindings/v8/V8Proxy.cpp:
1203 (WebCore::V8Proxy::updateDocument):
1205 2009-09-04 Yaar Schnitman <yaar@chromium.org>
1207 Reviewed by Eric Seidel.
1211 https://bugs.webkit.org/show_bug.cgi?id=25489
1212 CSS property background-position is now serialized in shorthand string as
1213 background-position-x background-position-y, as the specification requires
1214 (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
1217 https://bugs.webkit.org/show_bug.cgi?id=26541
1218 CSS background-color is now be serialized before other background properties,
1219 as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).
1221 An existing layout test that accepted wrong order and skipped position test
1224 * css/CSSMutableStyleDeclaration.cpp:
1225 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1227 2009-09-03 Kent Tamura <tkent@chromium.org>
1229 Reviewed by David Levin.
1231 Add support for HTMLTextAreaElement.textLength
1232 https://bugs.webkit.org/show_bug.cgi?id=28929
1234 Test: fast/forms/textarea-textlength.html
1236 * html/HTMLTextAreaElement.h:
1237 (WebCore::HTMLTextAreaElement::textLength):
1238 * html/HTMLTextAreaElement.idl:
1240 2009-09-03 Alexey Proskuryakov <ap@apple.com>
1242 Reviewed by Darin Adler.
1244 <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
1245 REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
1247 Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
1249 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
1250 cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
1251 DocumentType node in two documents.
1253 2009-09-03 Brady Eidson <beidson@apple.com>
1255 Reviewed by Sam Weinig.
1257 Page Cache should support pages with Frames.
1258 https://bugs.webkit.org/show_bug.cgi?id=13631
1260 Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
1261 fast/loader/frames-with-unload-handlers-in-page-cache.html
1263 * loader/FrameLoader.cpp:
1264 (WebCore::FrameLoader::canCachePageContainingThisFrame):
1265 (WebCore::FrameLoader::logCanCacheFrameDecision):
1267 2009-09-03 Steve VanDeBogart <vandebo@chromium.org>
1269 Reviewed by Eric Seidel.
1271 Handle middle click in Chromium like QT
1272 https://bugs.webkit.org/show_bug.cgi?id=28696
1274 Tested by middle-click-onpaste.html.
1276 * platform/Pasteboard.h:
1277 * platform/chromium/ChromiumBridge.h:
1278 * platform/chromium/ClipboardChromium.cpp:
1279 (WebCore::ClipboardChromium::getData):
1280 * platform/chromium/PasteboardChromium.cpp:
1281 (WebCore::Pasteboard::Pasteboard):
1282 (WebCore::Pasteboard::isSelectionMode):
1283 (WebCore::Pasteboard::setSelectionMode):
1284 (WebCore::Pasteboard::canSmartReplace):
1285 (WebCore::Pasteboard::plainText):
1286 (WebCore::Pasteboard::documentFragment):
1287 * platform/chromium/PasteboardPrivate.h:
1288 (WebCore::PasteboardPrivate::):
1290 2009-09-03 Brady Eidson <beidson@apple.com>
1292 Reviewed by Sam Weinig.
1294 More partial work towards "Page Cache should support pages with Frames"
1295 https://bugs.webkit.org/show_bug.cgi?id=13631
1297 Fix a bug where subframes weren't asked if they were cacheable.
1299 No new tests, especially since page caching for frames isn't turned on yet.
1300 A layout test will come in my next patch, which enables frames in the page cache.
1302 * loader/FrameLoader.cpp:
1303 (WebCore::FrameLoader::canCachePageContainingThisFrame):
1305 2009-09-03 Adam Barth <abarth@webkit.org>
1307 Reviewed by eric@webkit.org.
1309 https://bugs.webkit.org/show_bug.cgi?id=24696
1311 Added mixed content methods to FrameLoaderClient.
1313 * loader/EmptyClients.h:
1314 (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
1315 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
1316 * loader/FrameLoaderClient.h:
1318 2009-09-03 Kevin Watters <kevinwatters@gmail.com>
1320 Reviewed by Kevin Ollivier.
1323 https://bugs.webkit.org/show_bug.cgi?id=19041
1325 * page/wx/EventHandlerWx.cpp:
1326 (WebCore::EventHandler::passMousePressEventToSubframe):
1327 (WebCore::EventHandler::passMouseMoveEventToSubframe):
1328 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1329 (WebCore::EventHandler::passWheelEventToWidget):
1330 (WebCore::EventHandler::tabsToAllControls):
1331 (WebCore::EventHandler::passSubframeEventToSubframe):
1332 (WebCore::EventHandler::passMouseDownEventToWidget):
1333 * platform/wx/RenderThemeWx.cpp:
1334 (WebCore::nativeWindowForRenderObject):
1335 (WebCore::RenderThemeWx::paintButton):
1336 (WebCore::RenderThemeWx::paintTextField):
1337 (WebCore::RenderThemeWx::paintMenuList):
1338 (WebCore::RenderThemeWx::paintMenuListButton):
1339 * platform/wx/ScrollbarThemeWx.cpp: Added.
1340 (WebCore::ScrollbarTheme::nativeTheme):
1341 (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
1342 (WebCore::ScrollbarThemeWx::scrollbarThickness):
1343 (WebCore::ScrollbarThemeWx::hasThumb):
1344 (WebCore::ScrollbarThemeWx::buttonSize):
1345 (WebCore::ScrollbarThemeWx::backButtonRect):
1346 (WebCore::ScrollbarThemeWx::forwardButtonRect):
1347 (WebCore::ScrollbarThemeWx::trackRect):
1348 (WebCore::ScrollbarThemeWx::paintScrollCorner):
1349 (WebCore::ScrollbarThemeWx::paint):
1350 * platform/wx/ScrollbarThemeWx.h: Added.
1351 (WebCore::ScrollbarThemeWx::hasButtons):
1352 * platform/wx/TemporaryLinkStubs.cpp:
1353 * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
1356 (wxGetGdkWindowForDC):
1357 (wxRenderer_DrawScrollbar):
1358 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
1359 (wxScrollbarPartToHIPressedState):
1360 (wxRenderer_DrawScrollbar):
1361 * platform/wx/wxcode/scrollbar_render.h: Added.
1362 (calcThumbStartAndLength):
1363 * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1364 (WebCore::drawTextWithSpacing):
1365 * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
1366 (GraphicsHDC::GraphicsHDC):
1367 (GraphicsHDC::~GraphicsHDC):
1368 (GraphicsHDC::operator HDC):
1369 (getTSStateForPart):
1370 (wxRenderer_DrawScrollbar):
1373 2009-09-03 Yael Aharon <yael.aharon@nokia.com>
1375 Reviewed by Simon Hausmann.
1377 [Qt] Page content is not displayed in case of HTTP status error
1378 https://bugs.webkit.org/show_bug.cgi?id=28949
1380 If the server sent content, show it to the user instead of an error,
1381 even if the HTTP status code is not success.
1383 * platform/network/qt/QNetworkReplyHandler.cpp:
1384 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1385 (WebCore::QNetworkReplyHandler::finish):
1386 (WebCore::QNetworkReplyHandler::forwardData):
1387 (WebCore::QNetworkReplyHandler::resetState):
1388 * platform/network/qt/QNetworkReplyHandler.h:
1390 2009-09-03 Drew Wilson <atwilson@google.com>
1392 Reviewed by Dimitri Glazkov.
1394 Need to update v8 bindings to support passing multiple ports to postMessage()
1395 https://bugs.webkit.org/show_bug.cgi?id=28839
1397 Added support for passing MessagePortArray to v8 bindings.
1399 New tests that now pass with V8:
1400 fast/events/message-port-multi.html
1401 fast/workers/worker-context-multi-port.html
1402 fast/workers/worker-multi-port.html
1405 Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
1406 * bindings/v8/custom/V8CustomBinding.h:
1407 Added custom postMessage() handlers for various classes.
1408 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1409 (WebCore::DOMWindowPostMessage):
1410 Added custom handler that supports MessagePortArray.
1411 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1412 (WebCore::DedicatedWorkerContextPostMessage):
1413 Added custom handler that supports MessagePortArray.
1414 * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
1415 (WebCore::MessageEventPorts):
1416 Added getter for ports attribute.
1417 (WebCore::MessageEventInitMessageEvent):
1418 Added custom handler that supports MessagePortArray.
1419 * bindings/v8/custom/V8MessagePortCustom.cpp:
1420 (WebCore::MessagePortPostMessage):
1421 Added custom handler that supports MessagePortArray.
1422 (WebCore::getMessagePortArray):
1423 Added helper function that supports converting from a sequence-like object to a MessagePortArray.
1424 * bindings/v8/custom/V8MessagePortCustom.h: Added.
1425 Added declaration for getMessagePortArray().
1426 * bindings/v8/custom/V8WorkerCustom.cpp:
1427 (WebCore::WorkerPostMessage):
1428 Added custom handler that supports MessagePortArray.
1430 2009-09-03 Drew Wilson <atwilson@google.com>
1432 Reviewed by Sam Weinig.
1434 Need to update JS bindings and IDL files to support multiple message ports in postMessage()
1435 https://bugs.webkit.org/show_bug.cgi?id=28460
1437 Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
1439 Tests: fast/events/message-port-multi.html
1440 fast/workers/worker-context-multi-port.html
1441 fast/workers/worker-multi-port.html
1446 * WebCore.vcproj/WebCore.vcproj:
1447 * WebCore.xcodeproj/project.pbxproj:
1448 * WebCoreSources.bkl:
1449 Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
1450 * bindings/js/JSDOMBinding.cpp:
1451 (WebCore::toJSSequence):
1452 Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
1453 * bindings/js/JSDOMBinding.h:
1454 * bindings/js/JSDOMWindowCustom.cpp:
1455 (WebCore::JSDOMWindow::postMessage):
1456 Added custom handler for postMessage() that handles being passed MessagePortArrays.
1457 * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1458 (WebCore::JSDedicatedWorkerContext::postMessage):
1459 Added custom handler for postMessage() that handles being passed MessagePortArrays.
1460 * bindings/js/JSMessageEventCustom.cpp: Added.
1461 (WebCore::JSMessageEvent::ports):
1462 Added custom ports() getter that converts from MessagePortArray to JSArray.
1463 (WebCore::JSMessageEvent::initMessageEvent):
1464 Added support for passing a MessagePortArray.
1465 * bindings/js/JSMessagePortCustom.cpp:
1466 (WebCore::JSMessagePort::postMessage):
1467 Added custom handler for postMessage() that handles being passed MessagePortArray.
1468 (WebCore::fillMessagePortArray):
1469 New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
1470 * bindings/js/JSMessagePortCustom.h: Added.
1471 * bindings/js/JSWorkerCustom.cpp:
1472 (WebCore::JSWorker::postMessage):
1473 Added custom handler for postMessage() that handles being passed MessagePortArray.
1474 * dom/MessageEvent.cpp:
1475 * dom/MessageEvent.h:
1476 (WebCore::MessageEvent::ports):
1477 Changed ports() to return a MessagePortArray* since this value can be null.
1478 * dom/MessageEvent.idl:
1479 Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
1480 * dom/MessagePort.cpp:
1481 * dom/MessagePort.h:
1482 * dom/MessagePort.idl:
1483 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1485 * page/DOMWindow.idl:
1486 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1487 * workers/DedicatedWorkerContext.cpp:
1488 * workers/DedicatedWorkerContext.h:
1489 * workers/DedicatedWorkerContext.idl:
1490 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1491 * workers/Worker.cpp:
1493 * workers/Worker.idl:
1494 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1496 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1498 Reviewed by Timothy Hatcher.
1500 WebInspector: Do not query non-function call frames for function name.
1502 https://bugs.webkit.org/show_bug.cgi?id=28799
1504 * inspector/front-end/InjectedScript.js:
1505 (InjectedScript.CallFrameProxy):
1506 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
1508 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
1510 Reviewed by Timothy Hatcher.
1512 Crash after typing "clear" and pressing return in inspector console.
1514 https://bugs.webkit.org/show_bug.cgi?id=28684
1516 * inspector/front-end/InjectedScript.js:
1517 (InjectedScript._clearConsoleMessages):
1518 (InjectedScript._inspectObject):
1519 (InjectedScript._ensureCommandLineAPIInstalled):
1521 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
1523 Reviewed by Adam Barth.
1525 [V8] Squeezed out some performance from string conversion.
1526 https://bugs.webkit.org/show_bug.cgi?id=28945
1528 * bindings/v8/V8Binding.cpp:
1529 (WebCore::WebCoreStringResource::WebCoreStringResource):
1530 (WebCore::WebCoreStringResource::~WebCoreStringResource):
1531 (WebCore::WebCoreStringResource::data):
1532 (WebCore::WebCoreStringResource::length):
1533 (WebCore::WebCoreStringResource::atomicString):
1534 (WebCore::WebCoreStringResource::string):
1535 Avoid calling virtual length method. Be more explicit with
1536 external memory computation. Avoid function calls in data and
1539 (WebCore::v8StringToWebCoreString):
1540 (WebCore::v8StringToAtomicWebCoreString):
1541 (WebCore::v8NonStringValueToWebCoreString):
1542 (WebCore::v8NonStringValueToAtomicWebCoreString):
1543 Avoid extra calls of WebCoreStringResource::toString. When
1544 AtomicString is computed pass it immediately when constructing
1545 WebCoreStringResource. Use inline buffer for small strings.
1546 * bindings/v8/V8Binding.h:
1547 (WebCore::v8ValueToWebCoreString):
1548 (WebCore::v8ValueToAtomicWebCoreString):
1549 (WebCore::toString):
1550 Inline dispatch of string vs. non-string values.
1552 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
1554 Reviewed by Adam Barth.
1556 [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
1558 https://bugs.webkit.org/show_bug.cgi?id=28946
1560 * bindings/v8/V8IsolatedWorld.cpp:
1561 (WebCore::V8IsolatedWorld::getEnteredImpl):
1562 * bindings/v8/V8IsolatedWorld.h:
1563 (WebCore::V8IsolatedWorld::getEntered):
1565 2009-09-03 Kent Tamura <tkent@chromium.org>
1567 Reviewed by Eric Seidel.
1569 Fix a regression bug that maxLength doesn't work for IME input.
1570 https://bugs.webkit.org/show_bug.cgi?id=25253
1572 Tests: fast/forms/input-maxlength-ime-completed.html
1573 fast/forms/input-maxlength-ime-preedit.html
1575 * dom/InputElement.cpp:
1576 (WebCore::InputElement::handleBeforeTextInsertedEvent):
1577 * dom/InputElement.h:
1578 * html/HTMLInputElement.cpp:
1579 (WebCore::HTMLInputElement::defaultEventHandler):
1580 * wml/WMLInputElement.cpp:
1581 (WebCore::WMLInputElement::defaultEventHandler):
1583 2009-09-03 Cameron McCormack <cam@mcc.id.au>
1585 Reviewed by Eric Seidel.
1587 Make SVGStyleElement title/media/type setters do something
1588 https://bugs.webkit.org/show_bug.cgi?id=28828
1590 Test: svg/dom/style-reflect.html
1592 * svg/SVGStyleElement.cpp:
1593 (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
1594 (WebCore::SVGStyleElement::setType): Ditto.
1595 (WebCore::SVGStyleElement::setMedia): Ditto.
1596 (WebCore::SVGStyleElement::setTitle): Ditto.
1598 2009-09-03 Ben Murdoch <benm@google.com>
1600 https://bugs.webkit.org/show_bug.cgi?id=28872
1602 Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
1604 Test: storage/statement-error-callback.html
1606 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1607 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
1609 2009-09-03 Maxime Simon <simon.maxime@gmail.com>
1611 Reviewed by Eric Seidel.
1613 [Haiku] Adding three font-specific files to WebCore:
1614 FontCustomPlatformData.cpp, FontCustomPlatformData.h,
1615 and FontPlatformData.h
1616 https://bugs.webkit.org/show_bug.cgi?id=28131
1618 * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
1619 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1620 (WebCore::FontCustomPlatformData::fontPlatformData):
1621 (WebCore::createFontCustomPlatformData):
1622 * platform/graphics/haiku/FontCustomPlatformData.h: Added.
1623 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1624 * platform/graphics/haiku/FontPlatformData.h: Added.
1625 (WebCore::FontPlatformData::FontPlatformData):
1626 (WebCore::FontPlatformData::font):
1627 (WebCore::FontPlatformData::size):
1628 (WebCore::FontPlatformData::bold):
1629 (WebCore::FontPlatformData::oblique):
1630 (WebCore::FontPlatformData::hashTableDeletedFontValue):
1632 2009-09-02 Brady Eidson <beidson@apple.com>
1634 Reviewed by Darin Adler.
1636 More partial work towards "Page Cache should support pages with Frames"
1637 https://bugs.webkit.org/show_bug.cgi?id=13631
1639 No new tests. (No change in behavior, current tests pass).
1641 * loader/DocumentLoader.cpp:
1642 (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
1644 * loader/FrameLoader.cpp:
1645 (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
1646 only unload, or unload and pagehide.
1647 (WebCore::FrameLoader::closeURL):
1648 (WebCore::FrameLoader::scheduleRedirection):
1649 (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
1650 (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
1651 where a page is added to the PageCache.
1652 * loader/FrameLoader.h:
1654 * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
1656 2009-09-02 Brady Eidson <beidson@apple.com>
1658 Reviewed by Darin Adler.
1660 More partial work towards "Page Cache should support pages with Frames"
1661 https://bugs.webkit.org/show_bug.cgi?id=13631
1663 - More CachedFrame destruction work.
1664 - Including related Frame and FrameLoader changes and cleanup.
1666 No new tests. (No change in behavior, current tests pass).
1668 * history/CachedFrame.cpp:
1669 (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
1670 (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
1671 (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
1672 the PageCache, do lightweight cleanup to:
1673 A - Prevent referring to a stale Page object.
1674 B - Prevent World Leaks of WebKit objects.
1676 * loader/FrameLoader.cpp:
1677 (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
1678 in the PageCache. ASSERT that fact.
1679 (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
1680 explains it is not effective, and it'd be better to see the crash locally instead of downstream.
1681 (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
1683 (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
1684 (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
1685 * loader/FrameLoader.h:
1688 (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
1689 (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
1692 2009-09-02 Jungshik Shin <jshin@chromium.org>
1694 Reviewed by Dimitri Glazkov
1696 [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
1697 in Chromium. This is to fix a new file added in r28742 since the
1698 last patch for this issue.
1700 https://bugs.webkit.org/show_bug.cgi?id=28410
1702 No change in the test result.
1704 * platform/graphics/chromium/FontLinux.cpp:
1705 (WebCore::TextRunWalker::getNormalizedTextRun):
1707 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
1709 Unreviewed, build fix.
1711 [Chromium] Correct a typo to fix bustage, caused by r47991.
1712 https://bugs.webkit.org/show_bug.cgi?id=27933
1714 * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
1716 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
1718 Unreviewed, build fix.
1720 [Chromium] Add a missing include to fix bustage, caused by r47991.
1721 https://bugs.webkit.org/show_bug.cgi?id=27933
1723 * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
1725 2009-09-02 Jian Li <jianli@chromium.org>
1727 Reviewed by Dimitri Glazkov.
1729 [Chromium] Implement file support for DragData.
1730 https://bugs.webkit.org/show_bug.cgi?id=28896
1732 * platform/chromium/DragDataChromium.cpp:
1733 (WebCore::DragData::containsURL):
1734 (WebCore::DragData::asURL):
1735 (WebCore::DragData::containsCompatibleContent):
1737 2009-09-02 Kevin Watters <kevinwatters@gmail.com>
1739 Reviewed by Kevin Ollivier.
1741 Protect libcurl shared data with Mutex objects via curl_set_share_opt.
1742 https://bugs.webkit.org/show_bug.cgi?id=28920
1744 * platform/network/curl/ResourceHandleManager.cpp:
1745 (WebCore::sharedResourceMutex):
1746 (WebCore::curl_lock_callback):
1747 (WebCore::curl_unlock_callback):
1748 (WebCore::ResourceHandleManager::ResourceHandleManager):
1750 2009-09-02 Evan Stade <estade@chromium.org>
1752 Reviewed by Eric Seidel.
1754 Expose functions to change the focus ring color for Linux Chromium
1756 https://bugs.webkit.org/show_bug.cgi?id=28887
1758 * rendering/RenderThemeChromiumLinux.cpp:
1759 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
1760 (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
1761 (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
1762 * rendering/RenderThemeChromiumLinux.h:
1764 2009-09-02 Dirk Schulze <krit@webkit.org>
1766 Reviewed by Eric Seidel.
1768 SVG Filter premultiplied color support for getImageDate/putImageData
1769 [https://bugs.webkit.org/show_bug.cgi?id=27933]
1771 Patch to get premultiplied color support for Skia on getImageDate/putImageData.
1773 * platform/graphics/skia/ImageBufferSkia.cpp:
1774 (WebCore::getImageData):
1775 (WebCore::putImageData):
1777 2009-09-02 Brady Eidson <beidson@apple.com>
1779 Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
1781 * history/CachedFrame.cpp:
1782 (WebCore::CachedFrameBase::restore):
1783 (WebCore::CachedFrame::open):
1784 * history/CachedFrame.h:
1785 * history/CachedPage.cpp:
1786 (WebCore::CachedPage::restore):
1788 2009-09-02 Brady Eidson <beidson@apple.com>
1790 Reviewed by Darin Adler.
1792 In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
1793 Removing them is a little trouble, but worth it going forward.
1794 The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
1795 was suggested by Darin Adler.
1797 No new tests. (No change in behavior)
1799 Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
1800 * history/CachedFrame.cpp:
1801 (WebCore::CachedFrameBase::CachedFrameBase):
1802 (WebCore::CachedFrameBase::~CachedFrameBase):
1803 (WebCore::CachedFrameBase::restore):
1804 (WebCore::CachedFrame::CachedFrame):
1805 (WebCore::CachedFrame::openInFrameLoader):
1806 * history/CachedFrame.h:
1807 (WebCore::CachedFrameBase::document):
1808 (WebCore::CachedFrameBase::view):
1809 (WebCore::CachedFrameBase::domWindow):
1810 (WebCore::CachedFrame::create):
1811 (WebCore::CachedFrame::documentLoader):
1812 (WebCore::CachedFrame::mousePressNode):
1814 Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
1815 thing capable of interacting with FrameLoader::open(CachedFrameBase):
1816 * history/CachedPage.cpp:
1817 (WebCore::CachedPage::restore):
1818 * history/CachedPage.h:
1819 (WebCore::CachedPage::documentLoader):
1821 Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
1822 * loader/FrameLoader.cpp:
1823 (WebCore::FrameLoader::open):
1824 * loader/FrameLoader.h:
1826 2009-09-02 Ryosuke Niwa <rniwa@webkit.org>
1828 Reviewed by Eric Seidel.
1830 Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
1831 https://bugs.webkit.org/show_bug.cgi?id=24866
1833 This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
1834 (a list to break out of is inside another list item).
1836 When the empty list item appears at the end of another list item, WebKit breaks out of
1837 the outer list item, and adds new item below the outer list item.
1838 Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
1840 Test: editing/execCommand/break-out-of-empty-list-item.html
1842 * editing/CompositeEditCommand.cpp:
1843 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1845 2009-09-02 Brady Eidson <beidson@apple.com>
1847 Reviewed by Sam Weinig.
1849 More partial work towards "Page Cache should support pages with Frames"
1850 https://bugs.webkit.org/show_bug.cgi?id=13631
1852 This patch is primarily about the "CachedFrame tree" and making slightly different decisions
1853 based on whether a CachedFrame is the main frame or a subframe.
1855 - Store whether a CachedFrame represents the main frame or a subframe.
1856 - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames
1857 are reused and need to start new page loads with an empty frame tree.
1858 - Reattach the frame tree to the main frame when restoring it.
1859 - open() the cached subframes in their respective loaders when restoring.
1860 - Properly clear() and destroy() cached subframes.
1861 - When committing to a new page load, and after caching the previous page, only clear the
1862 FrameView for the main frame.
1864 Note that all of above will eventually be necessary as I continue to land this work in pieces,
1865 but doesn't actually change any behavior right now because we still refuse to even *try* to
1866 cache pages with frames.
1868 No new tests. No change in behavior, and current tests continue to pass.
1870 * history/CachedFrame.cpp:
1871 (WebCore::CachedFrame::CachedFrame):
1872 (WebCore::CachedFrame::restore):
1873 (WebCore::CachedFrame::clear):
1874 (WebCore::CachedFrame::destroy):
1875 * history/CachedFrame.h:
1876 (WebCore::CachedFrame::isMainFrame):
1878 * loader/FrameLoader.cpp:
1879 (WebCore::FrameLoader::clear):
1880 (WebCore::FrameLoader::open):
1881 * loader/FrameLoader.h:
1883 2009-09-02 Brady Eidson <beidson@apple.com>
1885 No review, build fix.
1887 http://trac.webkit.org/changeset/47976 broke the build.
1888 Let's try compiling before we land things, shall we?
1890 * platform/graphics/SimpleFontData.cpp:
1891 (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
1893 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
1895 waf build fixes for Windows/MSVC.
1899 2009-09-02 Ben Murdoch <benm@google.com>
1901 Unreviewed build fix for Chromium.
1903 Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
1905 * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
1907 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
1909 waf build fix, don't define symbols we now grab from other sources.
1911 * platform/wx/TemporaryLinkStubs.cpp:
1913 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
1915 Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
1917 * plugins/PluginView.cpp:
1918 (WebCore::PluginView::stop):
1919 * plugins/PluginViewNone.cpp:
1920 (WebCore::PluginView::platformDestroy):
1922 2009-09-02 Charles Wei <charles.wei@torchmobile.com.cn>
1924 Reviewed by Eric Seidel.
1926 Fix the build failure of WebKit for Linux/Qt when WML is enabled
1928 No test cases needed since this just fixes the build problem.
1930 * wml/WMLElement.cpp:
1931 (WebCore::WMLElement::create):
1932 * wml/WMLTableElement.cpp:
1933 (WebCore::WMLTableElement::joinSuperflousColumns):
1934 (WebCore::WMLTableElement::padWithEmptyColumns):
1936 2009-09-02 Yong Li <yong.li@torchmobile.com>
1938 Reviewed by Adam Barth.
1940 WINCE PORT: use shared buffer for custom font data
1941 https://bugs.webkit.org/show_bug.cgi?id=27734
1943 Refactored by Joe Mason <joe.mason@torchmobile.com>
1945 * loader/CachedFont.cpp:
1946 add WINCE to platforms using cached custom data
1947 * platform/graphics/opentype/OpenTypeUtilities.cpp:
1948 (WebCore::renameFont): implement for WinCE
1949 * platform/graphics/opentype/OpenTypeUtilities.h:
1951 * platform/graphics/wince/FontCustomPlatformData.cpp:
1952 (WebCore::setCustomFontCache): add accessor
1953 (WebCore::createFontCustomPlatformData): change param to SharedBuffer
1954 * platform/graphics/wince/FontCustomPlatformData.h:
1955 update function signatures
1957 2009-09-02 Yong Li <yong.li@torchmobile.com>
1959 Reviewed by Adam Barth.
1961 WINCE PORT: font-related build fixes and minor bugfixes
1962 https://bugs.webkit.org/show_bug.cgi?id=27734
1964 * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
1965 * platform/graphics/GlyphPageTreeNode.cpp:
1966 (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
1967 * platform/graphics/SimpleFontData.cpp:
1968 (WebCore::SimpleFontData::SimpleFontData): initialize member vars
1969 * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space
1971 2009-09-02 Jeremy Orlow <jorlow@chromium.org>
1973 Reviewed by Adam Barth.
1975 Another pass at releasing the storage mutex.
1976 https://bugs.webkit.org/show_bug.cgi?id=28904
1978 Another pass at releasing the storage mutex (when applicable) when we finish
1979 executing JavaScript. http://dev.w3.org/html5/spec/Overview.html#storage-mutex
1980 describes the required behavior.
1982 As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
1983 the problem correctly. First of all, I missed that events and timeouts go
1984 through a different call path. Second of all, I didn't consider recursion
1985 correctly. Third of all, my check to see if LocalStorage is alive actually
1986 instantiates it if it isn't yet. Fourth, I forgot DOM_STORAGE guards around
1987 it. So I'm reverting that change completely and doing it more cleanly.
1988 Unfortunately, the solution isn't as portable (and thus I've left out the JSC
1989 implementation for now).
1991 NOTE: This change now tracks recursion on function callbacks in V8. I ran this
1992 by Mads Ager and Mike Belshe and they seemed to think adding the checks were
1993 fine. Most callbacks are asynchronous and thus wouldn't be nested. The few
1994 scenareos where you can have nested callbacks probably should have always been
1995 protected by a recursion guard.
1997 Unfortunately, this can't be tested without a hook added to the layout test
1998 controllers since the lock is (by design) not supposed to be observable by
1999 JavaScript. https://bugs.webkit.org/show_bug.cgi?id=28906
2001 * bindings/js/ScriptController.cpp:
2002 (WebCore::ScriptController::evaluate): revert
2003 * bindings/v8/ScriptController.cpp:
2004 (WebCore::ScriptController::evaluate): revert
2005 * bindings/v8/V8Proxy.cpp:
2006 (WebCore::V8Proxy::runScript):
2007 Add releaseStorageMutex call. A small amount of clean up.
2008 (WebCore::V8Proxy::callFunction):
2009 Add releaseStorageMutex call. A small amount of clean up.
2010 (WebCore::V8Proxy::releaseStorageMutex):
2011 Check to see if localStorage has been instantiated. If so, tell it to
2012 unlock all storage areas.
2013 * bindings/v8/V8Proxy.h:
2015 (WebCore::PageGroup::hasLocalStorage): Make hasLocalStorage public.
2017 2009-09-02 Yong Li <yong.li@torchmobile.com>
2019 Reviewed by Adam Barth.
2021 WINCE PORT: Implement ImageBuffer for WINCE
2022 Implement Image interface with a light class BufferedImage
2023 for rendering ImageBuffer
2024 https://bugs.webkit.org/show_bug.cgi?id=28167
2026 * platform/graphics/wince/ImageBufferData.h: Added.
2027 * platform/graphics/wince/ImageBufferWince.cpp: Added.
2029 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2031 Reviewed by Eric Seidel.
2033 Join the various PluginView destructors into one shared implementation
2035 https://bugs.webkit.org/show_bug.cgi?id=27706
2037 The Qt port used to delete the platform plugin widget as the last step.
2038 Now this is done before cleaning up the script objects and unloading the
2039 plugin package, similar to how the Win port does it.
2041 * plugins/PluginView.cpp:
2042 * plugins/PluginViewNone.cpp:
2043 * plugins/gtk/PluginViewGtk.cpp:
2044 * plugins/mac/PluginViewMac.cpp:
2045 * plugins/qt/PluginViewQt.cpp:
2046 * plugins/win/PluginViewWin.cpp:
2048 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2050 Reviewed by Eric Seidel.
2052 Share PluginView::init() between ports
2054 https://bugs.webkit.org/show_bug.cgi?id=27706
2056 The port-spesific bits are moved to platformStart(), which now returns
2057 a bool based on the success of the platformStart.
2059 m_hasPendingGeometryChange is now initialized in the initializer list
2060 instead of in PluginViewQt's init()
2062 PluginViewMac (currently used only by the Qt port) used to manually call
2063 stop() in the case where an unsupported drawing or event model was detected.
2064 This was wrong, as the m_status and m_isStarted fields should be used to
2065 guard against doing operations on a plugin in this intermediate state.
2067 * plugins/PluginView.cpp:
2068 * plugins/PluginView.h:
2069 * plugins/PluginViewNone.cpp:
2070 * plugins/gtk/PluginViewGtk.cpp:
2071 * plugins/mac/PluginViewMac.cpp:
2072 * plugins/qt/PluginViewQt.cpp:
2073 * plugins/win/PluginViewWin.cpp:
2075 2009-09-02 Ben Murdoch <benm@google.com>
2077 https://bugs.webkit.org/show_bug.cgi?id=28737
2079 Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
2081 * bindings/js/JSSQLTransactionCustom.cpp:
2082 (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
2083 * bindings/v8/V8Binding.cpp:
2084 (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
2085 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2086 (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
2088 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2090 Reviewed by Timothy Hatcher.
2092 WebInspector: Migrate Databases tab to InjectedScript /
2093 serialized interaction.
2095 https://bugs.webkit.org/show_bug.cgi?id=28873
2097 * inspector/InspectorDOMAgent.cpp:
2098 (WebCore::InspectorDOMAgent::handleEvent):
2099 * inspector/front-end/Database.js:
2100 (WebInspector.Database.prototype.isDB):
2101 (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
2102 (WebInspector.Database.prototype.runWithTableNames):
2103 (WebInspector.Database.prototype.executeSql):
2104 (WebInspector.Database.prototype.executeSql.errorCallback):
2105 (WebInspector.Database.prototype.executeSql.queryTransaction):
2106 * inspector/front-end/DatabaseQueryView.js:
2107 (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
2108 (WebInspector.DatabaseQueryView.prototype._queryFinished):
2109 * inspector/front-end/DatabaseTableView.js:
2110 (WebInspector.DatabaseTableView):
2111 * inspector/front-end/StoragePanel.js:
2112 (WebInspector.StoragePanel.prototype.selectDatabase):
2113 (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
2114 (WebInspector.StoragePanel.prototype.updateDatabaseTables):
2115 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
2116 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
2118 2009-09-02 Pavel Feldman <pfeldman@chromium.org>
2120 Not reviewed (trivial followup fix).
2122 Web Inspector: Trivial follow up fix to r47944.
2124 https://bugs.webkit.org/show_bug.cgi?id=28800
2126 * inspector/InspectorBackend.cpp:
2127 (WebCore::InspectorBackend::nodeForId):
2129 2009-09-01 Brian Weinstein <bweinstein@apple.com>
2131 Reviewed by John Sullivan.
2133 Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
2135 * accessibility/AccessibilityRenderObject.cpp:
2136 (WebCore::AccessibilityRenderObject::isReadOnly):
2138 2009-09-01 Patrick Mueller <Patrick_Mueller@us.ibm.com>
2140 Reviewed by Timothy Hatcher.
2142 https://bugs.webkit.org/show_bug.cgi?id=28047
2143 add utility method to enable logging messages for inspector development
2145 manual test case added (see below)
2147 * inspector/front-end/ConsoleView.js:
2148 (WebInspector.ConsoleMessage.prototype.toMessageElement):
2149 (WebInspector.ConsoleMessage.prototype.toString):
2150 * inspector/front-end/inspector.css:
2151 * inspector/front-end/inspector.js:
2153 * manual-tests/inspector/webinspector-log.html: Added.
2155 (WebCore::printMessageSourceAndLevelPrefix):
2159 2009-09-01 Alexey Proskuryakov <ap@apple.com>
2161 Reviewed by Darin Adler.
2163 https://bugs.webkit.org/show_bug.cgi?id=21990
2164 When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
2165 is mistreated as Shift_JIS
2167 <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
2169 WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
2170 This didn't really match any browser, and did cause problems on some sites.
2172 Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
2173 cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
2174 especially in comments. Also, some valid EUC-JP sequences are not known to it.
2176 Some pages that are fixed by this change:
2178 <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
2179 page has incorrect encoding in title, so no browser displays it 100% fine. We now match
2182 <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
2183 in Safari. There is a stray byte in comments that was makes charset detector think it can't
2186 <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
2187 Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
2188 fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
2189 Shift_JIS in normal HTML view though).
2191 Test: fast/encoding/japanese-encoding-mix.html
2193 * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
2194 detection if there is no solid charset information yet.
2196 2009-09-01 Jian Li <jianli@chromium.org>
2198 Reviewed by Dimitri Glazkov.
2200 [V8] FileList cannot be accessed via index in Chromium.
2201 https://bugs.webkit.org/show_bug.cgi?id=28883
2203 Tested by clipboard-file-access.html.
2206 * bindings/v8/V8DOMWrapper.cpp:
2207 (WebCore::V8DOMWrapper::getTemplate):
2208 * bindings/v8/custom/V8CustomBinding.h:
2209 * bindings/v8/custom/V8FileListCustom.cpp: Added.
2211 2009-08-31 Jon Honeycutt <jhoneycutt@apple.com>
2213 Remove the workaround added in r47316.
2215 Reviewed by Sam Weinig.
2217 * accessibility/AXObjectCache.cpp:
2218 (WebCore::AXObjectCache::AXObjectCache):
2220 * accessibility/AXObjectCache.h:
2221 Remove the Document argument to the AXObjectCache constructor and the
2222 m_document member variable, and replace the no-parameter
2223 handleFocusedUIElementChanged() with the two-parameter GTK function.
2224 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2226 * accessibility/chromium/AXObjectCacheChromium.cpp:
2227 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2229 * accessibility/gtk/AXObjectCacheAtk.cpp:
2230 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2232 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2234 Don't pass a null Document when constructing the AXObjectCache.
2236 * accessibility/mac/AXObjectCacheMac.mm:
2237 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2239 * accessibility/win/AXObjectCacheWin.cpp:
2240 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2241 Get the document from the RenderObject; m_document was removed.
2244 (WebCore::Document::axObjectCache):
2245 Don't pass the Document when constructing the AXObjectCache.
2246 (WebCore::Document::setFocusedNode):
2247 Pass the old and new focused RenderObjects when calling
2248 handleFocusedUIElementChanged().
2250 2009-09-01 Yury Semikhatsky <yurys@chromium.org>
2252 Reviewed by Timothy Hatcher.
2254 Check that InspectorDOMAgent and InspectorFrontend are not null
2255 before accessing them in InspectorBackend. They may be null if
2256 InspectorController is closed before an asynchronous operation is
2259 https://bugs.webkit.org/show_bug.cgi?id=28800
2261 * inspector/InspectorBackend.cpp:
2262 (WebCore::InspectorBackend::getCookies):
2263 (WebCore::InspectorBackend::getChildNodes):
2264 (WebCore::InspectorBackend::setAttribute):
2265 (WebCore::InspectorBackend::removeAttribute):
2266 (WebCore::InspectorBackend::setTextNodeValue):
2267 (WebCore::InspectorBackend::highlight):
2268 (WebCore::InspectorBackend::nodeForId):
2269 (WebCore::InspectorBackend::pushNodePathToFrontend):
2270 (WebCore::InspectorBackend::addNodesToSearchResult):
2271 (WebCore::InspectorBackend::selectDatabase):
2272 (WebCore::InspectorBackend::selectDOMStorage):
2273 (WebCore::InspectorBackend::inspectorDOMAgent):
2274 (WebCore::InspectorBackend::inspectorFrontend):
2275 * inspector/InspectorBackend.h:
2277 2009-09-01 Brady Eidson <beidson@apple.com>
2279 Reviewed by Sam Weinig.
2281 Page Cache should support pages with frames
2282 https://bugs.webkit.org/show_bug.cgi?id=13631
2284 Things learned in the full task that this patch addresses:
2285 - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that
2286 needed to be managed separately.
2287 - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
2288 FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
2289 will be guided by the CachedFrames themselves.
2291 No new tests. (No change in behavior, current layout tests pass)
2293 * history/CachedFrame.cpp:
2294 (WebCore::CachedFrame::CachedFrame):
2295 (WebCore::CachedFrame::~CachedFrame):
2296 (WebCore::CachedFrame::clear): Only clear pointers out.
2297 (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
2298 occur simply by navigating back to a page with a CachedFrame.
2299 * history/CachedFrame.h:
2301 * history/CachedPage.cpp:
2302 (WebCore::CachedPage::~CachedPage):
2303 (WebCore::CachedPage::restore): Call clear() after restoring.
2304 (WebCore::CachedPage::clear):
2305 (WebCore::CachedPage::destroy):
2306 * history/CachedPage.h:
2308 * history/PageCache.cpp:
2309 (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
2310 instead of clearing them.
2312 * loader/FrameLoader.cpp:
2313 (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
2314 (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
2315 * loader/FrameLoader.h: Add the friending so CachedPage and CachedFrame can better guide the process.
2316 Even though CachedFrame::restore() isn't used for now, it will be soon.
2318 2009-09-01 Andrei Popescu <andreip@google.com>
2320 Reviewed by David Levin.
2322 Add a "lowMemoryNotification" method to the V8 ScriptController class.
2323 This is needed in order to allow the host application (Android Web browser in this case)
2324 to call the v8::V8::LowMemoryNotification() method added to V8 in
2325 http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
2327 https://bugs.webkit.org/show_bug.cgi?id=28776
2330 * bindings/v8/ScriptController.cpp:
2331 (WebCore::ScriptController::lowMemoryNotification):
2332 * bindings/v8/ScriptController.h:
2334 2009-09-01 Fumitoshi Ukai <ukai@chromium.org>
2336 Reviewed by Adam Barth.
2338 V8 Bindings for WebSocket API.
2339 https://bugs.webkit.org/show_bug.cgi?id=28844
2341 * bindings/v8/DOMObjectsInclude.h:
2342 * bindings/v8/DerivedSourcesAllInOne.cpp:
2343 * bindings/v8/V8DOMWrapper.cpp:
2344 (WebCore::V8DOMWrapper::getTemplate):
2345 (WebCore::V8DOMWrapper::convertToV8Object):
2346 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2347 * bindings/v8/V8DOMWrapper.h:
2348 * bindings/v8/V8Index.cpp:
2349 * bindings/v8/V8Index.h:
2350 * bindings/v8/WorkerContextExecutionProxy.cpp:
2351 * bindings/v8/custom/V8CustomBinding.h:
2352 * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
2354 2009-09-01 Peter Kasting <pkasting@google.com>
2356 Unreviewed (build fix).
2358 Missed a "." -> "->" conversion.
2360 * platform/graphics/qt/ImageDecoderQt.cpp:
2361 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2363 2009-09-01 Peter Kasting <pkasting@google.com>
2365 Unreviewed (build fix).
2367 Try to fix Qt build, take 2. The Qt code had what looks like a
2368 broken virtual function override.
2370 * platform/graphics/qt/ImageDecoderQt.cpp:
2371 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2372 (WebCore::ImageDecoderQt::setData):
2373 * platform/graphics/qt/ImageDecoderQt.h:
2375 2009-09-01 Adam Barth <abarth@webkit.org>
2377 Reviewed by Sam Weinig.
2379 Uninitialized variable in XSSAuditor
2380 https://bugs.webkit.org/show_bug.cgi?id=28874
2382 One ought to initialize variables before use even when it doesn't
2383 matter. No behavior change.
2385 * page/XSSAuditor.h:
2386 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
2388 2009-09-01 Peter Kasting <pkasting@google.com>
2390 Unreviewed (build fix).
2392 Try to fix Qt build.
2394 * platform/graphics/ImageSource.cpp:
2396 2009-08-28 Peter Kasting <pkasting@google.com>
2398 Reviewed by Eric Seidel.
2400 https://bugs.webkit.org/show_bug.cgi?id=27965
2401 Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
2404 * platform/graphics/ImageSource.cpp:
2405 (WebCore::ImageSource::frameHasAlphaAtIndex):
2406 * platform/graphics/qt/ImageSourceQt.cpp:
2407 (WebCore::ImageSource::createFrameAtIndex):
2408 (WebCore::ImageSource::frameHasAlphaAtIndex):
2409 (WebCore::ImageSource::frameIsCompleteAtIndex):
2411 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2413 Reviewed by Timothy Hatcher.
2415 WebInspector: Make InjectedScript self-contained (move necessary
2416 methods from utilities.js into InjectedScript).
2418 https://bugs.webkit.org/show_bug.cgi?id=28871
2420 * inspector/front-end/ElementsPanel.js:
2421 (WebInspector.ElementsPanel.prototype.generateStylesheet):
2422 * inspector/front-end/InjectedScript.js:
2423 (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
2424 (InjectedScript._ensureCommandLineAPIInstalled):
2425 (InjectedScript.pushNodeToFrontend):
2426 (InjectedScript.createProxyObject):
2428 (Object.hasProperties):
2430 (String.prototype.escapeCharacters):
2431 * inspector/front-end/utilities.js:
2433 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
2435 Reviewed by Timothy Hatcher.
2437 WebInspector: console log message repeat count double.
2439 https://bugs.webkit.org/show_bug.cgi?id=28856
2441 * inspector/front-end/InjectedScript.js:
2442 (InjectedScript._evaluateOn):
2444 2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
2446 Reviewed by Mark Rowe.
2448 [Gtk] Fix DATALIST build
2449 https://bugs.webkit.org/show_bug.cgi?id=28826
2451 Add ENABLE_DATALIST to FEATURE_DEFINES.
2455 2009-09-01 Cameron McCormack <cam@mcc.id.au>
2457 Reviewed by Eric Seidel.
2459 SVGSVGElement suspend methods argument/return types incorrect
2460 https://bugs.webkit.org/show_bug.cgi?id=28860
2462 Also fix the style of the argument names.
2464 * svg/SVGSVGElement.cpp:
2465 (WebCore::SVGSVGElement::suspendRedraw):
2466 (WebCore::SVGSVGElement::unsuspendRedraw):
2467 * svg/SVGSVGElement.h:
2469 2009-09-01 Roland Steiner <rolandsteiner@google.com>
2471 Reviewed by Eric Seidel.
2473 Fix bug 28808: [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
2474 (https://bugs.webkit.org/show_bug.cgi?id=28808)
2476 The bug fix adds an explicit check for the validity of the path when it is
2477 transformed into local coordinates.
2478 This was the most suitable place I could find that didn't cause an inordinate
2479 amount of refactoring. Also, it seems pertinent and may also catch other cases
2480 that are not limited to clipping paths.
2482 TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
2484 * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
2486 * platform/graphics/skia/PlatformContextSkia.cpp:
2487 (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
2489 2009-09-01 Yusuke Sato <yusukes@chromium.org>
2491 Reviewed by Eric Seidel.
2493 [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
2494 https://bugs.webkit.org/show_bug.cgi?id=28742
2496 Normalize (NFC) a TextRun when the run contains combining diacritical marks
2497 so that Skia can pick a correct glyph without relying on GSUB table in a font.
2498 This change is for Chromium Linux.
2500 * platform/graphics/chromium/FontLinux.cpp:
2501 (WebCore::TextRunWalker::getTextRun): Added.
2502 (WebCore::TextRunWalker::getNormalizedTextRun): Added.
2504 This function is called when the run contains U+0300..U+036F and converts characters in
2505 the run to the combined form (NFC) using ICU.
2507 2009-09-01 Vitaly Repeshko <vitalyr@chromium.org>
2509 Reviewed by Dimitri Glazkov.
2511 [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
2512 V8Proxy::createWrapperFromCache.
2513 https://bugs.webkit.org/show_bug.cgi?id=28848
2515 * bindings/v8/V8DOMWrapper.cpp:
2516 (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
2517 function for document wrapping.
2518 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
2519 wrapping a new node.
2520 * bindings/v8/V8DOMWrapper.h:
2521 (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
2522 path from V8DOMWrapper.cpp.
2523 * bindings/v8/V8Proxy.cpp:
2524 (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
2525 * bindings/v8/V8Proxy.h:
2526 (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
2529 2009-09-01 Eric Seidel <eric@webkit.org>
2531 No review, windows build fix only. Clearly I should have read the patch closer. :(
2533 Allow excluding certain plugins from loading
2534 https://bugs.webkit.org/show_bug.cgi?id=28677
2536 * plugins/PluginDatabase.cpp:
2537 (WebCore::PluginDatabase::refresh):
2539 2009-09-01 Alexander Pavlov <apavlov@chromium.org>
2541 Reviewed by Timothy Hatcher.
2543 Implement conditional breakpoints in the Web Inspector backend
2544 and add frontend JavaScript stubs.
2545 https://bugs.webkit.org/show_bug.cgi?id=28846
2547 * inspector/InspectorBackend.cpp:
2548 (WebCore::InspectorBackend::profiles):
2549 (WebCore::InspectorBackend::addBreakpoint):
2550 (WebCore::InspectorBackend::updateBreakpoint):
2551 * inspector/InspectorBackend.h:
2552 * inspector/InspectorBackend.idl:
2553 * inspector/JavaScriptDebugServer.cpp:
2554 (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
2555 (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
2556 (WebCore::JavaScriptDebugServer::addBreakpoint):
2557 (WebCore::JavaScriptDebugServer::breakpointInfo):
2558 (WebCore::JavaScriptDebugServer::updateBreakpoint):
2559 (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
2560 (WebCore::JavaScriptDebugServer::removeBreakpoint):
2561 (WebCore::JavaScriptDebugServer::hasBreakpoint):
2562 (WebCore::JavaScriptDebugServer::clearBreakpoints):
2563 * inspector/JavaScriptDebugServer.h:
2564 (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
2565 * inspector/front-end/Breakpoint.js:
2566 (WebInspector.Breakpoint):
2567 (WebInspector.Breakpoint.prototype.get id):
2568 (WebInspector.Breakpoint.prototype.get condition):
2569 (WebInspector.Breakpoint.prototype.set condition):
2570 * inspector/front-end/BreakpointsSidebarPane.js:
2571 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2572 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2573 * inspector/front-end/ScriptsPanel.js:
2574 (WebInspector.ScriptsPanel.prototype.addScript):
2576 2009-09-01 Marius Renn <damarvy@gmail.com>
2578 Reviewed by Eric Seidel.
2580 Added delegate to PluginDatabase to disable loading certain plugins.
2581 This is useful when you want to load from the standard plugin
2582 directory, but want to exclude certain plugins. Plugins may be
2583 excluded early on by name, so that no plugin code is executed (which
2584 may have caused a crash).
2586 * plugins/PluginDatabase.cpp:
2587 (WebCore::PluginDatabase::PluginDatabase):
2588 (WebCore::PluginDatabase::refresh):
2589 * plugins/PluginDatabase.h:
2590 (WebCore::PluginDatabase::setClient):
2591 * plugins/PluginDatabaseClient.h: Added.
2592 (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
2594 2009-08-31 Brady Eidson <beidson@apple.com>
2596 Rubberstamped by Sam Weinig
2598 * WebCore.base.exp: Removed an unneeded symbol export.
2600 2009-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2602 Reviewed by Alexey Proskuryakov.
2604 https://bugs.webkit.org/show_bug.cgi?id=28466
2605 When downloading a file, two GET requests are sent to the HTTP server
2607 Can't think of a way to test this.
2609 * loader/ResourceLoader.cpp:
2610 (WebCore::ResourceLoader::releaseResources): only nullify the
2611 handle's client when it is the ResourceLoader, to support the case
2612 in which a download API uses a different client
2614 2009-08-31 Brian Weinstein <bweinstein@apple.com>
2616 Reviewed by Darin Adler.
2618 Text Fields and Text Areas are reported as read-only by inspect32.exe.
2619 https://bugs.webkit.org/show_bug.cgi?id=28854
2621 Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
2622 and texts areas are read-only.
2624 * accessibility/AccessibilityRenderObject.cpp:
2625 (WebCore::AccessibilityRenderObject::isReadOnly):
2626 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2628 2009-08-31 Drew Wilson <atwilson@google.com>
2630 Reviewed by Alexey Proskuryakov.
2632 fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
2633 https://bugs.webkit.org/show_bug.cgi?id=28795
2635 Changed WorkerContext::close() to no longer stop the worker thread.
2636 It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
2638 * workers/AbstractWorker.cpp:
2639 Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
2640 * workers/DefaultSharedWorkerRepository.cpp:
2641 (WebCore::SharedWorkerProxy::workerContextClosed):
2642 Now shuts down the worker thread when notified that the context is closed.
2643 (WebCore::SharedWorkerProxy::close):
2644 Now handles being invoked when the context is already in the process of shutting down.
2645 * workers/WorkerContext.cpp:
2646 (WebCore::WorkerContext::close):
2647 No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
2648 * workers/WorkerContext.h:
2649 (WebCore::WorkerContext::isClosing):
2650 isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
2651 * workers/WorkerMessagingProxy.cpp:
2652 (WebCore::WorkerExceptionTask::performTask):
2653 Error events should still be delivered even if the worker thread is closing.
2654 Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
2655 (WebCore::WorkerTerminateTask::create):
2656 New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
2657 (WebCore::WorkerTerminateTask::WorkerTerminateTask):
2658 (WebCore::WorkerTerminateTask::performTask):
2659 (WebCore::WorkerMessagingProxy::workerContextClosed):
2660 Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
2661 * workers/WorkerMessagingProxy.h:
2662 WorkerMessagingProxy now overrides workerContextClosed().
2663 * workers/WorkerRunLoop.cpp:
2664 (WebCore::WorkerRunLoop::runInMode):
2665 Now drops tasks on the floor if the WorkerContext is closing.
2667 2009-08-31 Ojan Vafai <ojan@chromium.org>
2669 Not reviewed (build fix)
2671 Build fix for Chromium to match r49707.
2673 * bindings/v8/ScriptCallFrame.cpp:
2674 (WebCore::ScriptCallFrame::ScriptCallFrame):
2675 * bindings/v8/ScriptSourceCode.h:
2676 (WebCore::ScriptSourceCode::ScriptSourceCode):
2677 * platform/KURLGoogle.cpp:
2678 (WebCore::KURL::KURL):
2679 (WebCore::blankURL):
2681 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
2683 Reviewed by Darin Adler.
2685 https://bugs.webkit.org/show_bug.cgi?id=28858
2686 Element.baseURI parses xml:base attribute incorrectly
2688 Test: fast/dom/base-attribute-parsing.xhtml
2690 * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
2693 2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
2695 Reverting http://trac.webkit.org/changeset/47904, because it caused
2696 layout test failure.
2698 Test: fast/dom/Window/new-window-opener.html
2700 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
2702 Reviewed by Darin Adler.
2704 https://bugs.webkit.org/show_bug.cgi?id=28852
2705 Rename KURL single argument constructor to avoid confusion
2707 * platform/KURL.h: The constructor that used to be single argument should now be invoked
2708 as KURL(ParsedURLString, myString).
2711 * bindings/js/JSDOMWindowCustom.cpp:
2712 (WebCore::createWindow):
2713 * bindings/js/ScriptCallFrame.cpp:
2714 (WebCore::ScriptCallFrame::ScriptCallFrame):
2715 * bindings/v8/NPV8Object.cpp:
2716 (_NPN_EvaluateHelper):
2717 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2718 (WebCore::createWindow):
2719 * css/CSSCursorImageValue.cpp:
2720 (WebCore::isSVGCursorIdentifier):
2721 * css/CSSImageValue.cpp:
2722 (WebCore::CSSImageValue::cachedImage):
2723 * css/CSSImportRule.cpp:
2724 (WebCore::CSSImportRule::insertedIntoParent):
2725 * css/StyleBase.cpp:
2726 (WebCore::StyleBase::baseURL):
2728 (WebCore::Document::initSecurityContext):
2730 (WebCore::Element::baseURI):
2731 * editing/markup.cpp:
2732 (WebCore::completeURLs):
2733 * history/HistoryItem.cpp:
2734 (WebCore::HistoryItem::url):
2735 (WebCore::HistoryItem::originalURL):
2736 * inspector/InspectorController.cpp:
2737 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2738 * inspector/InspectorResource.cpp:
2739 (WebCore::InspectorResource::createCached):
2741 (WebCore::Cache::revalidateResource):
2742 * loader/DocLoader.cpp:
2743 (WebCore::DocLoader::requestResource):
2744 * loader/DocumentLoader.cpp:
2745 (WebCore::DocumentLoader::getSubresources):
2746 * loader/FrameLoader.cpp:
2747 (WebCore::FrameLoader::init):
2748 (WebCore::FrameLoader::iconURL):
2749 (WebCore::FrameLoader::scheduleLocationChange):
2750 (WebCore::FrameLoader::redirectionTimerFired):
2751 (WebCore::FrameLoader::loadURLIntoChildFrame):
2752 (WebCore::FrameLoader::startRedirectionTimer):
2753 * loader/appcache/ApplicationCache.cpp:
2754 (WebCore::ApplicationCache::resourceForURL):
2755 * loader/appcache/ApplicationCacheGroup.cpp:
2756 (WebCore::ApplicationCacheGroup::startLoadingEntry):
2757 (WebCore::ApplicationCacheGroup::addEntry):
2758 * loader/appcache/ApplicationCacheStorage.cpp:
2759 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2760 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2761 (WebCore::ApplicationCacheStorage::loadCache):
2762 (WebCore::ApplicationCacheStorage::manifestURLs):
2763 * loader/archive/cf/LegacyWebArchive.cpp:
2764 (WebCore::LegacyWebArchive::createResource):
2765 (WebCore::LegacyWebArchive::create):
2766 * loader/loader.cpp:
2767 (WebCore::Loader::load):
2768 * notifications/NotificationCenter.h:
2769 (WebCore::NotificationCenter::createHTMLNotification):
2770 * platform/KURL.cpp:
2771 (WebCore::KURL::KURL):
2772 (WebCore::blankURL):
2773 * platform/KURLHash.h:
2774 * platform/chromium/ClipboardChromium.cpp:
2775 (WebCore::ClipboardChromium::setData):
2776 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2777 (WebCore::MediaPlayerPrivate::createQTMovie):
2778 * platform/network/cf/ResourceErrorCF.cpp:
2779 (WebCore::ResourceError::operator CFErrorRef):
2780 * platform/network/cf/ResourceRequest.h:
2781 (WebCore::ResourceRequest::ResourceRequest):
2782 * platform/network/chromium/ResourceRequest.h:
2783 (WebCore::ResourceRequest::ResourceRequest):
2784 * platform/network/curl/ResourceHandleManager.cpp:
2785 (WebCore::handleLocalReceiveResponse):
2786 (WebCore::headerCallback):
2787 * platform/network/curl/ResourceRequest.h:
2788 (WebCore::ResourceRequest::ResourceRequest):
2789 * platform/network/mac/ResourceErrorMac.mm:
2790 (WebCore::ResourceError::operator NSError*):
2791 * platform/network/mac/ResourceRequest.h:
2792 (WebCore::ResourceRequest::ResourceRequest):
2793 * platform/network/qt/ResourceRequest.h:
2794 (WebCore::ResourceRequest::ResourceRequest):
2795 * platform/network/soup/ResourceRequest.h:
2796 (WebCore::ResourceRequest::ResourceRequest):
2797 * platform/win/ClipboardWin.cpp:
2798 (WebCore::filesystemPathFromUrlOrTitle):
2799 (WebCore::ClipboardWin::setData):
2800 * svg/graphics/SVGImage.cpp:
2801 (WebCore::SVGImage::dataChanged):
2802 * xml/XSLImportRule.cpp:
2803 (WebCore::XSLImportRule::loadSheet):
2804 * xml/XSLTProcessor.cpp:
2805 (WebCore::docLoaderFunc):
2806 Adapt to the change everywhere the single argument constructor was used. I did a very
2807 cursory check of whether these locations were using this constructor properly, and didn't
2808 notice any obvious mistakes. The new explicit name will hopefully suggest checking this
2809 better when refactoring any such code.
2811 2009-08-31 Beth Dakin <bdakin@apple.com>
2813 Reviewed by Darin Adler.
2815 Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3
2816 Backgrounds and Borders] Add support for 2-keyword values for
2819 This patch allows background-repeat to take two values by making
2820 background-repeat just like background-position internally. There
2821 is a little extra legwork for background-repeat because the spec
2822 indicates that its computed value should be equivalent to how it
2823 was specified. I keep track of the specified thing by setting the
2824 implicit flag whenever background-repeat is defined with only one
2825 value (since internally, we now store this as 2 values.)
2827 Here we can't access the implicit flag, so for backwards-
2828 compatibility's sake, we always return one value when that makes
2830 * css/CSSComputedStyleDeclaration.cpp:
2831 (WebCore::fillRepeatToCSSValue):
2832 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2834 Here we check for the implicit flag and return one value when it is
2836 * css/CSSMutableStyleDeclaration.cpp:
2837 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2838 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
2839 (WebCore::CSSMutableStyleDeclaration::cssText):
2841 Add support for CSSPropertyBackgroundRepeatX and
2842 CSSPropertyBackgroundRepeatY
2843 * css/CSSParser.cpp:
2844 (WebCore::CSSParser::parseValue):
2845 (WebCore::CSSParser::parseFillShorthand):
2846 (WebCore::CSSParser::parseFillRepeat):
2847 (WebCore::CSSParser::parseFillProperty):
2850 Get rid of mappings to RepeatXFill and RepeatYFill since we don't
2851 need those parts of the EFillRepeat enum anymore.
2852 * css/CSSPrimitiveValueMappings.h:
2853 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2854 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
2856 Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
2857 * css/CSSPropertyLonghand.cpp:
2858 (WebCore::initShorthandMap):
2860 Add background-repeat-x and -y.
2861 * css/CSSPropertyNames.in:
2863 Break repeat into x and y.
2864 * css/CSSStyleSelector.cpp:
2865 (WebCore::CSSStyleSelector::applyProperty):
2866 (WebCore::CSSStyleSelector::mapFillRepeatX):
2867 (WebCore::CSSStyleSelector::mapFillRepeatY):
2868 * css/CSSStyleSelector.h:
2870 There is no more RepeatXFill. Instead, look for
2871 fillLayer->repeatX() == RepeatFill
2872 * rendering/RenderBoxModelObject.cpp:
2873 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2875 Break m_repeat into m_repeatX and m_repeatY
2876 * rendering/style/FillLayer.cpp:
2877 (WebCore::FillLayer::FillLayer):
2878 (WebCore::FillLayer::operator=):
2879 (WebCore::FillLayer::operator==):
2880 (WebCore::FillLayer::fillUnsetProperties):
2881 (WebCore::FillLayer::cullEmptyLayers):
2882 * rendering/style/FillLayer.h:
2883 (WebCore::FillLayer::repeatX):
2884 (WebCore::FillLayer::repeatY):
2885 (WebCore::FillLayer::isRepeatXSet):
2886 (WebCore::FillLayer::isRepeatYSet):
2887 (WebCore::FillLayer::setRepeatX):
2888 (WebCore::FillLayer::setRepeatY):
2889 (WebCore::FillLayer::clearRepeatX):
2890 (WebCore::FillLayer::clearRepeatY):
2891 (WebCore::FillLayer::initialFillRepeatX):
2892 (WebCore::FillLayer::initialFillRepeatY):
2894 Again, break backgroundRepeat into backgroundRepeatX and
2896 * rendering/style/RenderStyle.h:
2897 (WebCore::InheritedFlags::backgroundRepeatX):
2898 (WebCore::InheritedFlags::backgroundRepeatY):
2899 (WebCore::InheritedFlags::maskRepeatX):
2900 (WebCore::InheritedFlags::maskRepeatY):
2902 We don't need RepeatXFill or RepeatYFill. Now that we store two
2903 values, they are represented by Repeat-NoRepeat and NoRepeat-
2904 Repeat, respectively.
2905 * rendering/style/RenderStyleConstants.h:
2908 2009-08-31 Simon Fraser <simon.fraser@apple.com>
2910 Reviewed by Dan Bernstein.
2912 Compositing layer size needs to take into account software reflections on children.
2913 https://bugs.webkit.org/show_bug.cgi?id=28837
2915 When computing the bounds of a composited layer, take software-rendered
2916 reflections into account.
2918 Test: compositing/reflections/reflection-in-composited.html
2920 * rendering/RenderLayerCompositor.cpp:
2921 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2923 2009-08-31 Mark Mentovai <mark@chromium.org>
2925 Reviewed by Dave Hyatt.
2927 https://bugs.webkit.org/show_bug.cgi?id=28614
2929 Perform a layout prior to checking whether the scrollbar modes are
2930 off, on, or automatic. The modes may change during layout.
2932 * platform/ScrollView.cpp:
2933 (WebCore::ScrollView::updateScrollbars):
2935 2009-08-31 Patrick Mueller <Patrick_Mueller@us.ibm.com>
2937 Reviewed by Timothy Hatcher.
2939 Inspector Request Headers Should Show Data Sent With Request
2940 https://bugs.webkit.org/show_bug.cgi?id=22920
2942 Manual test added - see below.
2944 * English.lproj/localizedStrings.js:
2945 * inspector/InspectorResource.cpp:
2946 (WebCore::InspectorResource::updateRequest):
2947 (WebCore::InspectorResource::createScriptObject):
2948 (WebCore::InspectorResource::updateScriptObject):
2949 * inspector/InspectorResource.h:
2950 * inspector/front-end/Resource.js:
2951 (WebInspector.Resource):
2952 * inspector/front-end/ResourceView.js:
2953 (WebInspector.ResourceView):
2954 (WebInspector.ResourceView.prototype._refreshURL):
2955 (WebInspector.ResourceView.prototype._refreshQueryString):
2956 (WebInspector.ResourceView.prototype._refreshFormData):
2957 (WebInspector.ResourceView.prototype._refreshRequestPayload):
2958 (WebInspector.ResourceView.prototype._refreshParms):
2959 (WebInspector.ResourceView.prototype._toggleURLdecoding):
2960 (WebInspector.ResourceView.prototype._getHeaderValue):
2961 (WebInspector.ResourceView.prototype._refreshRequestHeaders):
2962 * inspector/front-end/inspector.css:
2963 * inspector/front-end/inspector.js:
2964 (WebInspector.addResource):
2965 (WebInspector.updateResource):
2966 * manual-tests/inspector/display-form-data.html: Added.
2968 2009-08-31 Pavel Feldman <pfeldman@chromium.org>
2970 Reviewed by Timothy Hatcher.
2972 WebInspector: pass call frames into the frontend as a part of
2975 https://bugs.webkit.org/show_bug.cgi?id=28847
2977 * inspector/InspectorController.cpp:
2978 (WebCore::InspectorController::didPause):
2979 * inspector/InspectorFrontend.cpp:
2980 (WebCore::InspectorFrontend::pausedScript):
2981 * inspector/InspectorFrontend.h:
2982 * inspector/front-end/ScriptsPanel.js:
2983 (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2984 * inspector/front-end/inspector.js:
2985 (WebInspector.pausedScript):
2987 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2989 Reviewed by Ariya Hidayat.
2991 [Qt] Un-blacklist Silverlight on Mac
2993 Does not seem to crash anymore, probably due to how we now handle
2994 drawing and event model handshake better.
2996 * plugins/mac/PluginPackageMac.cpp:
2997 (WebCore::PluginPackage::isPluginBlacklisted):
2999 2009-08-31 Cameron McCormack <cam@mcc.id.au>
3001 Reviewed by Eric Seidel.
3003 https://bugs.webkit.org/show_bug.cgi?id=28827
3004 SVGSVGElement.unsuspendRedraw() shouldn't throw
3006 * svg/SVGSVGElement.cpp:
3007 (WebCore::SVGSVGElement::unsuspendRedraw):
3008 * svg/SVGSVGElement.h:
3009 * svg/SVGSVGElement.idl:
3011 2009-08-31 Kent Tamura <tkent@chromium.org>
3013 Reviewed by Eric Seidel.
3015 - Change the reutrn type of HTMLInputElement::list so that it
3016 conforms to the standard.
3017 - Add HTMLInputElement::dataList()
3018 https://bugs.webkit.org/show_bug.cgi?id=28769
3021 * html/HTMLInputElement.cpp:
3022 (WebCore::HTMLInputElement::list):
3023 (WebCore::HTMLInputElement::dataList):
3024 (WebCore::HTMLInputElement::selectedOption):
3025 * html/HTMLInputElement.h:
3026 * html/HTMLInputElement.idl:
3028 2009-08-31 Kwang Yul Seo <skyul@company100.net>
3030 Reviewed by Eric Seidel.
3032 Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
3033 https://bugs.webkit.org/show_bug.cgi?id=28802
3035 Remove ASSERT because the frame could be null if the
3036 ResourceHandle is not associated with any frame, e.g. if we are
3038 If the frame is not null but the page is null this must be an
3039 attempted load from an onUnload handler, so let's just block it.
3041 * platform/network/curl/ResourceHandleCurl.cpp:
3042 (WebCore::ResourceHandle::start):
3044 2009-08-31 Maxime Simon <simon.maxime@gmail.com>
3046 Reviewed by Eric Seidel.
3048 Build fix for platforms which don't enable DOM_STORAGE.
3049 https://bugs.webkit.org/show_bug.cgi?id=28834
3051 * bindings/js/ScriptController.cpp:
3052 (WebCore::ScriptController::evaluate):
3053 * bindings/v8/ScriptController.cpp:
3054 (WebCore::ScriptController::evaluate):
3056 2009-08-29 Adele Peterson <adele@apple.com>
3058 Reviewed by Dan Bernstein.
3060 Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
3061 Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
3063 Test: accessibility/aria-activedescendant-crash.html
3065 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
3067 2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
3069 Reviewed by Oliver Hunt.
3071 Gtk Build broken for OSX Quartz
3072 https://bugs.webkit.org/show_bug.cgi?id=28727
3074 Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
3075 port in Mac and Unix/Linux.
3077 * plugins/PluginView.cpp:
3078 (WebCore::PluginView::PluginView):
3079 * plugins/PluginView.h:
3080 * plugins/gtk/PluginViewGtk.cpp:
3081 (WebCore::PluginView::setNPWindowIfNeeded):
3082 (WebCore::PluginView::getValueStatic):
3083 (WebCore::PluginView::getValue):
3084 (WebCore::PluginView::init):
3086 2009-08-28 Simon Fraser <simon.fraser@apple.com>
3088 Reviewed by Dan Bernstein.
3090 Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
3091 https://bugs.webkit.org/show_bug.cgi?id=28754
3093 For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
3094 ancestor, since the layer x and y are relative to that ancestor. However, this could
3095 skip over the ancestorLayer, thus giving the wrong result.
3097 Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
3098 and checking for ancestorLayer along the way. If found, compute offset of both to
3099 the enclosingPositionedAncestor() and subtract.
3101 This also fixes a positioning bug with abs. positioned elements in reflections,
3102 so there is a new reflection test with a pixel result.
3104 Tests: compositing/geometry/abs-position-inside-opacity.html
3105 fast/reflections/abs-position-in-reflection.html
3107 * rendering/RenderLayer.cpp:
3108 (WebCore::isPositionedContainer):
3109 (WebCore::RenderLayer::enclosingPositionedAncestor):
3110 (WebCore::RenderLayer::enclosingTransformedAncestor):
3111 (WebCore::RenderLayer::convertToLayerCoords):
3113 2009-08-28 Simon Fraser <simon.fraser@apple.com>
3115 Reviewed by Mark Rowe
3117 Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
3118 https://bugs.webkit.org/show_bug.cgi?id=27727
3120 When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of
3121 CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
3122 because there is not a unique enum value for WebkitCSSTransformValue.
3124 * bindings/objc/DOMCSS.mm:
3127 2009-08-28 Peter Kasting <pkasting@google.com>
3129 Reviewed by Jan Michael Alonzo.
3131 https://bugs.webkit.org/show_bug.cgi?id=28308
3132 Fix some warnings introduced by r47381.
3134 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3135 (WebCore::convertCMYKToRGBA):
3136 (WebCore::convertRGBToRGBA):
3138 2009-08-28 Ada Chan <adachan@apple.com>
3140 Reviewed by Adam Roben.
3142 https://bugs.webkit.org/show_bug.cgi?id=21442
3143 Make sure filesystemPathFromUrlOrTitle() returns a string with length
3146 * platform/win/ClipboardWin.cpp:
3147 (WebCore::filesystemPathFromUrlOrTitle):
3149 2009-08-28 Dumitru Daniliuc <dumi@chromium.org>
3151 Reviewed by Dimitri Glazkov.
3153 Adding Chromium's VFS for Linux and Mac.
3155 https://bugs.webkit.org/show_bug.cgi?id=28750
3158 * platform/chromium/ChromiumBridge.h:
3159 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3160 (WebCore::SQLiteFileSystem::openDatabase):
3161 (WebCore::SQLiteFileSystem::deleteDatabaseFile):
3162 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
3163 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
3164 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
3165 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3167 2009-08-28 Vitaly Repeshko <vitalyr@chromium.org>
3169 Reviewed by Dimitri Glazkov.
3171 [V8] Made bindings use Node::setOnEvent functions for Node descendants
3172 instead of Node::setAttributeEventListener.
3174 Node::setAttributeEventListener is an internal function and
3175 doesn't do the forwarding to DOM window that is required for some
3177 https://bugs.webkit.org/show_bug.cgi?id=28709
3179 Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
3181 * bindings/scripts/CodeGeneratorV8.pm:
3182 Now generates EventListener accessors for Node descendants instead
3183 of using custom callbacks.
3184 * bindings/v8/V8DOMWrapper.cpp:
3185 (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
3186 * bindings/v8/V8DOMWrapper.h:
3187 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
3189 * bindings/v8/V8Utilities.cpp:
3190 (WebCore::createHiddenDependency):
3191 (WebCore::removeHiddenDependency):
3192 Changed signature to accept Handle instead of Local.
3193 * bindings/v8/V8Utilities.h:
3194 * bindings/v8/custom/V8CustomBinding.h:
3195 * bindings/v8/custom/V8NodeCustom.cpp:
3196 (WebCore::CALLBACK_FUNC_DECL):
3197 Removed custom callbacks for EventListener accessors.
3199 2009-08-28 Ben Murdoch <benm@google.com>
3201 https://bugs.webkit.org/show_bug.cgi?id=28803
3203 Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
3205 * bindings/v8/custom/V8CustomVoidCallback.cpp:
3206 (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
3208 2009-08-28 Peter Kasting <pkasting@google.com>
3210 Not reviewed (build fix).
3212 * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
3213 (WebCore::ImageDecoder::create):
3214 (WebCore::ImageDecoderQt::ImageDecoderQt):
3215 * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
3217 2009-08-28 Peter Kasting <pkasting@google.com>
3219 Reviewed by Eric Seidel.
3221 https://bugs.webkit.org/show_bug.cgi?id=27965
3222 Move ImageDecoder creation function to a factory function on
3223 ImageDecoder. This is arguably where it makes the most sense anyway,
3224 and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
3227 * platform/graphics/ImageSource.cpp:
3228 * platform/graphics/qt/ImageDecoderQt.cpp:
3229 (WebCore::ImageDecoder::create):
3230 * platform/graphics/qt/ImageDecoderQt.h:
3231 * platform/graphics/qt/ImageSourceQt.cpp:
3232 (WebCore::ImageSource::setData):
3233 * platform/image-decoders/ImageDecoder.cpp:
3234 * platform/image-decoders/ImageDecoder.h:
3236 2009-08-28 Peter Kasting <pkasting@google.com>
3238 Reviewed by Eric Seidel.
3240 https://bugs.webkit.org/show_bug.cgi?id=28785
3241 Combine duplicated code from ImageDecoder*.cpp into the main
3244 * platform/image-decoders/ImageDecoder.cpp:
3245 (WebCore::RGBA32Buffer::RGBA32Buffer):
3246 (WebCore::RGBA32Buffer::clear):
3247 (WebCore::RGBA32Buffer::zeroFill):
3248 (WebCore::RGBA32Buffer::copyBitmapData):
3249 (WebCore::RGBA32Buffer::setSize):
3250 (WebCore::RGBA32Buffer::hasAlpha):
3251 (WebCore::RGBA32Buffer::setHasAlpha):
3252 (WebCore::RGBA32Buffer::setStatus):
3253 (WebCore::RGBA32Buffer::operator=):
3254 (WebCore::RGBA32Buffer::width):
3255 (WebCore::RGBA32Buffer::height):
3256 * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
3257 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
3258 * platform/image-decoders/wx/ImageDecoderWx.cpp:
3260 2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3262 Reviewed by Holger Freyther.
3264 https://bugs.webkit.org/show_bug.cgi?id=25889
3265 [GTK] scrollbar policy for main frame is not implementable
3267 Override setScrollbarModes to correctly forward scrollbar modes
3268 policy changes to client code, via a new platform-specific method,
3269 scrollbarsPolicyDidChange.
3271 * page/ChromeClient.h:
3272 (WebCore::ChromeClient::scrollbarsPolicyDidChange):
3273 * platform/ScrollView.cpp:
3274 (WebCore::ScrollView::createScrollbar):
3275 * platform/ScrollView.h:
3276 * platform/gtk/ScrollViewGtk.cpp:
3277 (WebCore::ScrollView::setScrollbarModes):
3279 2009-08-28 Cédric Luthi <cedric.luthi@gmail.com>
3281 Reviewed by Tor Arne Vestbø
3283 [Qt/Mac] Un-blacklist the QuickTime plugin
3285 https://bugs.webkit.org/show_bug.cgi?id=28768
3287 Now that the drawing model is properly negotiated, there is no need the
3288 blacklist the QuickTime plugin anymore.
3290 This revealed a bug in PluginView::performRequest: it should not initiate a
3291 request if the plugin has been stopped, which is what happens when a plugin
3292 only supports the QuickDraw drawing model.
3294 * plugins/PluginView.cpp:
3295 * plugins/mac/PluginPackageMac.cpp:
3297 2009-08-28 Yury Semikhatsky <yurys@chromium.org>
3299 Reviewed by Timothy Hatcher.
3301 Set DOM agent document to 0 in InspectorController::close to
3302 make DOM agent remove DOM listeners from the inspected document.
3304 Replace windowVisible checks with m_frontend checks to as inspector
3305 window lives in a different process in Chromium while frontend proxy
3306 is in the inspected page process.
3308 https://bugs.webkit.org/show_bug.cgi?id=28800
3310 * inspector/InspectorController.cpp:
3311 (WebCore::InspectorController::inspect):
3312 (WebCore::InspectorController::addConsoleMessage):
3313 (WebCore::InspectorController::close):
3314 (WebCore::InspectorController::pruneResources):
3315 (WebCore::InspectorController::didCommitLoad):
3316 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3317 (WebCore::InspectorController::identifierForInitialRequest):
3318 (WebCore::InspectorController::willSendRequest):
3319 (WebCore::InspectorController::didReceiveResponse):
3320 (WebCore::InspectorController::didReceiveContentLength):
3321 (WebCore::InspectorController::didFinishLoading):
3322 (WebCore::InspectorController::didFailLoading):
3323 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3324 (WebCore::InspectorController::scriptImported):
3325 (WebCore::InspectorController::didOpenDatabase):
3326 (WebCore::InspectorController::didUseDOMStorage):
3327 (WebCore::InspectorController::addProfile):
3328 * inspector/InspectorController.h:
3330 2009-08-28 Mikhail Naganov <mnaganov@chromium.org>
3332 Reviewed by Timothy Hatcher.
3334 Remove dependency of SummaryBar on WebInspector.resourceCategories.
3336 https://bugs.webkit.org/show_bug.cgi?id=28801
3338 * inspector/front-end/ResourcesPanel.js:
3339 (WebInspector.ResourcesPanel):
3340 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
3341 * inspector/front-end/SummaryBar.js:
3342 (WebInspector.SummaryBar):
3343 (WebInspector.SummaryBar.prototype.update):
3345 2009-08-28 Pavel Feldman <pfeldman@chromium.org>
3347 Not reviewed (patching in l18n change that was missing due to
3348 the git binary diff format).
3350 https://bugs.webkit.org/show_bug.cgi?id=28429
3352 * English.lproj/localizedStrings.js:
3354 2009-08-28 Adam Barth <abarth@webkit.org>
3356 Reviewed by Eric Seidel.
3358 Make XSSAuditor go fast
3359 https://bugs.webkit.org/show_bug.cgi?id=28667
3361 Make the XSSAuditor go faster by implementing two optimizations:
3363 1) We avoid canonicalizing scripts that are larger than the page's URL.
3364 This saves a bunch of time for large inline scripts.
3366 2) We memoize canonicalizing the page's URL because it's silly to
3367 canonicalize repeated for each inline event listener.
3369 These optimizations have a measurable affect on the intl1 page cycler.
3373 * page/XSSAuditor.cpp:
3374 (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
3375 (WebCore::XSSAuditor::canEvaluate):
3376 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
3377 (WebCore::XSSAuditor::canCreateInlineEventListener):
3378 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
3379 (WebCore::XSSAuditor::canLoadObject):
3380 (WebCore::XSSAuditor::canSetBaseElementURL):
3381 (WebCore::XSSAuditor::decodeURL):
3382 (WebCore::XSSAuditor::findInRequest):
3383 * page/XSSAuditor.h:
3385 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
3387 Unreviewed, build fix.
3389 Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
3390 fast/canvas/change-context.html. And it's alright to reach it.
3392 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3393 (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
3395 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
3397 Not reviewed. Build fix for http://trac.webkit.org/changeset/47840
3399 Peter's change forgot one m_decoder->
3401 * platform/graphics/ImageSource.cpp:
3402 (WebCore::ImageSource::frameSizeAtIndex):
3404 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
3406 Unreviewed, build fix.
3408 [V8] Add NULL-check, since the context ain't changeable no more, and
3409 thus getContext could return 0.
3411 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3412 (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
3414 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
3416 Reviewed by Eric Seidel.
3418 dataTransfer.types() should include type "Files" when files are present in the clipboard.
3419 https://bugs.webkit.org/show_bug.cgi?id=28780
3421 Add dataTransfer type "Files" to the chromium port. Add eseidel's
3422 patch for same for the mac port.
3424 * platform/chromium/ClipboardChromium.cpp:
3426 2009-08-27 Chris Marrin <cmarrin@apple.com>
3428 Reviewed by Simon Fraser.
3430 Removed GL_ from all constants, and gl prefix from all calls
3431 https://bugs.webkit.org/show_bug.cgi?id=28773
3433 This was done for the external API in CanvasRenderingContext3D and
3434 the internal API in GraphicsContext3D.
3436 * html/canvas/CanvasRenderingContext3D.cpp:
3437 * html/canvas/CanvasRenderingContext3D.h:
3438 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3439 * html/canvas/CanvasRenderingContext3D.idl:
3440 * platform/graphics/GraphicsContext3D.h:
3441 * platform/graphics/mac/GraphicsContext3DMac.cpp:
3443 2009-08-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3445 Qt and Gtk build fixes. Not reviewed.
3447 Add CanvasRenderingContext3D.idl to the build scripts.
3452 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
3454 Reviewed by Darin Fisher.
3456 Release the storage mutex whenever leaving JavaScript execution.
3457 https://bugs.webkit.org/show_bug.cgi?id=28789
3459 http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
3460 required behavior. After we leave JavaScript, we must be sure the storage
3461 mutex has been released. At the end of evaluate(), if localStorage has been
3462 instantiated, tell it to release any locks that may be applicable.
3464 * bindings/js/ScriptController.cpp:
3465 (WebCore::ScriptController::evaluate):
3466 * bindings/v8/ScriptController.cpp:
3467 (WebCore::ScriptController::evaluate):
3469 2009-08-27 Alexey Proskuryakov <ap@apple.com>
3471 Reviewed by Oliver Hunt.
3473 https://bugs.webkit.org/show_bug.cgi?id=28753
3474 <rdar://problem/7173448> Excessive number of threads (and a crash)
3476 Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
3477 - when resolver is idle, the first few requests are sent immediately (they may or may not
3479 - if there are a few requests in flight already, coalesce all requests for one second;
3480 - to avoid pathological cases with lots of links to different sites on a page, only ask
3481 CFHost about a handful of names (dropping the rest).
3483 Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
3484 link, and these tend to have identical host name.
3486 * platform/network/cf/DNSCFNet.cpp:
3487 (WebCore::DNSResolveQueue::DNSResolveQueue):
3488 (WebCore::DNSResolveQueue::shared):
3489 (WebCore::DNSResolveQueue::add):
3490 (WebCore::DNSResolveQueue::decrementRequestCount):
3491 (WebCore::DNSResolveQueue::fired):
3492 (WebCore::clientCallback):
3493 (WebCore::DNSResolveQueue::resolve):
3494 (WebCore::prefetchDNS):
3496 2009-08-27 Chris Marrin <cmarrin@apple.com>
3498 Reviewed by Simon Fraser.
3500 Final patch for Canvas 3D support
3501 https://bugs.webkit.org/show_bug.cgi?id=28018
3503 This hooks everything up and provides a working implementation of
3504 Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
3505 passing the opaque context and texture pointers so a Canvas3DLayer can be
3506 created (more on that later). It also plumbs changes to the 3D canvas so
3507 that Canvas3DLayer can recomposite the results.
3509 A 3D Canvas element needs a RenderLayer and compositing layer to render.
3510 This is because it renders to an off-screen texture in the GPU and then
3511 hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
3512 render that texture as a 3D quad. This keeps everything in GPU memory to
3513 maximize performance. When a CanvasRenderingContext3D is created it
3514 forces a style recalc which creates the RenderLayer and compositing
3517 I repurposed an existing flag which was put in place for animation to accomplish
3518 this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from
3519 AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
3520 to do a complete style recalc, even though the style itself has not really
3523 This patch also fixes a couple of bugs discovered when testing with 3d-canvas
3524 turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
3525 This is needed when making a JS wrapper for the object so the prototype
3526 property can be set.
3528 Test: fast/canvas/change-context.html
3530 * WebCore.xcodeproj/project.pbxproj:
3531 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
3532 (WebCore::JSCanvasRenderingContext3D::glDrawElements):
3533 * bindings/js/JSCanvasRenderingContextCustom.cpp:
3536 (WebCore::Element::recalcStyle):
3538 (WebCore::Node::setNeedsStyleRecalc):
3541 * html/HTMLCanvasElement.cpp:
3542 (WebCore::HTMLCanvasElement::getContext):
3543 (WebCore::HTMLCanvasElement::is3D):
3544 * html/HTMLCanvasElement.h:
3545 * html/canvas/CanvasBuffer.cpp:
3546 (WebCore::CanvasBuffer::create):
3547 (WebCore::CanvasBuffer::CanvasBuffer):
3548 (WebCore::CanvasBuffer::_deleteObject):
3549 * html/canvas/CanvasBuffer.h:
3550 * html/canvas/CanvasFramebuffer.cpp:
3551 (WebCore::CanvasFramebuffer::create):
3552 (WebCore::CanvasFramebuffer::CanvasFramebuffer):
3553 (WebCore::CanvasFramebuffer::_deleteObject):
3554 * html/canvas/CanvasFramebuffer.h:
3555 * html/canvas/CanvasObject.cpp:
3556 (WebCore::CanvasObject::CanvasObject):
3557 (WebCore::CanvasObject::~CanvasObject):
3558 (WebCore::CanvasObject::deleteObject):
3559 * html/canvas/CanvasObject.h:
3560 (WebCore::CanvasObject::context):
3561 * html/canvas/CanvasProgram.cpp:
3562 (WebCore::CanvasProgram::create):
3563 (WebCore::CanvasProgram::CanvasProgram):
3564 (WebCore::CanvasProgram::_deleteObject):
3565 * html/canvas/CanvasProgram.h:
3566 * html/canvas/CanvasRenderbuffer.cpp:
3567 (WebCore::CanvasRenderbuffer::create):
3568 (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
3569 (WebCore::CanvasRenderbuffer::_deleteObject):
3570 * html/canvas/CanvasRenderbuffer.h:
3571 * html/canvas/CanvasRenderingContext3D.cpp:
3572 (WebCore::CanvasRenderingContext3D::createBuffer):
3573 (WebCore::CanvasRenderingContext3D::createFramebuffer):
3574 (WebCore::CanvasRenderingContext3D::createTexture):
3575 (WebCore::CanvasRenderingContext3D::createProgram):
3576 (WebCore::CanvasRenderingContext3D::createRenderbuffer):
3577 (WebCore::CanvasRenderingContext3D::createShader):
3578 * html/canvas/CanvasRenderingContext3D.h:
3579 (WebCore::CanvasRenderingContext3D::graphicsContext3D):
3580 * html/canvas/CanvasShader.cpp:
3581 (WebCore::CanvasShader::create):
3582 (WebCore::CanvasShader::CanvasShader):
3583 (WebCore::CanvasShader::_deleteObject):
3584 * html/canvas/CanvasShader.h:
3585 * html/canvas/CanvasTexture.cpp:
3586 (WebCore::CanvasTexture::create):
3587 (WebCore::CanvasTexture::CanvasTexture):
3588 (WebCore::CanvasTexture::_deleteObject):
3589 * html/canvas/CanvasTexture.h:
3590 * page/DOMWindow.idl: