1 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
3 Reviewed by Holger Freyther.
5 https://bugs.webkit.org/show_bug.cgi?id=24423
6 Use new soup_message_body_set_accumulate API in soup backend
8 Disable accumulating chunks for request_body on file uploads,
9 using the new soup API.
11 * platform/network/soup/ResourceHandleSoup.cpp:
12 (WebCore::ResourceHandle::startHttp):
14 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
16 Reviewed by Holger Freyther.
18 Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with
19 the new soup_message_body_set_accumulate API in soup.
21 * platform/network/soup/ResourceHandleSoup.cpp:
22 (WebCore::gotHeadersCallback):
23 (WebCore::ResourceHandle::startHttp):
25 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
27 Reviewed by Holger Freyther.
29 https://bugs.webkit.org/show_bug.cgi?id=24051
30 Soup backend needs content sniffing capabilities
32 Perform content sniffing when using soup, so that we have a chance
33 of figuring out the Content-Type of the file if it's not sent by
36 * platform/network/ResourceHandleInternal.h:
37 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
38 * platform/network/soup/ResourceHandleSoup.cpp:
39 (WebCore::gotHeadersCallback):
40 (WebCore::gotChunkCallback):
42 2009-03-06 Hironori Bono <hbono@chromium.org>
44 Reviewed by Alexey Proskuryakov.
46 https://bugs.webkit.org/show_bug.cgi?id=24342
47 Cannot insert a Thai character after a Thai prepend character when using ICU 4.0
49 This change creates a new break iterator "cursorMovementIterator" for
50 moving cursors and use it when moving an input cursor.
51 In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset
52 based on the one of ICU 3.8.
53 On the other hand, in "TextBreakIteratorQt.cpp", this break iterator
54 just calls the characterBreakIterator() function.
56 Test: editing/inserting/insert-thai-characters-001.html
58 * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator().
59 * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU.
60 (WebCore::setUpIteratorWithRules): Ditto.
61 (WebCore::cursorMovementIterator): Ditto.
62 * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt.
63 (WebCore::cursorMovementIterator): Ditto.
64 * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor.
65 (WebCore::RenderText::previousOffset): Ditto.
66 (WebCore::RenderText::nextOffset): Ditto.
68 2009-03-05 Alexey Proskuryakov <ap@webkit.org>
70 Reviewed by Oliver Hunt.
72 <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
73 Characters (a compatibility issue with widgets).
75 Test: http/tests/xmlhttprequest/broken-xml-encoding.html
77 Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML
80 * loader/TextResourceDecoder.cpp:
81 (WebCore::TextResourceDecoder::TextResourceDecoder):
82 (WebCore::TextResourceDecoder::decode):
83 (WebCore::TextResourceDecoder::flush):
84 * loader/TextResourceDecoder.h:
85 (WebCore::TextResourceDecoder::useLenientXMLDecoding):
86 Don't stop on XML decoding errors if useLenientXMLDecoding() was called.
88 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML
89 decoding errors. This behavior is now limited to other kinds of XML content.
91 2009-03-05 Simone Fiorentino <simone.fiorentino@consulenti.fastweb.it>
93 Bug 24382: request to add SH4 platform
95 <https://bugs.webkit.org/show_bug.cgi?id=24382>
97 Reviewed by David Kilzer.
99 * platform/text/AtomicString.cpp:
100 (WebCore::equal): Aligned memory access on SH4 platform.
102 2009-03-05 Jeremy Moskovich <jeremy@chromium.org>
104 Reviewed by Simon Fraser.
106 Fix for https://bugs.webkit.org/show_bug.cgi?id=24215
108 Gears expects an object tag with display:none to instantiate the plugin,
109 so we add a workaround to make this work and fix Gears on WebKit trunk.
111 * html/HTMLObjectElement.cpp:
112 (WebCore::HTMLObjectElement::rendererIsNeeded):
114 2009-03-05 Avi Drissman <avi@chromium.org>
116 Reviewed by Darin Fisher.
118 Need to have Chromium Mac match Safari Mac's accesskey handling
119 https://bugs.webkit.org/show_bug.cgi?id=24404
121 * page/chromium/EventHandlerChromium.cpp:
122 (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac.
124 2009-03-05 Simon Fraser <simon.fraser@apple.com>
126 Reviewed by Dave Hyatt
128 https://bugs.webkit.org/show_bug.cgi?id=24412
130 Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d
131 but no transform. We need to make localTransformState if we see preserve-3d.
132 Also need to call update3DTransformedDescendantStatus() before we test
133 m_has3DTransformedDescendant.
135 Test: transforms/3d/hit-testing/hit-preserves-3d.html
137 * rendering/RenderLayer.cpp:
138 (WebCore::RenderLayer::hitTestLayer):
140 2009-03-05 Eric Seidel <eric@webkit.org>
142 Reviewed by David Hyatt.
144 Changes to RenderLayer destruction to hopefully help catch an elusive crasher
145 https://bugs.webkit.org/show_bug.cgi?id=24409
147 Added a new RenderBoxModelObject::destroyLayer() call which is
148 now the only way which RenderLayers should ever be destroyed.
149 This ensures that the pointer to the layer is cleared in the
150 RenderObject after destruction, allowing us to ASSERT in the
151 RenderBoxModelObject destructor.
153 * rendering/RenderBox.cpp:
154 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
155 * rendering/RenderBoxModelObject.cpp:
156 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
157 (WebCore::RenderBoxModelObject::destroyLayer):
158 (WebCore::RenderBoxModelObject::destroy):
159 (WebCore::RenderBoxModelObject::styleDidChange):
160 * rendering/RenderBoxModelObject.h:
161 * rendering/RenderLayer.cpp:
162 (WebCore::RenderLayer::stackingContext):
163 (WebCore::RenderLayer::destroy):
164 (WebCore::RenderLayer::removeOnlyThisLayer):
165 * rendering/RenderLayer.h:
166 * rendering/RenderObject.cpp:
167 (WebCore::RenderObject::destroy):
168 * rendering/RenderWidget.cpp:
169 (WebCore::RenderWidget::destroy):
171 2009-03-05 Eric Seidel <eric@webkit.org>
173 Reviewed by David Hyatt.
175 Remove old, unused IE 5.5 scrollbar-* CSS properties.
176 Sort the unimplemented getComputedStyle properties so it's
177 easier to see which ones actually need implementation.
179 * css/CSSComputedStyleDeclaration.cpp:
180 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
182 (WebCore::CSSParser::parseValue):
183 * css/CSSPropertyNames.in:
184 * css/CSSStyleSelector.cpp:
185 (WebCore::CSSStyleSelector::applyProperty):
187 2009-03-05 Justin Garcia <justin.garcia@apple.com>
189 Reviewed by Darin Adler.
191 WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position
192 within the document without changing its position in the DOM. For example, pressing return in (caret marked by ^):
193 <div contentEditable="true"><div>^Hello</div></div>
194 Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document
197 Changes to layout tests demonstrate fix.
199 * editing/EditCommand.cpp:
200 (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand. The TypingCommand knows whether or
201 not it did work that needs to be applied.
202 * editing/Editor.cpp:
203 (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand.
204 (WebCore::Editor::unappliedEditing): Ditto.
205 (WebCore::Editor::reappliedEditing): Ditto.
206 (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here. Also call out to
207 EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document
208 even if they did not change it's position in the DOM. Any TypingCommand that gets this far changed it's position
211 * editing/TypingCommand.cpp:
212 (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing.
213 (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing. We won't get this far if we don't need to.
214 (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like
215 adding to the killring and responding to a change in selections if the delete was a no-op.
216 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
217 * editing/TypingCommand.h:
219 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
221 Reviewed by Adam Roben.
223 Eliminate a ref-counting leak in InspectorController.
225 * inspector/InspectorController.h: Made constructor private, added static create method.
227 (WebCore::Page::Page): Change initializer to use static create method.
229 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
231 Reviewed by Timothy Hatcher.
233 https://bugs.webkit.org/show_bug.cgi?id=24355
234 Add InspectorController.idl and convert InspectorController.cpp to use
237 * DerivedSources.make: Added InspectorController.idl
238 * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files.
239 * bindings/js/JSInspectorControllerCustom.cpp: Added.
240 * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types.
241 * inspector/InspectorController.cpp: Removed hand-rolled bindings.
242 * inspector/InspectorController.h: Added platform and addSourceToFrame methods.
243 * inspector/InspectorController.idl: Added.
244 * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted.
246 2009-03-05 Eric Carlson <eric.carlson@apple.com>
248 Reviewed by Simon Fraser.
250 https://bugs.webkit.org/show_bug.cgi?id=24400
251 Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount"
252 media element attributes
254 Test: media/video-loop.html
256 * html/HTMLMediaElement.cpp:
257 (WebCore::HTMLMediaElement::HTMLMediaElement):
258 (WebCore::HTMLMediaElement::loadInternal):
259 (WebCore::HTMLMediaElement::setNetworkState):
260 (WebCore::HTMLMediaElement::seek):
261 (WebCore::HTMLMediaElement::playInternal):
262 (WebCore::HTMLMediaElement::loop):
263 (WebCore::HTMLMediaElement::setLoop):
264 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
265 (WebCore::HTMLMediaElement::endedPlayback):
266 (WebCore::HTMLMediaElement::updatePlayState):
267 * html/HTMLMediaElement.h:
268 * html/HTMLMediaElement.idl:
270 2009-03-05 Steve Falkenburg <sfalken@apple.com>
272 <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
274 Reviewed by Ada Chan.
276 * platform/network/cf/ResourceHandleCFNet.cpp:
277 (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
279 2009-03-05 David Hyatt <hyatt@apple.com>
281 Reviewed by Eric Seidel
283 https://bugs.webkit.org/show_bug.cgi?id=24248
285 Make sure painting of overflow controls checks that visibility:visible is set on the block before
286 painting. Pixel tests caught this regression.
288 Make sure resizer painting pushes a clip of the corner rect. It was relying on the clip layers happened
289 to do to their bounds (which had nothing to do with overflow).
291 * rendering/RenderBlock.cpp:
292 (WebCore::RenderBlock::paint):
293 * rendering/RenderLayer.cpp:
294 (WebCore::RenderLayer::paintResizer):
296 2009-03-05 Yong Li <yong.li@torchmobile.com>
298 Reviewed by Simon Fraser.
300 https://bugs.webkit.org/show_bug.cgi?id=24386
301 A faster implementation of extractMIMETypeFromMediaType.
303 * platform/network/HTTPParsers.cpp:
304 (WebCore::extractMIMETypeFromMediaType):
306 2009-03-05 Yong Li <yong.li@torchmobile.com>
308 Reviewed by Antti Koivisto.
310 https://bugs.webkit.org/show_bug.cgi?id=24392
311 Do not get the current time for unless we're doing PRELOAD_DEBUG as this
312 can be unnecessarily expensive.
314 * html/PreloadScanner.cpp:
315 (WebCore::PreloadScanner::write):
317 2009-03-04 Simon Fraser <simon.fraser@apple.com>
319 Reviewed by Dave Hyatt
321 https://bugs.webkit.org/show_bug.cgi?id=24327
323 When mapping points and hit testing through transforms, work
324 correctly when acclerated animations of transforms are running.
326 Tested by LayoutTests/animations/animation-hit-test-transform.html,
327 which only failed when ACCELERATED_COMPOSITING was turned on.
329 * rendering/RenderLayer.cpp:
330 (WebCore::RenderLayer::currentTransform):
331 * rendering/RenderLayer.h:
332 * rendering/RenderObject.cpp:
333 (WebCore::RenderObject::transformFromContainer):
335 2009-03-05 Mike Belshe <mike@belshe.com>
337 Reviewed by Darin Fisher.
339 https://bugs.webkit.org/show_bug.cgi?id=24391
340 Frame.cpp uses JSC specific includes
344 2009-03-05 Gustavo Noronha Silva <gns@gnome.org>
346 Reviewed by Alexey Proskuryakov.
348 https://bugs.webkit.org/show_bug.cgi?id=24389
349 WebKitGTK+ crashes when cancelling plugin loads
351 Remove bogus calls to the client's didFinishLoading method from
352 our ResourceHandle::cancel implementation. Calling
353 didFinishLoading here is mostly inoffensive for most loads, but
354 causes crashes when plugin loads are cancelled.
356 * platform/network/soup/ResourceHandleSoup.cpp:
357 (WebCore::ResourceHandle::cancel):
359 2009-03-05 Steve Falkenburg <sfalken@apple.com>
363 * WebCore.vcproj/QTMovieWin.vcproj:
365 2009-03-05 Adam Treat <adam.treat@torchmobile.com>
367 Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0. The method
368 ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
369 protected by an #if and uses HTMLPlugInElement so it must be included.
371 * bindings/js/ScriptController.cpp:
373 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
377 * inspector/ConsoleMessage.h: Use proper header.
379 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
381 Reviewed by Timothy Hatcher.
383 https://bugs.webkit.org/show_bug.cgi?id=24376
384 Split InspectorController.cpp file into separate classes.
386 * GNUmakefile.am: Modified to include new files.
387 * WebCore.pro: Ditto.
388 * WebCore.scons: Ditto.
389 * WebCore.vcproj/WebCore.vcproj: Ditto.
390 * WebCore.xcodeproj/project.pbxproj: Ditto.
391 * WebCoreSources.bkl: Ditto.
392 * inspector/ConsoleMessage.cpp: Added.
393 * inspector/ConsoleMessage.h: Added.
394 * inspector/InspectorController.cpp:
395 * inspector/InspectorDOMStorageResource.cpp: Added.
396 * inspector/InspectorDOMStorageResource.h: Added.
397 * inspector/InspectorDatabaseResource.cpp: Added.
398 * inspector/InspectorDatabaseResource.h: Added.
399 * inspector/InspectorResource.cpp: Added.
400 * inspector/InspectorResource.h: Added.
402 2009-03-05 Eric Carlson <eric.carlson@apple.com>
404 Reviewed by Darin Adler
406 https://bugs.webkit.org/show_bug.cgi?id=24387
407 Remove media element bufferingRate attribute. No test necessary as there
408 were none for this attribute.
410 * html/HTMLMediaElement.cpp:
411 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
412 (WebCore::HTMLMediaElement::loadInternal): Ditto.
413 (WebCore::HTMLMediaElement::setNetworkState): Ditto.
414 (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
415 * html/HTMLMediaElement.h: Remove m_bufferingRate.
416 * html/HTMLMediaElement.idl: Ditto.
418 2009-03-05 Xan Lopez <xan@gnome.org>
420 Reviewed by Mark Rowe.
422 https://bugs.webkit.org/show_bug.cgi?id=24377
423 [GTK] Comply better with coding style guidelines in ResourceHandleSoup
425 Use C++ booleans, 0 instead of NULL, prefix boolean variables with
426 'is', do not use 'else if' if the previous if had a return, delete
427 trailing whitespace, etc.
429 * platform/network/ResourceHandleInternal.h:
430 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
431 * platform/network/soup/ResourceHandleSoup.cpp:
432 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
433 (WebCore::fillResponseFromMessage):
434 (WebCore::restartedCallback):
435 (WebCore::finishedCallback):
436 (WebCore::parseDataUrl):
437 (WebCore::ensureSessionIsInitialized):
438 (WebCore::ResourceHandle::startHttp):
439 (WebCore::reportUnknownProtocolError):
440 (WebCore::ResourceHandle::start):
441 (WebCore::cleanupGioOperation):
442 (WebCore::closeCallback):
443 (WebCore::readCallback):
444 (WebCore::openCallback):
445 (WebCore::queryInfoCallback):
446 (WebCore::ResourceHandle::startGio):
448 2009-03-04 Simon Fraser <simon.fraser@apple.com>
450 Reviewed by Eric Seidel
452 https://bugs.webkit.org/show_bug.cgi?id=24328
454 If an element has backface-visibility: hidden, hit testing should not
455 hit the back sides of elements. Test for that by inverting the accumulated
456 transform and looking at the z vector.
458 Tested by transforms/3d/hit-testing/backface-hit-test.html
460 * rendering/RenderLayer.cpp:
461 (WebCore::RenderLayer::hitTestLayer):
463 2009-03-04 Adam Langley <agl@google.com>
465 Reviewed by Darin Fisher.
467 r41362 mistakenly added functions "RenderThemeWin::" into
468 RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
469 them to void return types. This patch switches them back to ints.
471 https://bugs.webkit.org/show_bug.cgi?id=24360
473 * rendering/RenderThemeChromiumLinux.cpp:
474 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
475 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
476 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
477 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
479 2009-03-04 Adam Langley <agl@google.com>
481 Reviewed by Darin Fisher.
483 Chromium Linux: change some metrics to better match Windows after
484 r41416. Aesthetically this may be worse, but web-compat is king.
486 Also, the previous code had an off by one error when drawing
487 scrollbars which caused the scrollbar to overflow it's bounds by 1px
488 at the right and bottom edges.
490 https://bugs.webkit.org/show_bug.cgi?id=24369
492 * rendering/RenderThemeChromiumLinux.cpp:
494 (WebCore::RenderThemeChromiumLinux::systemFont):
495 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
496 (WebCore::ScrollbarThemeChromium::paintTrackPiece):
498 2009-03-04 Eric Seidel <eric@webkit.org>
500 Reviewed by Adam Roben.
502 Add an ASSERT to better demonstrate the cause of the crash in
503 https://bugs.webkit.org/show_bug.cgi?id=23736
505 * loader/DocLoader.cpp:
506 (WebCore::DocLoader::~DocLoader):
508 2009-03-04 David Levin <levin@chromium.org>
510 Reviewed by Alexey Proskuryakov.
512 Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
513 <https://bugs.webkit.org/show_bug.cgi?id=24337>
515 Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
516 http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
518 * loader/mac/ResourceLoaderMac.mm:
519 (WebCore::ResourceLoader::willCacheResponse):
520 An identifier is only asssigned if resource load callbacks are done. So don't send
521 willCacheResponse which uses identifier if resource load callbacks aren't being sent.
523 2009-03-04 David Levin <levin@chromium.org>
525 Reviewed by Alexey Proskuryakov.
527 Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
528 <https://bugs.webkit.org/show_bug.cgi?id=24330>
530 Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
532 * dom/ExceptionCode.cpp:
533 (WebCore::xmlHttpRequestExceptionNames):
534 Added missing ABORT_ERR whose absence caused an assert.
536 * loader/WorkerThreadableLoader.cpp:
537 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
538 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
539 Add more logic to handle the termination case for sync xhr.
541 2009-03-04 Eric Carlson <eric.carlson@apple.com>
543 Reviewed by Antti Koivisto.
545 https://bugs.webkit.org/show_bug.cgi?id=24364
546 Add support for HTMLMediaElement canPlayType method. Make
547 MediaPlayer::supportsType take a ContentType instead of a
548 separate mime type and codecs parameter.
550 Test: media/video-can-play-type.html
552 * dom/DOMImplementation.cpp:
553 (WebCore::DOMImplementation::createDocument):
554 * html/HTMLMediaElement.cpp:
555 (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
556 (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
557 (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
558 (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
559 * html/HTMLMediaElement.h: Add prototype.
560 * html/HTMLMediaElement.idl: Ditto.
561 * platform/graphics/MediaPlayer.cpp:
562 (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
563 (WebCore::MediaPlayer::supportsType): Ditto.
564 * platform/graphics/MediaPlayer.h:
566 2009-03-04 Antti Koivisto <antti@apple.com>
568 Reviewed by Dave Hyatt.
570 https://bugs.webkit.org/show_bug.cgi?id=24359
571 Repaint throttling mechanism
573 Excessive repainting can slow down page loadind. This implements a timer
574 based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not
577 * loader/FrameLoader.cpp:
578 (WebCore::FrameLoader::checkCompleted):
579 * page/EventHandler.cpp:
580 (WebCore::EventHandler::dispatchDragEvent):
581 (WebCore::EventHandler::dispatchMouseEvent):
582 (WebCore::EventHandler::keyEvent):
583 (WebCore::EventHandler::handleTextInputEvent):
584 * page/FrameView.cpp:
585 (WebCore::FrameView::FrameView):
586 (WebCore::FrameView::reset):
587 (WebCore::FrameView::repaintContentRectangle):
588 (WebCore::FrameView::beginDeferredRepaints):
589 (WebCore::FrameView::endDeferredRepaints):
590 (WebCore::FrameView::checkStopDelayingDeferredRepaints):
591 (WebCore::FrameView::doDeferredRepaints):
592 (WebCore::FrameView::updateDeferredRepaintDelay):
593 (WebCore::FrameView::resetDeferredRepaintDelay):
594 (WebCore::FrameView::adjustedDeferredRepaintDelay):
595 (WebCore::FrameView::deferredRepaintTimerFired):
596 (WebCore::FrameView::paintContents):
599 2009-03-04 Sam Weinig <sam@webkit.org>
601 Rubber-stamped by Antti Koivisto.
603 Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
606 (WebCore::Document::Document):
608 (WebCore::Document::haveStylesheetsLoaded):
609 * html/HTMLTokenizer.cpp:
610 (WebCore::HTMLTokenizer::scriptHandler):
612 (WebCore::Cache::requestResource):
613 * loader/CachedCSSStyleSheet.cpp:
614 (WebCore::CachedCSSStyleSheet::checkNotify):
615 * loader/DocLoader.h:
616 * loader/FrameLoader.cpp:
617 (WebCore::FrameLoader::FrameLoader):
618 (WebCore::FrameLoader::requestFrame):
619 (WebCore::FrameLoader::stopLoading):
620 (WebCore::FrameLoader::begin):
621 (WebCore::FrameLoader::write):
622 (WebCore::FrameLoader::endIfNotLoadingMainResource):
623 (WebCore::FrameLoader::checkCompleted):
624 (WebCore::FrameLoader::requestObject):
625 (WebCore::FrameLoader::loadItem):
626 * loader/FrameLoader.h:
628 2009-03-02 Xan Lopez <xan@gnome.org>
630 Reviewed by Mark Rowe.
632 https://bugs.webkit.org/show_bug.cgi?id=24287
633 [GTK] Move auth dialog feature to WebKit/
635 Remove WebKitSoupAuthDialog files from build and stop using it.
638 * platform/network/soup/ResourceHandleSoup.cpp:
639 (WebCore::ensureSessionIsInitialized):
640 * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
641 * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
643 2009-03-04 Simon Fraser <simon.fraser@apple.com>
645 Reviewed by Dave Hyatt
647 https://bugs.webkit.org/show_bug.cgi?id=24361
649 Reinstate code that sets result.innerNode when hitTest() returns true,
650 but never filled in the innerNode. Fixes hit testing of generated content.
652 Test: fast/css-generated-content/hit-test-generated-content.html
654 * rendering/RenderLayer.cpp:
655 (WebCore::RenderLayer::hitTestContents):
657 2009-03-04 Adam Barth <abath@webkit.org>
659 Reviewed by Alexey Proskuryakov.
661 https://bugs.webkit.org/show_bug.cgi?id=24356
663 Fix WebKit style for allowUniversalAccessFromFileURLs.
667 (WebCore::Document::initSecurityContext):
669 (WebCore::Settings::Settings):
670 (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
672 (WebCore::Settings::allowUniversalAccessFromFileURLs):
674 2009-03-04 Brady Eidson <beidson@apple.com>
676 Reviewed by Darin Adler
678 <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
680 I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
681 consolidated some of the various decision making pieces of the Cache into the new method
682 FrameLoader::cachePolicy().
684 Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader
685 is reloading. If it is, we'd evict any existing resource then recreate it. Quick looks uses the
686 same URL for this image every time and expects it to be reloaded with each new card.
688 The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
689 is "ReloadIgnoringCacheData". This check was lost in the consolidation to the new method.
691 * loader/FrameLoader.cpp:
692 (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
693 condition for returning CachePolicyReload.
695 2009-03-04 Timothy Hatcher <timothy@apple.com>
697 * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
698 "LOCAL STORAGE" and "SESSION STORAGE".
700 2009-03-04 Timothy Hatcher <timothy@apple.com>
702 Fix a regression where the Web Inspector console would not animate
705 Reviewed by Anders Carlsson.
707 * inspector/front-end/inspector.css: Move a z-index to a child element
708 to get the correct stacking order during the animation.
710 2009-03-03 David Hyatt <hyatt@apple.com>
712 https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
714 Make sure to factor clear deltas into y position estimates. Also avoid doing the comparison of
715 the final position against the y position estimate until after the clear has happened. This gets rid
716 of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
718 Reviewed by Dan Bernstein
720 Added fast/block/float/nested-clearance.html
722 * rendering/RenderBlock.cpp:
723 (WebCore::RenderBlock::collapseMargins):
724 (WebCore::RenderBlock::clearFloatsIfNeeded):
725 (WebCore::RenderBlock::estimateVerticalPosition):
726 (WebCore::RenderBlock::layoutBlockChildren):
727 (WebCore::RenderBlock::getClearDelta):
728 * rendering/RenderBlock.h:
730 2009-03-02 Kim Grönholm <kim.gronholm@nomovok.com>
732 Reviewed by Simon Hausmann.
734 Improvement to 3d transformations rendering in QtWebKit. QTransform is used
735 instead of QMatrix. This allows perspective transformations since QTransform is
738 * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
739 (WebCore::GraphicsContext::getCTM):
740 (WebCore::GraphicsContext::restorePlatformState):
741 (WebCore::GraphicsContext::fillPath):
742 (WebCore::GraphicsContext::strokePath):
743 (WebCore::GraphicsContext::fillRect):
744 (WebCore::GraphicsContext::translate):
745 (WebCore::GraphicsContext::rotate):
746 (WebCore::GraphicsContext::scale):
747 (WebCore::GraphicsContext::concatCTM):
748 * platform/graphics/qt/ImageQt.cpp:
749 (WebCore::Image::drawPattern):
750 * platform/graphics/qt/PathQt.cpp:
751 (WebCore::Path::translate):
752 (WebCore::Path::transform):
753 * platform/graphics/qt/PatternQt.cpp:
754 (WebCore::Pattern::createPlatformPattern):
755 * platform/graphics/qt/TransformationMatrixQt.cpp:
756 (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
757 to QMatrix with one to QTransform.
758 * platform/graphics/transforms/TransformationMatrix.h:
759 * platform/graphics/qt/FontQt.cpp:
761 2009-02-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
763 Reviewed by Simon Hausmann.
765 https://bugs.webkit.org/show_bug.cgi?id=24151
766 Fix Qt/S60 build break
768 * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
769 * platform/qt/FileSystemQt.cpp: Ditto
770 (WebCore::unloadModule):
772 2009-03-03 Mike Belshe <mike@belshe.com>
774 Reviewed by Alexey Proskuryakov.
776 https://bugs.webkit.org/show_bug.cgi?id=21939
777 Uninitialized ExceptionCode in DOMWindow::postMessage
779 * dom/MessagePort.cpp:
780 (WebCore::MessagePort::postMessage):
782 2009-03-03 David Kilzer <ddkilzer@apple.com>
784 <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
786 Reviewed by Mark Rowe.
788 The fix is to add INSTALLHDRS_COPY_PHASE = YES and
789 INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
790 sure various build phase scripts work with the installhdrs build
793 * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
794 based on PLATFORM_NAME to work around the missing definition on
796 * Configurations/WebCore.xcconfig: Added
797 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
798 the "Generate Derived Sources" script. Added
799 INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
801 * WebCore.xcodeproj/project.pbxproj:
802 - Added shell code to prevent running "Check For Global
803 Initializers", "Check For Exit Time Destructors" and "Check
804 For Weak VTables" scripts during the installhdrs build phase.
805 - Made "Generate Derived Sources" work for the installhdrs build
806 phase. Also simplified setting of CREATE_HASH_TABLE by using
807 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
809 2009-03-02 Adam Langley <agl@google.com>
811 Reviewed by Darin Fisher.
813 Chromium Linux: Switch to using Skia to render widgets.
815 In order to sandbox the Chromium renderer on Linux we need to remove
816 the X connection. GTK cannot render without an X connection so, for
817 now, we render widgets ourselves.
819 Previously didn't use anti-alias fonts in order to match Windows font
820 rendering exactly. This was helpful when bootstrapping our layout
821 tests. Now, however, we are ready to enable it.
823 https://bugs.webkit.org/show_bug.cgi?id=24244
825 * platform/chromium/ScrollbarThemeChromium.cpp:
826 (WebCore::ScrollbarThemeChromium::buttonSize):
827 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
828 (WebCore::ScrollbarThemeChromium::scrollbarThickness):
829 (WebCore::ScrollbarThemeChromium::paintTrackPiece):
830 (WebCore::ScrollbarThemeChromium::paintButton):
831 (WebCore::ScrollbarThemeChromium::paintThumb):
832 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
833 (WebCore::FontPlatformData::setupPaint):
834 * platform/graphics/skia/PlatformContextSkia.cpp:
835 (PlatformContextSkia::PlatformContextSkia):
836 (PlatformContextSkia::~PlatformContextSkia):
837 * platform/graphics/skia/PlatformContextSkia.h:
838 * rendering/RenderThemeChromiumGtk.cpp: Removed.
839 * rendering/RenderThemeChromiumGtk.h: Removed.
840 * rendering/RenderThemeChromiumLinux.cpp: Added.
841 * rendering/RenderThemeChromiumLinux.h: Added.
843 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
845 Reviewed by Darin Fisher.
847 https://bugs.webkit.org/show_bug.cgi?id=24261
850 Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
852 * bindings/v8/V8Binding.h:
853 (WebCore::toInt32): change return type to int
854 (WebCore::toFloat): change return type to float.
856 2009-03-03 Anders Carlsson <andersca@apple.com>
858 Reviewed by John Sullivan.
860 https://bugs.webkit.org/show_bug.cgi?id=22884
861 <rdar://problem/6449783>
862 modified layout test crashes Safari
864 Null check NPStream before dereferencing it.
866 * plugins/PluginView.cpp:
867 (WebCore::PluginView::destroyStream):
869 2009-03-03 Eric Carlson <eric.carlson@apple.com>
871 Reviewed by Simon Fraser.
873 Fix for <rdar://problem/6641045>
874 Don't call QTKit to get movie properties until movie metadata has been loaded.
876 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
877 (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
878 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
879 (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
880 (WebCore::MediaPlayerPrivate::play): Ditto.
881 (WebCore::MediaPlayerPrivate::pause): Ditto.
882 (WebCore::MediaPlayerPrivate::duration): Ditto.
883 (WebCore::MediaPlayerPrivate::currentTime): Ditto.
884 (WebCore::MediaPlayerPrivate::seek): Ditto.
885 (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
886 (WebCore::MediaPlayerPrivate::paused): Ditto.
887 (WebCore::MediaPlayerPrivate::seeking): Ditto.
888 (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
889 (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
890 (WebCore::MediaPlayerPrivate::setVolume): Ditto.
891 (WebCore::MediaPlayerPrivate::setRate): Ditto.
892 (WebCore::MediaPlayerPrivate::dataRate): Ditto.
893 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
894 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
896 2009-03-03 Kevin McCullough <kmccullough@apple.com>
901 (WebCore::Console::profile):
903 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
905 Reviewed by Darin Fisher.
907 https://bugs.webkit.org/show_bug.cgi?id=23657
908 Remove Database API callback IDLs from the project.
909 They were removed in r40633.
911 * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
913 2009-03-03 Kevin McCullough <kmccullough@apple.com>
915 Reviewed by Oliver Hunt.
917 <rdar://problem/6639110> console.profile() doesn't work without a title
920 (WebCore::Console::profile): If there is no title assume this is a user
921 initiated profile and give it the next incremented title name.
923 2009-03-03 Timothy Hatcher <timothy@apple.com>
925 Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
926 the console code and refactored things to have fewer code paths and duplication.
928 rdar://problem/6367127
929 https://bugs.webkit.org/show_bug.cgi?id=24329
931 Reviewed by Kevin McCullough.
933 Test: manual-tests/inspector/console-dir.html
935 * bindings/js/JSInspectedObjectWrapper.cpp:
936 (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
937 to fix an ASSERT about using a wrapper from the wrong ExecState.
938 * bindings/js/JSQuarantinedObjectWrapper.cpp:
939 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
940 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
941 * inspector/front-end/Console.js:
942 (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
943 When forceObjectFormat is true, the only formatter used is _formatobject.
944 (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
945 (WebInspector.Console.prototype._formatstring): Ditto.
946 (WebInspector.Console.prototype._formatregexp): Ditto.
947 (WebInspector.Console.prototype._formatarray): Ditto.
948 (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
949 (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
950 (WebInspector.Console.prototype._formaterror): Remove the inline argument.
951 (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
952 simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
953 (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
954 (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
955 (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
956 (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
957 * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
958 * inspector/front-end/utilities.js:
959 (Object.type): Return "node" for Node objects.
960 (Object.describe): Handle the "node" type.
962 (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
963 (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
965 (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
967 2009-03-03 Scott Violet <sky@google.com>
969 Reviewed by Eric Seidel.
971 https://bugs.webkit.org/show_bug.cgi?id=24325
972 Crash on replacing document contents during drop.
974 Makes sure a node is in the document during a move before using it.
976 Test: fast/events/crash-on-mutate-during-drop.html
978 * editing/MoveSelectionCommand.cpp:
979 (WebCore::MoveSelectionCommand::doApply):
981 2009-03-03 Jungshik Shin <jshin@chromium.org>
983 Reviewed by Eric Seidel.
985 https://bugs.webkit.org/show_bug.cgi?id=23028
986 Enable dynamic web font support to Chromium on Windows.
987 Files that were omitted by mistake in the latest patch
990 * loader/CachedFont.cpp:
991 (WebCore::CachedFont::~CachedFont):
992 (WebCore::CachedFont::ensureCustomFontData):
993 (WebCore::CachedFont::platformDataFromCustomData):
994 (WebCore::CachedFont::allClientsRemoved):
995 * platform/graphics/chromium/FontCustomPlatformData.cpp:
996 (WebCore::EOTStream::EOTStream):
997 (WebCore::createFontCustomPlatformData):
998 * platform/graphics/win/FontCustomPlatformData.cpp:
999 (WebCore::EOTStream::EOTStream):
1000 (WebCore::createFontCustomPlatformData):
1002 2009-03-03 Gustavo Noronha Silva <gns@gnome.org>
1004 Reviewed by Alexey Proskuryakov.
1006 https://bugs.webkit.org/show_bug.cgi?id=16826
1007 [Gtk] Implement WebKitDownload
1009 Make the Soup backend able to handle requests without a frame,
1010 since we may have such things now that we support downloads.
1012 * platform/network/ResourceHandleInternal.h:
1013 * platform/network/soup/ResourceHandleSoup.cpp:
1014 (WebCore::ResourceHandle::start):
1016 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
1018 Reviewed by Eric Seidel.
1020 https://bugs.webkit.org/show_bug.cgi?id=24331
1021 Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
1023 * bindings/v8/custom/V8AttrCustom.cpp: Added.
1024 * bindings/v8/custom/V8CustomBinding.cpp: Added.
1025 * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
1026 * bindings/v8/custom/V8ElementCustom.cpp: Added.
1027 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
1028 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
1030 2009-03-03 Brady Eidson <beidson@apple.com>
1032 Reviewed by Darin Adler
1034 <rdar://problem/6616664> - Quick looks of various file types is broken
1036 In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
1037 for non-HTTP loads when the underlying ResourceRequest changed. Unfortunately it was a little
1038 overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
1040 Partially reverted behavior to always set the mainDocumentURL in situations when we would've
1043 * loader/FrameLoader.cpp:
1044 (WebCore::FrameLoader::addExtraFieldsToRequest):
1046 * platform/network/ResourceRequestBase.cpp:
1047 (WebCore::ResourceRequestBase::setMainDocumentURL):
1049 2009-03-03 Chris Marrin <cmarrin@apple.com>
1051 Reviewed by Simon Fraser.
1053 https://bugs.webkit.org/show_bug.cgi?id=24256
1055 Added a WebCoreForceSoftwareAnimation flag.
1057 * platform/graphics/mac/GraphicsLayerCA.mm:
1058 (WebCore::forceSoftwareAnimation):
1059 (WebCore::GraphicsLayerCA::setOpacity):
1060 (WebCore::GraphicsLayerCA::animateTransform):
1061 (WebCore::GraphicsLayerCA::animateFloat):
1063 2009-03-02 Chris Marrin <cmarrin@apple.com>
1065 Reviewed by Sam Weinig.
1067 https://bugs.webkit.org/show_bug.cgi?id=24257
1069 Added prototype properties for several classes with constructors that
1070 were missing them, including the one mentioned in the bug.
1072 Test: fast/dom/Window/custom-constructors.html
1074 * bindings/js/JSAudioConstructor.cpp:
1075 (WebCore::JSAudioConstructor::JSAudioConstructor):
1076 * bindings/js/JSDOMWindowBase.cpp:
1077 (jsDOMWindowBaseWebKitCSSMatrix):
1078 * bindings/js/JSImageConstructor.cpp:
1079 (WebCore::JSImageConstructor::JSImageConstructor):
1080 * bindings/js/JSOptionConstructor.cpp:
1081 (WebCore::JSOptionConstructor::JSOptionConstructor):
1082 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1083 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
1084 * bindings/js/JSWebKitCSSMatrixConstructor.h:
1085 * bindings/js/JSWebKitPointConstructor.cpp:
1086 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
1087 * bindings/js/JSWorkerConstructor.cpp:
1088 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
1090 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
1092 Reviewed by Darin Fisher.
1094 https://bugs.webkit.org/show_bug.cgi?id=24321
1095 Add V8 bindings headers.
1097 * bindings/v8/V8Binding.h: Added.
1098 * bindings/v8/V8Proxy.h: Added.
1099 * bindings/v8/custom/V8CustomBinding.h: Added.
1100 * bindings/v8/custom/V8CustomEventListener.h: Added.
1102 2009-03-03 Jungshik Shin <jshin@chromium.org>
1104 Reviewed by Eric Seidel.
1106 https://bugs.webkit.org/show_bug.cgi?id=23803
1107 Fix an 'off-by-1' error in ChromiumWin's font fallback.
1109 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1110 (WebCore::FontCache::getFontDataForCharacters):
1112 2009-03-03 Jungshik Shin <jshin@chromium.org>
1114 Reviewed by Eric Seidel.
1116 http://bugs.webkit.org/show_bug.cgi?id=23028
1117 Enable dynamic web font support to Chromium on Windows: Part 1
1118 - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
1119 from platform/graphics/win because both Windows port and Chromium Windows
1121 - Adjust WebCore.vcproj accordingly.
1123 * WebCore.vcproj/WebCore.vcproj:
1124 * platform/graphics/opentype: Added.
1125 * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
1126 * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
1127 * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
1128 * platform/graphics/win/OpenTypeUtilities.h: Removed.
1130 2009-03-03 Simon Fraser <simon.fraser@apple.com>
1132 Reviewed by Dave Hyatt
1134 https://bugs.webkit.org/show_bug.cgi?id=24312
1136 Take 3D transforms into account when hit testing:
1138 1. Maintain a bit on each RenderLayer that is set when the layer
1139 has 3d descendants, so that we know when to fall into the slow
1142 2. Make a ref-counted HitTestingTransformState, which is used to store
1143 an accumulated transform, and the hit test point, and hitTestRect
1144 in the plane of the ancestor non-3d ('flattening') layer.
1146 It's ref-counted so we can heap allocate it (to avoid stack bloat),
1147 and avoid copying when hitTestLayer calls itself after applying the transform.
1149 3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
1150 3D transforms, or to do deep depth-testing when traversing a preserves-3d
1151 hierarchy. When hit, layers compute a z-offset from the ancestor flattening
1152 layer, which allows for correct depth testing.
1154 The existing early-return codepath is unaffected when there are no 3d transforms
1157 * rendering/RenderLayer.cpp:
1158 (WebCore::RenderLayer::RenderLayer):
1159 (WebCore::RenderLayer::updateTransform):
1160 (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
1161 (WebCore::RenderLayer::update3DTransformedDescendantStatus):
1162 (WebCore::RenderLayer::hitTest):
1163 (WebCore::computeZOffset):
1164 (WebCore::RenderLayer::createLocalTransformState):
1165 (WebCore::RenderLayer::hitTestLayer):
1166 (WebCore::RenderLayer::hitTestContents):
1167 * rendering/RenderLayer.h:
1168 (WebCore::RenderLayer::preserves3D):
1169 (WebCore::RenderLayer::has3DTransform):
1170 (WebCore::RenderLayer::setHas3DTransformedDescendant):
1171 (WebCore::RenderLayer::has3DTransformedDescendant):
1172 * rendering/RenderLayerBacking.cpp:
1173 * rendering/TransformState.cpp:
1174 (WebCore::TransformState::flatten):
1175 (WebCore::TransformState::mappedPoint):
1176 (WebCore::HitTestingTransformState::move):
1177 (WebCore::HitTestingTransformState::applyTransform):
1178 (WebCore::HitTestingTransformState::flatten):
1179 (WebCore::HitTestingTransformState::mappedPoint):
1180 (WebCore::HitTestingTransformState::mappedQuad):
1181 * rendering/TransformState.h:
1182 (WebCore::TransformState::TransformState):
1183 (WebCore::HitTestingTransformState::create):
1184 (WebCore::HitTestingTransformState::move):
1185 (WebCore::HitTestingTransformState::HitTestingTransformState):
1187 2009-03-03 Brett Wilson <brettw@chromium.org>
1189 Fix uninitialized memory reads in the Chromium Windows transparency
1190 code that were identified by Purify,
1192 Reviewed by Darin Fisher.
1194 * platform/graphics/chromium/TransparencyWin.cpp:
1195 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
1196 (WebCore::TransparencyWin::initializeNewContext):
1198 2009-03-03 Simon Fraser <simon.fraser@apple.com>
1200 Reviewed by Dave Hyatt
1202 https://bugs.webkit.org/show_bug.cgi?id=24312
1204 Factor the code that compute a transform relative to the container
1205 into RenderObject::transformFromContainer().
1207 * rendering/RenderBox.cpp:
1208 (WebCore::RenderBox::mapLocalToAbsolutePoint):
1209 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
1210 * rendering/RenderObject.cpp:
1211 (WebCore::RenderObject::transformFromContainer):
1212 * rendering/RenderObject.h:
1214 2009-03-03 Simon Fraser <simon.fraser@apple.com>
1216 Reviewed by Dave Hyatt
1218 https://bugs.webkit.org/show_bug.cgi?id=24317
1220 Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
1221 the superclass found a node, otherwise we set the innerNode of the
1222 HitTestResult, but don't actually report that we found a hit.
1224 * rendering/RenderTextControlMultiLine.cpp:
1225 (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1227 2009-03-03 Onne Gorter <onne.gorter@avinity.net>
1229 Reviewed by Anders Carlsson.
1231 https://bugs.webkit.org/show_bug.cgi?id=23707
1232 resizing plugins does not work, because the plugin never gets informed
1234 Make gtk plugins resize correctly, by sending them the setwindow event
1235 correctly. Also ensure that all plugin eventing is done with correct
1236 locking/calling. Mostly copied from mac implementation.
1238 manual test: manual-tests/gtk/plugin-resize-scroll.html
1240 * plugins/PluginView.h:
1241 * plugins/gtk/PluginViewGtk.cpp:
1242 (WebCore::PluginView::dispatchNPEvent):
1243 ensure locking/calling for NPEvents
1244 (WebCore::PluginView::updatePluginWidget):
1245 if something changed, let setNPWindowIfNeeded handle it
1246 (WebCore::PluginView::paint):
1247 (WebCore::PluginView::handleKeyboardEvent):
1248 (WebCore::PluginView::handleMouseEvent):
1249 ensure calling conventions
1250 (WebCore::PluginView::setNPWindowRect):
1251 just pass control to setNPWindowIfNeeded
1252 (WebCore::PluginView::setNPWindowIfNeeded):
1253 event the plugin correctly of new window
1254 (WebCore::PluginView::init):
1255 init through the new setup
1257 2009-03-03 Mike Belshe <mike@belshe.com>
1259 Reviewed by Darin Fisher.
1261 https://bugs.webkit.org/show_bug.cgi?id=24311
1262 Make IDL returning DOMObject use [V8Custom]
1265 * html/HTMLCanvasElement.idl:
1267 2009-03-02 Simon Fraser <simon.fraser@apple.com>
1269 Reviewed by Adele Peterson
1271 https://bugs.webkit.org/show_bug.cgi?id=24313
1273 If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
1274 HitTestResult, then it had better well return |true|. And m_innerBlock
1275 could never have been set as the hit node by the superclass, because
1276 the superclass knows nothing about m_innerBlock.
1278 Test: fast/forms/input-hit-test-border.html
1280 * rendering/RenderTextControlSingleLine.cpp:
1281 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1283 2009-03-02 Sam Weinig <sam@webkit.org>
1285 Reviewed by Mark Rowe.
1287 Enable Geolocation (except on Tiger and Leopard).
1289 * Configurations/WebCore.xcconfig:
1291 2009-03-02 Ojan Vafai <ojan@chromium.org>
1293 Reviewed by Adele Peterson.
1295 Fix https://bugs.webkit.org/show_bug.cgi?id=24307
1296 Null out m_highlightedNode on hideHighlight().
1297 Ran WebCore/manual-tests/inspector/highlight-nodes.html.
1299 * inspector/InspectorController.cpp:
1300 (WebCore::InspectorController::hideHighlight):
1302 2009-03-02 Sam Weinig <sam@webkit.org>
1304 Reviewed by Geoffrey Garen.
1306 Fix for <rdar://problem/6507404> Add Geolocation support.
1308 This is not yet turned on for any Mac platform.
1310 * WebCore.xcodeproj/project.pbxproj:
1312 (WebCore::Chrome::shouldAllowGeolocationForFrame):
1314 * page/ChromeClient.h:
1315 (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
1316 * page/Geolocation.cpp:
1317 (WebCore::Geolocation::Geolocation):
1318 (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
1319 will not be alive at this point.
1320 (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
1321 return a PERMISSION_DENIED if not.
1322 (WebCore::Geolocation::watchPosition): Ditto.
1323 (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
1324 to allow geolocation and cache the result.
1325 * page/Geolocation.h:
1326 (WebCore::Geolocation::):
1327 * platform/GeolocationService.cpp:
1328 * platform/GeolocationService.h:
1329 (WebCore::GeolocationService::~GeolocationService):
1330 (WebCore::GeolocationService::stopUpdating):
1331 * platform/mac/GeolocationServiceMac.h: Added.
1332 (WebCore::GeolocationServiceMac::lastPosition):
1333 (WebCore::GeolocationServiceMac::lastError):
1334 * platform/mac/GeolocationServiceMac.mm: Added.
1335 (WebCore::GeolocationService::create):
1336 (WebCore::GeolocationServiceMac::GeolocationServiceMac):
1337 (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
1338 (WebCore::GeolocationServiceMac::startUpdating):
1339 (WebCore::GeolocationServiceMac::stopUpdating):
1340 (WebCore::GeolocationServiceMac::suspend):
1341 (WebCore::GeolocationServiceMac::resume):
1342 (WebCore::GeolocationServiceMac::positionChanged):
1343 (WebCore::GeolocationServiceMac::errorOccurred):
1344 (-[WebCoreCoreLocationObserver initWithCallback:]):
1345 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
1346 (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
1348 2009-03-02 Kevin Ollivier <kevino@theolliviers.com>
1350 Build fixes for wxWidgets Mac trunk build.
1352 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1353 (wxFontProperties::wxFontProperties):
1357 2009-03-02 Kevin Ollivier <kevino@theolliviers.com>
1359 wxGTK missing header build fix.
1361 * platform/wx/wxcode/gtk/fontprops.cpp:
1363 2009-03-02 Dan Bernstein <mitz@apple.com>
1365 Reviewed by Adam Roben.
1367 - fix https://bugs.webkit.org/show_bug.cgi?id=21811
1368 REGRESSION: Windows Build Not Selecting Proper Font
1370 * platform/graphics/win/FontCacheWin.cpp:
1371 (WebCore::createGDIFont): Added back code to verify that the created
1372 HFONT has the requested face name.
1374 2009-03-02 Timothy Hatcher <timothy@apple.com>
1376 Fixes a regression caused by splitting the input and output of console commands.
1378 https://bugs.webkit.org/show_bug.cgi?id=24293
1380 Reviewed by Kevin McCullough.
1382 * inspector/front-end/Console.js:
1383 (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
1384 normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
1386 2009-03-02 Timothy Hatcher <timothy@apple.com>
1388 Make exception messages and logged Error objects display consistently.
1390 https://bugs.webkit.org/show_bug.cgi?id=18983
1392 Reviewed by Adam Roben.
1394 * English.lproj/localizedStrings.js: Remove a string for line numbers.
1395 * inspector/front-end/Console.js:
1396 (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
1397 boolean to the ConsoleCommandResult constructor and don't pass level.
1398 (WebInspector.Console.prototype._formatnode): Fix a className typo.
1399 (WebInspector.Console.prototype._formaterror): Add an error-message
1400 classed span around the message to show in red and remove the
1401 console-message-url class from the link so it doesn't float right.
1402 Instead enclose the link in parentheses and use displayNameForURL
1403 to shorten the URL in the link.
1404 (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
1405 how line numbers are shown since link underlining a string with
1406 parentheses looks bad.
1407 (WebInspector.ConsoleCommandResult): Take an exception boolean flag
1408 instead of a level and get line and URL based on that flag.
1409 * inspector/front-end/inspector.css: Tweaks to the styles.
1411 2009-03-02 Ojan Vafai <ojan@chromium.org>
1413 Reviewed by Adele Peterson.
1415 Bug 24048: extra windows button padding doesn't apply when there's no appearance
1416 <https://bugs.webkit.org/show_bug.cgi?id=24048>
1418 Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
1420 No tests added as existing tests already cover this behavior.
1422 * rendering/RenderButton.cpp:
1423 (WebCore::RenderButton::setupInnerStyle):
1424 * rendering/RenderTheme.cpp:
1425 * rendering/RenderTheme.h:
1426 (WebCore::RenderTheme::buttonInternalPaddingLeft):
1427 (WebCore::RenderTheme::buttonInternalPaddingRight):
1428 (WebCore::RenderTheme::buttonInternalPaddingTop):
1429 * rendering/RenderThemeChromiumGtk.cpp:
1430 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
1431 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
1432 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
1433 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
1434 * rendering/RenderThemeChromiumGtk.h:
1435 * rendering/RenderThemeChromiumWin.cpp:
1436 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
1437 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
1438 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
1439 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
1440 * rendering/RenderThemeChromiumWin.h:
1441 * rendering/RenderThemeWin.cpp:
1442 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
1443 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
1444 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
1445 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
1446 * rendering/RenderThemeWin.h:
1448 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
1450 Build fix for Qt port. Remove unnecessary assert.
1452 * platform/graphics/qt/ImageBufferQt.cpp:
1453 (WebCore::ImageBuffer::putImageData):
1455 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
1457 Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
1459 https://bugs.webkit.org/show_bug.cgi?id=24227
1460 Ensure that the checkForSolidColor() optimization is correctly triggered
1461 for all cases of drawPattern. Currently, the optimization was not triggered
1462 when the check had not been previously performed via a request for the
1463 image's NativeImagePtr.
1465 Implement the Qt version of the checkForSolidColor() method. Combined with
1466 the bug fix this reduces the time it takes to draw a repeating background
1467 of a 1x1 image from ~50msecs to ~0msecs on my machine.
1469 * platform/graphics/BitmapImage.cpp:
1470 (WebCore::BitmapImage::BitmapImage):
1471 * platform/graphics/BitmapImage.h:
1472 (WebCore::BitmapImage::mayFillWithSolidColor):
1473 * platform/graphics/Image.h:
1474 (WebCore::Image::mayFillWithSolidColor):
1475 * platform/graphics/cairo/ImageCairo.cpp:
1476 (WebCore::BitmapImage::BitmapImage):
1477 (WebCore::BitmapImage::checkForSolidColor):
1478 * platform/graphics/cg/ImageCG.cpp:
1479 (WebCore::BitmapImage::BitmapImage):
1480 (WebCore::BitmapImage::checkForSolidColor):
1481 * platform/graphics/qt/ImageQt.cpp:
1482 (WebCore::BitmapImage::checkForSolidColor):
1483 * platform/graphics/skia/ImageSkia.cpp:
1484 (WebCore::BitmapImage::checkForSolidColor):
1485 * platform/graphics/wx/ImageWx.cpp:
1486 (WebCore::BitmapImage::checkForSolidColor):
1488 2009-03-02 Gustavo Noronha Silva <gns@gnome.org>
1490 Unreviewed build fix; adding missing files to EXTRA_DIST, so that
1491 they show up in the tarball.
1495 2009-03-02 Dirk Schulze <krit@webkit.org>
1497 Reviewed by Holger Freyther.
1499 Added putImageData to Qt. Discussed with Ariya Hidayat.
1501 [Qt] lacks putImageData support in Canvas
1502 https://bugs.webkit.org/show_bug.cgi?id=22186
1504 * platform/graphics/qt/ImageBufferQt.cpp:
1505 (WebCore::ImageBuffer::putImageData):
1507 2009-03-02 Timothy Hatcher <timothy@apple.com>
1509 Show exception messages again when evaluating bad expressions in the
1510 Web Inspector's console.
1512 https://bugs.webkit.org/show_bug.cgi?id=19890
1514 Reviewed by Oliver Hunt.
1516 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1517 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
1518 Fix the order in which the exception is set and cleared now that the
1519 exception is stored in the shared GlobalData, not per ExecState.
1521 2009-02-28 Timothy Hatcher <timothy@apple.com>
1523 Make input in the Web Inspector console print before any output
1524 that might be added by the called function.
1526 https://bugs.webkit.org/show_bug.cgi?id=19931
1528 Reviewed by Oliver Hunt.
1530 * inspector/front-end/Console.js:
1531 (WebInspector.Console.prototype._enterKeyPressed): Add the command
1532 message before evaluating the result. Associate the originating
1533 command to the result, so if they are adjacent there is no divider.
1534 (WebInspector.ConsoleCommand): No longer take a result.
1535 (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
1536 code removed since it isn't used now.
1537 (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
1538 (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
1539 Call the ConsoleMessage toMessageElement and add a style class.
1540 * inspector/front-end/inspector.css: Add a new style class for
1541 adjacent results to hide the divider. Also tweak the position of
1542 the disclosure triangle for objects to not use the left margin.
1544 2009-03-01 Chris Fleizach <cfleizach@apple.com>
1546 Reviewed by Oliver Hunt.
1548 Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
1549 <https://bugs.webkit.org/show_bug.cgi?id=24282>
1551 When fetching an array of elements with a range, attachment views need to be returned
1552 instead of the actual attachment.
1554 * page/mac/AccessibilityObjectWrapper.mm:
1555 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1556 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1558 2009-03-01 Ojan Vafai <ojan@chromium.org>
1560 Reviewed by Eric Seidel.
1562 Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
1563 <https://bugs.webkit.org/show_bug.cgi?id=24251>
1565 Make RenderObject::positionForCoordinate non-virtual and
1566 RenderObject::positionForPoint virtual in preparation for
1567 removing positionFor* from RenderObject/RenderText.
1570 (WebCore::Frame::visiblePositionForPoint):
1571 * rendering/RenderBR.cpp:
1572 (WebCore::RenderBR::positionForPoint):
1573 * rendering/RenderBR.h:
1574 * rendering/RenderBlock.cpp:
1575 (WebCore::RenderBlock::positionForPoint):
1576 * rendering/RenderBlock.h:
1577 * rendering/RenderBox.cpp:
1578 (WebCore::RenderBox::positionForPoint):
1579 * rendering/RenderBox.h:
1580 * rendering/RenderInline.cpp:
1581 (WebCore::RenderInline::positionForPoint):
1582 * rendering/RenderInline.h:
1583 * rendering/RenderObject.cpp:
1584 (WebCore::RenderObject::positionForCoordinates):
1585 (WebCore::RenderObject::positionForPoint):
1586 * rendering/RenderObject.h:
1587 * rendering/RenderReplaced.cpp:
1588 (WebCore::RenderReplaced::positionForPoint):
1589 * rendering/RenderReplaced.h:
1590 * rendering/RenderSVGInlineText.cpp:
1591 (WebCore::RenderSVGInlineText::positionForPoint):
1592 * rendering/RenderSVGInlineText.h:
1593 * rendering/RenderText.cpp:
1594 (WebCore::RenderText::positionForPoint):
1595 * rendering/RenderText.h:
1597 2009-03-01 Larry Ewing <lewing@novell.com>
1599 Reviewed by Alexey Proskuryakov.
1601 https://bugs.webkit.org/show_bug.cgi?id=24080
1602 NPN_GetValue casting to the wrong type and writing outside bounds
1604 Make sure to cast the value to the correct type so that only
1605 memory owned by the value is written to.
1607 * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic):
1608 * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
1609 * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic):
1610 (PluginView::getValue):
1612 2009-03-01 Jeremy Moskovich <jeremy@chromium.org>
1614 Reviewed by Simon Fraser.
1616 https://bugs.webkit.org/show_bug.cgi?id=24197 and
1617 https://bugs.webkit.org/show_bug.cgi?id=23512
1619 The Windows version of cgColor() is conditionally compiled using
1620 !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
1621 can use the OS X version instead of the Windows version.
1623 Also rename cgColor() -> createCGColor()
1625 No observable change in behavior, so no test.
1627 * platform/graphics/Color.h:
1628 * platform/graphics/cg/ColorCG.cpp:
1629 (WebCore::createCGColor):
1630 * platform/graphics/cg/GraphicsContextCG.cpp:
1631 (WebCore::GraphicsContext::setPlatformShadow):
1632 * platform/graphics/mac/ColorMac.mm:
1633 (WebCore::createCGColor):
1634 * platform/graphics/mac/GraphicsContextMac.mm:
1635 (WebCore::GraphicsContext::drawFocusRing):
1636 * platform/graphics/mac/GraphicsLayerCA.mm:
1637 (WebCore::setLayerBorderColor):
1638 (WebCore::setLayerBackgroundColor):
1639 (WebCore::GraphicsLayerCA::setBackgroundColor):
1640 * platform/graphics/win/GraphicsContextCGWin.cpp:
1641 (WebCore::GraphicsContext::drawFocusRing):
1642 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1645 2009-03-01 David Levin <levin@chromium.org>
1647 Reviewed by Alexey Proskuryakov.
1649 Bug 24271: XMLHttpRequest needs js bindings for Workers.
1650 <https://bugs.webkit.org/show_bug.cgi?id=24271>
1652 Tests: http/tests/xmlhttprequest/workers/methods-async.html
1653 http/tests/xmlhttprequest/workers/methods.html
1655 * bindings/js/JSWorkerContextBase.cpp:
1656 (WebCore::JSWorkerContextBase::getOwnPropertySlot):
1657 (jsWorkerContextBaseXMLHttpRequest):
1658 (setJSWorkerContextBaseXMLHttpRequest):
1659 Expose XMLHttpRequest to Workers.
1661 * bindings/js/JSWorkerContextBase.h:
1663 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1664 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1665 (WebCore::constructXMLHttpRequest):
1666 (WebCore::JSXMLHttpRequestConstructor::mark):
1667 Removed the dependencies on Document.
1669 * bindings/js/JSXMLHttpRequestConstructor.h:
1670 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
1671 * dom/EventException.idl:
1672 * dom/EventListener.idl:
1673 Change to have the NoStaticTables attribute since they are used from XHR.
1675 * loader/WorkerThreadableLoader.cpp:
1676 (WebCore::workerContextDidFinishLoading):
1677 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1678 Fixed identifier to be unsigned long.
1680 * loader/WorkerThreadableLoader.h:
1681 * workers/WorkerThread.cpp:
1682 (WebCore::WorkerThread::workerThread):
1683 Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
1685 * xml/XMLHttpRequestUpload.cpp:
1687 * xml/XMLHttpRequest.idl:
1688 * xml/XMLHttpRequestException.idl:
1689 * xml/XMLHttpRequestProgressEvent.idl:
1690 * xml/XMLHttpRequestUpload.idl:
1691 Change to have the NoStaticTables attribute since they are used from XHR.
1693 2009-03-01 Horia Olaru <olaru@adobe.com>
1695 Adding manual debugger test cases for bug.
1697 https://bugs.webkit.org/show_bug.cgi?id=21073
1699 Reviewed by Kevin McCullough.
1701 * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
1702 * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
1703 * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
1704 * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
1705 * manual-tests/inspector/resources/loop-statements.js: Added.
1707 2009-03-01 Dan Bernstein <mitz@apple.com>
1709 Reviewed by Darin Adler.
1711 - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
1713 Test: fast/events/scroll-during-zoom-change.html
1716 (WebCore::Document::recalcStyle): Pause scheduled events during style
1717 reclaculation. Changes to the zoom property result in scroll events
1718 being generated during style recalc, and those events need to be
1719 deferred until the render tree is consistent.
1720 * page/FrameView.cpp:
1721 (WebCore::FrameView::layout): Changed to account for a case in which the
1722 post-layout tasks trigger a nested layout, which reactivates the
1723 post-layout task timer.
1725 2009-03-01 Ross Boucher <rboucher@gmail.com>
1727 Alphabetically sort scripts in the Script's panel file popup menu.
1729 https://bugs.webkit.org/show_bug.cgi?id=23395
1731 Reviewed by Timothy Hatcher.
1733 * inspector/front-end/ScriptsPanel.js:
1734 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1735 * inspector/front-end/utilities.js:
1736 (insertionIndexForObjectInListSortedByFunction):
1737 (indexOfObjectInListSortedByFunction):
1739 2009-03-01 Yael Aharon <yael.aharon@nokia.com>
1741 Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
1742 when creating databases, localStorage or sessionStorage. Changing document.domain
1743 should have no affect on databases, localStorage and sessionStorage in Web Inspector.
1745 https://bugs.webkit.org/show_bug.cgi?id=23844
1747 Reviewed by Timothy Hatcher.
1749 * inspector/InspectorController.cpp:
1750 (WebCore::InspectorController::addDOMStorageScriptResource):
1751 (WebCore::InspectorController::didUseDOMStorage):
1752 * storage/Database.cpp:
1753 (WebCore::Database::openDatabase):
1755 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
1757 Reviewed by Holger Freyther.
1759 Avoid leaking errors when reporting GIO errors.
1761 * platform/network/soup/ResourceHandleSoup.cpp:
1762 (WebCore::readCallback):
1763 (WebCore::openCallback):
1764 (WebCore::queryInfoCallback):
1766 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
1768 Reviewed by Holger Freyther.
1770 Fixes crash when the GIO backend is given the URI for a directory.
1772 * platform/network/soup/ResourceHandleSoup.cpp:
1773 (WebCore::networkErrorForFile):
1775 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
1777 Reviewed by Darin Fisher.
1779 https://bugs.webkit.org/show_bug.cgi?id=24261
1780 Fix V8 custom binding scrubbing error.
1782 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
1783 Test: traversal/exception-forwarding.html
1784 TesT: traversal/stay-within-root.html
1786 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1787 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1788 (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
1789 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1790 (WebCore::toV8): Ditto.
1792 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
1794 Reviewed by Darin Fisher.
1796 https://bugs.webkit.org/show_bug.cgi?id=24261
1797 Fix V8 custom binding scrubbing error.
1799 Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
1801 * WebCore.xcodeproj/project.pbxproj:
1802 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1803 (WebCore::cssPropertyName): Remove dubious checks, left over from
1804 incomplete conversion of parameter from pointer to pass-by-ref.
1805 (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
1806 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1808 2009-02-28 Xan Lopez <xan@gnome.org>
1810 Reviewed by Holger Freyther.
1812 https://bugs.webkit.org/show_bug.cgi?id=24263
1813 [GTK] ref ResourceHandle until we are finished with it
1815 Add a ref to the ResourceHandle in startHttp so we can keep it
1816 alive untill all callbacks have been executed, and unref it when
1817 soup tells us it's done with the SoupMessage (in
1818 finishedCallback). Fixes a number of crashes when calling
1819 didReceiveData whould crash because of the handle dying.
1821 * platform/network/soup/ResourceHandleSoup.cpp:
1822 (WebCore::finishedCallback):
1823 (WebCore::ResourceHandle::startHttp):
1825 2009-02-28 Adam Bergkvist <adam.bergkvist@ericsson.com>
1827 Reviewed by Alexey Proskuryakov.
1829 https://bugs.webkit.org/show_bug.cgi?id=24226
1830 [SOUP] HTTP status text is never set
1832 Set HTTP status text to SoupMessage reason_phrase.
1834 * platform/network/soup/ResourceHandleSoup.cpp:
1835 (WebCore::fillResponseFromMessage):
1837 2009-02-28 Dan Bernstein <mitz@apple.com>
1839 - fix malformed project file
1841 * WebCore.xcodeproj/project.pbxproj:
1843 2009-02-28 Dan Bernstein <mitz@apple.com>
1845 Reviewed by Oliver Hunt.
1847 - fix https://bugs.webkit.org/show_bug.cgi?id=23848
1848 <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
1850 Test: fast/layers/inline-dirty-z-order-lists.html
1852 * rendering/RenderBox.cpp:
1853 (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
1854 layer's and its stacking context's z-order lists when the layer's
1855 z-index or visibility change from here...
1856 * rendering/RenderBoxModelObject.cpp:
1857 (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
1858 it will apply to RenderInline too.
1860 2009-02-27 Alexey Proskuryakov <ap@webkit.org>
1862 Reviewed by David Hyatt.
1864 Don't include TextResourceDecoder.h in Document.h
1866 This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
1867 when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
1870 (WebCore::Document::displayStringModifiedByEncoding):
1871 (WebCore::Document::displayBufferModifiedByEncoding):
1875 2009-02-27 Matt Pennig <pennig@apple.com>
1877 Reviewed by David Hyatt.
1879 Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
1880 "Fixed elements have 0 as an offsetLeft property"
1882 Code also brings offsetLeft/Top in full conformance with the spec.
1883 Added two tests, one for fixed-position elements, and one for <html>.
1885 Tests: fast/dom/Element/fixed-position-offset-parent.html
1886 fast/dom/Element/offsetLeft-offsetTop-html.html
1888 * rendering/RenderBoxModelObject.cpp:
1889 (WebCore::RenderBoxModelObject::offsetLeft):
1890 (WebCore::RenderBoxModelObject::offsetTop):
1892 2009-02-27 Dean Jackson <dino@apple.com>
1894 Reviewed by Simon Fraser.
1896 renderer()->hasTransform() returns true for elements
1897 with perspective, but no transform, so test for transform
1898 when hit testing. This fixes ASSERT from
1899 https://bugs.webkit.org/show_bug.cgi?id=24252
1901 Test: transforms/no_transform_hit_testing.html
1903 * rendering/RenderLayer.cpp:
1904 (WebCore::RenderLayer::hitTestLayer):
1906 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
1908 Reviewed by Darin Fisher.
1910 Fix scrubbing error -- a reversed condition.
1912 * bindings/v8/ScriptValue.h:
1913 (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
1915 2009-02-27 Jian Li <jianli@chromium.org>
1917 Reviewed by Alexey Proskuryakov.
1919 Add confirmMessageFromWorkerObject to WorkerObjectProxy.
1920 https://bugs.webkit.org/show_bug.cgi?id=24152
1922 * workers/WorkerMessagingProxy.cpp:
1923 (WebCore::MessageWorkerContextTask::performTask):
1924 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1925 * workers/WorkerMessagingProxy.h:
1926 * workers/WorkerObjectProxy.h:
1928 2009-02-27 Anders Carlsson <andersca@apple.com>
1930 Reviewed by David Hyatt.
1932 Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227
1933 because it leads to assertion failures in the Mac port.
1935 * platform/graphics/BitmapImage.cpp:
1936 (WebCore::BitmapImage::BitmapImage):
1937 * platform/graphics/BitmapImage.h:
1938 (WebCore::BitmapImage::mayFillWithSolidColor):
1939 * platform/graphics/Image.h:
1940 (WebCore::Image::mayFillWithSolidColor):
1941 * platform/graphics/cairo/ImageCairo.cpp:
1942 (WebCore::BitmapImage::BitmapImage):
1943 * platform/graphics/cg/ImageCG.cpp:
1944 (WebCore::BitmapImage::BitmapImage):
1945 (WebCore::BitmapImage::checkForSolidColor):
1946 * platform/graphics/qt/ImageQt.cpp:
1947 (WebCore::BitmapImage::checkForSolidColor):
1948 * platform/graphics/skia/ImageSkia.cpp:
1949 (WebCore::BitmapImage::checkForSolidColor):
1950 * platform/graphics/wx/ImageWx.cpp:
1951 (WebCore::BitmapImage::checkForSolidColor):
1953 2009-02-27 Adam Barth <abarth@webkit.org>
1955 Reviewed by Eric Seidel.
1957 https://bugs.webkit.org/show_bug.cgi?id=20249
1959 Add a preference to allow universal access from local URLs to mitigate
1960 some attacks. Some clients still want to allow this access, so we
1961 expose this as a preference.
1965 (WebCore::Document::initSecurityContext):
1966 * page/SecurityOrigin.cpp:
1967 (WebCore::SecurityOrigin::SecurityOrigin):
1968 * page/Settings.cpp:
1969 (WebCore::Settings::Settings):
1970 (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
1972 (WebCore::Settings::allowUniversalAccessFromFileUrls):
1974 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
1976 Reviewed by Eric Seidel.
1978 https://bugs.webkit.org/show_bug.cgi?id=24229
1979 If an image has no alpha channel there is no reason to use SourceOver.
1981 * platform/graphics/qt/ImageQt.cpp:
1982 (WebCore::Image::drawPattern):
1983 (WebCore::BitmapImage::draw):
1985 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
1987 Reviewed by Eric Seidel and Simon Fraser.
1989 https://bugs.webkit.org/show_bug.cgi?id=24227
1990 Ensure that the checkForSolidColor() optimization is correctly triggered
1991 for all cases of drawPattern. Currently, the optimization was not triggered
1992 when the check had not been previously performed via a request for the
1993 image's NativeImagePtr.
1995 Implement the Qt version of the checkForSolidColor() method. Combined with
1996 the bug fix this reduces the time it takes to draw a repeating background
1997 of a 1x1 image from ~50msecs to ~0msecs on my machine.
1999 * platform/graphics/BitmapImage.cpp:
2000 (WebCore::BitmapImage::BitmapImage):
2001 * platform/graphics/BitmapImage.h:
2002 (WebCore::BitmapImage::mayFillWithSolidColor):
2003 * platform/graphics/Image.h:
2004 (WebCore::Image::mayFillWithSolidColor):
2005 * platform/graphics/cairo/ImageCairo.cpp:
2006 (WebCore::BitmapImage::BitmapImage):
2007 * platform/graphics/cg/ImageCG.cpp:
2008 (WebCore::BitmapImage::BitmapImage):
2009 (WebCore::BitmapImage::checkForSolidColor):
2010 * platform/graphics/qt/ImageQt.cpp:
2011 (WebCore::BitmapImage::checkForSolidColor):
2012 * platform/graphics/skia/ImageSkia.cpp:
2013 (WebCore::BitmapImage::checkForSolidColor):
2014 * platform/graphics/wx/ImageWx.cpp:
2015 (WebCore::BitmapImage::checkForSolidColor):
2017 2009-02-27 Dirk Schulze <krit@webkit.org>
2019 Reviewed by Zack Rusin.
2021 Added support for gradients and pattern on Fonts for Qt.
2023 [Qt] gradients and patterns for FontQt
2024 https://bugs.webkit.org/show_bug.cgi?id=24243
2026 * platform/graphics/qt/FontQt.cpp:
2027 (WebCore::Font::drawComplexText):
2029 2009-02-27 Jian Li <jianli@chromium.org>
2031 Reviewed by Alexey Proskuryakov.
2033 WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
2034 https://bugs.webkit.org/show_bug.cgi?id=24113
2036 * workers/WorkerMessagingProxy.cpp:
2038 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
2040 Added a refresh button to storage views.
2042 https://bugs.webkit.org/show_bug.cgi?id=24040
2044 Reviewed by Timothy Hatcher.
2046 * inspector/front-end/DOMStorageItemsView.js:
2047 (WebInspector.DOMStorageItemsView):
2048 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
2049 (WebInspector.DOMStorageItemsView.prototype.update):
2050 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
2051 * inspector/front-end/DatabaseTableView.js:
2052 (WebInspector.DatabaseTableView):
2053 (WebInspector.DatabaseTableView.prototype.get statusBarItems):
2054 (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
2055 * inspector/front-end/DatabasesPanel.js:
2056 (WebInspector.DatabasesPanel):
2057 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
2058 (WebInspector.DatabasesPanel.prototype.reset):
2059 (WebInspector.DatabasesPanel.prototype.showDatabase):
2060 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
2061 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
2062 * inspector/front-end/inspector.css:
2064 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
2066 Added support for editing/deleting localStorage and sessionStorage items
2067 directly from Web Inspector.
2069 https://bugs.webkit.org/show_bug.cgi?id=23866.
2071 Reviewed by Timothy Hatcher.
2073 * WebCore.vcproj/WebCore.vcproj:
2074 * inspector/front-end/DOMStorageDataGrid.js: Added.
2075 (WebInspector.DOMStorageDataGrid):
2076 (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
2077 (WebInspector.DOMStorageDataGrid.prototype._startEditing):
2078 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
2079 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
2080 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
2081 * inspector/front-end/DOMStorageItemsView.js:
2082 (WebInspector.DOMStorageItemsView):
2083 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
2084 (WebInspector.DOMStorageItemsView.prototype.hide):
2085 (WebInspector.DOMStorageItemsView.prototype.update):
2086 (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
2087 * inspector/front-end/DatabasesPanel.js:
2088 (WebInspector.DatabasesPanel):
2089 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
2090 (WebInspector.DatabasesPanel.prototype.reset):
2091 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
2092 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
2093 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
2094 * inspector/front-end/WebKit.qrc:
2095 * inspector/front-end/inspector.css:
2096 * inspector/front-end/inspector.html:
2098 2009-02-26 Brett Wilson <brettw@chromium.org>
2100 Fix Windows transparency for the Chromium port. Implement a helper
2101 class for handling transparency on Windows. It allows semitransparent
2102 ClearType and semitransparent form controls by making new layers in the
2105 It also replaces the "ThemeHelper" which allows better
2106 scaling and transforms on Windows form controls. In addition to the
2107 functionality that the ThemeHelper did, but additionally handles the
2108 antialiasing properly so that the form controls aren't composited on a
2111 https://bugs.webkit.org/show_bug.cgi?id=24101
2113 Reviewed by Eric Seidel.
2115 * platform/graphics/chromium/FontChromiumWin.cpp:
2117 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2118 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2119 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2120 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
2121 (WebCore::Font::drawGlyphs):
2122 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
2123 * platform/graphics/chromium/ThemeHelperChromiumWin.h:
2124 * platform/graphics/chromium/TransparencyWin.cpp: Added.
2126 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
2127 (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
2128 (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
2129 (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
2130 (WebCore::TransparencyWin::TransparencyWin):
2131 (WebCore::TransparencyWin::~TransparencyWin):
2132 (WebCore::TransparencyWin::init):
2133 (WebCore::TransparencyWin::computeLayerSize):
2134 (WebCore::TransparencyWin::setupLayer):
2135 (WebCore::TransparencyWin::setupLayerForNoLayer):
2136 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
2137 (WebCore::TransparencyWin::setupLayerForTextComposite):
2138 (WebCore::TransparencyWin::setupLayerForWhiteLayer):
2139 (WebCore::TransparencyWin::setupTransform):
2140 (WebCore::TransparencyWin::setupTransformForKeepTransform):
2141 (WebCore::TransparencyWin::setupTransformForUntransform):
2142 (WebCore::TransparencyWin::setupTransformForScaleTransform):
2143 (WebCore::TransparencyWin::setTextCompositeColor):
2144 (WebCore::TransparencyWin::initializeNewContext):
2145 (WebCore::TransparencyWin::compositeOpaqueComposite):
2146 (WebCore::TransparencyWin::compositeTextComposite):
2147 (WebCore::TransparencyWin::makeLayerOpaque):
2148 * platform/graphics/chromium/TransparencyWin.h: Added.
2149 (WebCore::TransparencyWin::):
2150 (WebCore::TransparencyWin::context):
2151 (WebCore::TransparencyWin::platformContext):
2152 (WebCore::TransparencyWin::drawRect):
2153 * platform/graphics/skia/GraphicsContextSkia.cpp:
2154 (WebCore::GraphicsContext::endTransparencyLayer):
2155 * platform/graphics/skia/ImageSkia.cpp:
2156 (WebCore::paintSkBitmap):
2157 * rendering/RenderThemeChromiumWin.cpp:
2159 (WebCore::RenderThemeChromiumWin::paintButton):
2160 (WebCore::RenderThemeChromiumWin::paintMenuList):
2161 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2163 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
2165 Reviewed by Eric Seidel.
2167 https://bugs.webkit.org/show_bug.cgi?id=24211
2168 Add ScheduledAction for V8.
2170 * bindings/v8/ScheduledAction.cpp: Added.
2171 (WebCore::ScheduledAction::ScheduledAction):
2172 (WebCore::ScheduledAction::~ScheduledAction):
2173 (WebCore::ScheduledAction::execute):
2174 * bindings/v8/ScheduledAction.h: Added.
2175 (WebCore::ScheduledAction::ScheduledAction):
2177 2009-02-27 Zack Rusin <zack@kde.org>
2179 Reviewed by Nikolas Zimmermann.
2181 Qt: be more reasonable about scrolled lines
2183 cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
2184 match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
2185 irritating. so lets scroll vertically by the Qt set number of lines * Qt default
2188 * platform/qt/WheelEventQt.cpp:
2190 2009-02-27 Xan Lopez <xan@gnome.org>
2192 Rubber-stamped by Alexey Proskuryakov.
2194 https://bugs.webkit.org/show_bug.cgi?id=24222
2195 [GTK] Remove checks for old glib versions
2197 libsoup, which is a hard dependency, needs at least glib 2.15.3,
2198 so remove all glib checks for versions older than that.
2200 * platform/gtk/ContextMenuGtk.cpp:
2201 (WebCore::ContextMenu::ContextMenu):
2202 * platform/gtk/ContextMenuItemGtk.cpp:
2203 (WebCore::ContextMenuItem::setSubMenu):
2204 * platform/gtk/PopupMenuGtk.cpp:
2205 (WebCore::PopupMenu::show):
2206 * platform/gtk/WidgetGtk.cpp:
2207 (WebCore::Widget::retainPlatformWidget):
2208 * platform/network/soup/ResourceHandleSoup.cpp:
2210 2009-02-26 Dirk Schulze <krit@webkit.org>
2212 Reviewed by Oliver Hunt.
2214 Added support for Gradients and Patterns on filled or stroked Fonts
2215 in Cairo. I also added support for globalAlpha on FontCairo.
2217 [CAIRO] SVG/Canvas fonts miss gradients/pattern support
2218 https://bugs.webkit.org/show_bug.cgi?id=18617
2220 * html/CanvasRenderingContext2D.cpp:
2221 (WebCore::CanvasRenderingContext2D::drawTextInternal):
2222 * platform/graphics/cairo/FontCairo.cpp:
2223 (WebCore::Font::drawGlyphs):
2225 2009-02-26 Stephen White <senorblanco@chromium.org>
2227 Reviewed by Eric Seidel.
2229 https://bugs.webkit.org/show_bug.cgi?id=23957
2231 Fix for SVG gradient and pattern text for Chromium/skia.
2232 Added accessors for the fill and stroke gradients to
2233 GraphicsContext. Changed the paintSkiaText function to take a
2234 GraphicsContext, so we can check for gradients/patterns.
2235 Changed the skiaDrawText function to set the SkPaint shader
2236 correctly, and to scale up the gradient shader matrix to
2237 encompass the entire text string. Also offset each glyph
2238 separately, rather than transforming the canvas, so that the
2239 gradient/pattern stays fixed relative to the text origin.
2241 * platform/graphics/GraphicsContext.cpp:
2242 (WebCore::GraphicsContext::getFillGradient):
2243 (WebCore::GraphicsContext::getStrokeGradient):
2244 (WebCore::GraphicsContext::getFillPattern):
2245 (WebCore::GraphicsContext::getStrokePattern):
2246 * platform/graphics/GraphicsContext.h:
2247 * platform/graphics/chromium/FontChromiumWin.cpp:
2248 (WebCore::Font::drawGlyphs):
2249 * platform/graphics/chromium/UniscribeHelper.cpp:
2250 (WebCore::UniscribeHelper::draw):
2251 * platform/graphics/skia/SkiaFontWin.cpp:
2252 (WebCore::windowsCanHandleTextDrawing):
2253 (WebCore::skiaDrawText):
2254 (WebCore::paintSkiaText):
2255 * platform/graphics/skia/SkiaFontWin.h:
2257 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
2259 Reviewed by Eric Seidel.
2261 https://bugs.webkit.org/show_bug.cgi?id=24208
2262 Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
2264 * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
2265 (WebCore::ACCESSOR_GETTER):
2266 (WebCore::CALLBACK_FUNC_DECL):
2267 * bindings/v8/custom/V8DocumentCustom.cpp: Added.
2268 (WebCore::CALLBACK_FUNC_DECL):
2269 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2270 (WebCore::ACCESSOR_GETTER):
2271 * bindings/v8/custom/V8NodeCustom.cpp: Added.
2272 (WebCore::CALLBACK_FUNC_DECL):
2274 2009-02-26 Gustavo Noronha Silva <gns@gnome.org>
2276 Unreviewed build fix for building with GNOME Keyring enabled.
2278 * platform/network/soup/webkit-soup-auth-dialog.c:
2281 2009-02-26 Xan Lopez <xan@gnome.org>
2283 Reviewed by Holger Freyther.
2285 https://bugs.webkit.org/show_bug.cgi?id=16947
2286 [GTK] Missing HTTP Auth challenge
2288 Add HTTP authentication dialog with optional GNOME Keyring
2292 * platform/network/ResourceHandleInternal.h:
2293 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2294 * platform/network/soup/ResourceHandleSoup.cpp:
2295 (WebCore::currentToplevelCallback):
2296 (WebCore::ResourceHandle::startHttp):
2297 (WebCore::ResourceHandle::start):
2298 * platform/network/soup/webkit-soup-auth-dialog.c: Added.
2299 (webkit_soup_auth_dialog_class_init):
2300 (webkit_soup_auth_dialog_init):
2301 (webkit_soup_auth_dialog_session_feature_init):
2303 (set_password_callback):
2304 (response_callback):
2306 (find_password_callback):
2307 (session_authenticate):
2309 * platform/network/soup/webkit-soup-auth-dialog.h: Added.
2311 2009-02-25 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
2313 Reviewed by Dave Hyatt.
2315 After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
2316 svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
2317 started failing because Ojan's new code was now *correctly* calling through to
2318 SVG asking for the closest text offset in the last line box, instead of
2319 just returning the offset at the end of the last line box when clicking below a box.
2321 But! The SVG code was wrong, in that it returned the character offset of the last
2322 character when you asked for a character offset after the end of the box, instead
2323 it should return the offset *after* the last character. This patch fixes
2324 that behavior by reordering the last two clauses in svgCharacterHitsPosition.
2326 The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
2327 to document what's wrong. I've also cleaned up the code a bit so it's clearer
2328 what it is doing (which also makes more obvious what's wrong with it).
2330 * rendering/RenderSVGInlineText.cpp:
2331 (WebCore::RenderSVGInlineText::positionForCoordinates):
2332 * rendering/SVGInlineTextBox.cpp:
2333 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
2334 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2335 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
2336 (WebCore::SVGInlineTextBox::closestCharacterToPosition):
2337 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
2339 2009-02-26 Darin Fisher <darin@chromium.org>
2341 Reviewed by Eric Seidel.
2343 Minor cleanup of ChromiumBridge:
2344 Removing unused matchesMIMEType method and s/Javascript/JavaScript/
2346 * platform/chromium/ChromiumBridge.h:
2347 * platform/chromium/MimeTypeRegistryChromium.cpp:
2348 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2349 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2350 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2352 2009-02-26 David Hyatt <hyatt@apple.com>
2354 Reviewed by Sam Weinig
2356 Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including
2357 the line-height below the descent.
2359 Added fast/inline/vertical-align-text-bottom.html
2361 * rendering/RenderBoxModelObject.cpp:
2362 (WebCore::RenderBoxModelObject::verticalPosition):
2364 2009-02-26 Dirk Schulze <krit@webkit.org>
2366 Reviewed by Eric Seidel.
2368 Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
2369 ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
2370 just to implement this three methods to support SVG Masking now.
2372 Make SVG Masking platform aware
2373 https://bugs.webkit.org/show_bug.cgi?id=19243
2377 * WebCore.vcproj/WebCore.vcproj:
2378 * WebCore.xcodeproj/project.pbxproj:
2379 * svg/graphics/SVGResourceMasker.cpp:
2380 (WebCore::SVGResourceMasker::applyMask):
2381 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
2382 * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
2383 * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
2384 * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
2385 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
2387 2009-02-26 Yong Li <yong.li@torchmobile.com>
2389 Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
2391 Test: http/tests/misc/slow-preload-cancel.html
2393 https://bugs.webkit.org/show_bug.cgi?id=24133
2394 Clear all pending preloads in the DocLoader object when we decide to
2395 cancel its all requests.
2397 * loader/DocLoader.cpp:
2398 (WebCore::DocLoader::clearPendingPreloads):
2399 * loader/DocLoader.h:
2400 * loader/loader.cpp:
2401 (WebCore::Loader::cancelRequests):
2403 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
2405 Reviewed by Eric Seidel.
2407 https://bugs.webkit.org/show_bug.cgi?id=24182
2408 Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
2410 * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
2411 (WebCore::CALLBACK_FUNC_DECL):
2412 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
2414 (WebCore::CALLBACK_FUNC_DECL):
2415 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
2417 (WebCore::CALLBACK_FUNC_DECL):
2419 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
2421 Reviewed by Darin Adler.
2423 https://bugs.webkit.org/show_bug.cgi?id=23500
2424 KURL::parse() incorrectly compares its result to original string
2426 * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
2428 2009-02-26 Ojan Vafai <ojan@chromium.org>
2430 Reviewed by Kevin McCullough.
2432 Manual test for inspector node highlighting.
2434 * manual-tests/inspector/highlight-nodes.html: Added.
2436 2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org>
2438 Reviewed by Darin Fisher.
2440 https://bugs.webkit.org/show_bug.cgi?id=23973
2441 ScrollView::scrollContents can be invoked during view shutdown. In
2442 this scenario the FrameView::hostWindow method can return NULL, which
2443 indicates that the frame/page is being destroyed. This causes a crash
2444 when we try to dereference a NULL hostWindow pointer. Fix is to add a
2445 NULL check for this.
2447 * platform/ScrollView.cpp:
2448 (WebCore::ScrollView::scrollContents):
2450 2009-02-26 Rahul Kuchhal <kuchhal@chromium.org>
2452 Reviewed by Dave Hyatt.
2454 https://bugs.webkit.org/show_bug.cgi?id=24003
2455 Fix a crash caused by unsafe type conversion.
2457 Test: fast/block/positioning/absolute-in-inline-rtl-4.html
2459 * rendering/RenderBox.cpp:
2460 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2462 2009-02-26 Ojan Vafai <ojan@chromium.org>
2464 Reviewed by Adam Roben.
2466 https://bugs.webkit.org/show_bug.cgi?id=24202
2467 Have drawNodeHighlight clip instead of clearing. This makes it work for
2468 both Safari and Chromium since Chromium draws the inspector highlighting
2469 in the same buffer as the page.
2471 * inspector/InspectorController.cpp:
2472 (WebCore::quadToPath):
2473 (WebCore::drawOutlinedQuad):
2474 (WebCore::drawOutlinedQuadWithClip):
2475 (WebCore::drawHighlightForBox):
2477 2009-02-26 David Hyatt <hyatt@apple.com>
2479 Reviewed by Dan Bernstein & Darin Adler
2481 Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
2483 Added fast/inline/inline-continuation-borders.html
2485 * rendering/InlineFlowBox.cpp:
2486 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2488 2009-02-26 Simon Fraser <simon.fraser@apple.com>
2490 Build fix, no review.
2492 Try to fix the wx build after r41218.
2494 * WebCoreSources.bkl:
2496 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
2498 Reviewed by Darin Adler.
2500 https://bugs.webkit.org/show_bug.cgi?id=19527
2501 ASSERTION FAILED: containerA && containerB
2503 Test: fast/dom/Range/bug-19527.html
2506 (WebCore::Range::isPointInRange):
2507 (WebCore::Range::comparePoint):
2508 Bring the behavior in line with current Firefox, making it impossible for these methods
2509 to pass a null container to compareBoundaryPoints().
2511 2009-02-26 Jonathon Jongsma <jonathon@quotidian.org>
2513 Reviewed by Holger Freyther.
2515 https://bugs.webkit.org/show_bug.cgi?id=20358
2517 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2518 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
2519 should set the computed size rather than the specified size, otherwise
2520 the caps just get rendered normal size.
2522 2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
2524 Reviewed by George Staikos.
2526 https://bugs.webkit.org/show_bug.cgi?id=24062
2527 QNetworkCookieJar expects the url and not the policy url. Sending the
2528 policy url will cause QNetworkCookieJar to behave incorrectly. One
2529 example would be a cookie that does not have a path or domain.
2530 QNetworkCookieJar will use the url it is given to fill in default values.
2531 This allows setting cookies on the url of the main frame from an iFrame
2532 when the cookie should be set on the url of the iFrame.
2534 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
2536 * platform/qt/CookieJarQt.cpp:
2537 (WebCore::setCookies):
2539 2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn>
2541 Reviewed by George Staikos.
2543 make WebKit/Qt compile with SVG disabled
2546 * platform/graphics/qt/FontPlatformDataQt.cpp:
2548 2009-02-25 Gustavo Noronha Silva <gns@gnome.org>
2550 Unreviewed build fix. Add WebCore/workers to the list of paths
2551 searched by the bindings generator perl script.
2555 2009-02-25 Sam Weinig <sam@webkit.org>
2557 Reviewed by Geoffrey Garen.
2559 Add canvas to the list of RenderObjects that can mark a page as
2562 * rendering/RenderHTMLCanvas.cpp:
2563 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
2565 2009-02-25 Eric Carlson <eric.carlson@apple.com>
2567 Reviewed by Dave Hyatt.
2569 * rendering/RenderBox.cpp:
2570 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
2571 as RenderMedia with controls always has a layer.
2573 2009-02-25 Dan Bernstein <mitz@apple.com>
2575 Reviewed by Simon Fraser.
2577 - fix https://bugs.webkit.org/show_bug.cgi?id=24130
2578 <rdar://problem/6618196> Paint very slow when horizontally resizing
2580 Test: fast/gradients/background-clipped.html
2582 * rendering/RenderBoxModelObject.cpp:
2583 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
2584 destination rectangle passed to drawTiledImage() with the dirty
2585 rectangle. This makes it more likely for the destination rect to be
2586 contained in a single tile rect, which results in a faster code path
2587 being taken down the road (just drawing a single tile instead of
2590 2009-02-25 Ojan Vafai <ojan@chromium.org>
2592 Reviewed by Eric Seidel.
2594 Fix test regressions from positionForCoordinates patch.
2595 https://bugs.webkit.org/show_bug.cgi?id=24148
2597 * rendering/RenderBlock.cpp:
2598 (WebCore::positionForPointWithInlineChildren):
2599 Remove ASSERT that placeholder text codepath is hitting.
2601 2009-02-25 Chris Fleizach <cfleizach@apple.com>
2603 Reviewed by Beth Dakin.
2605 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
2606 https://bugs.webkit.org/show_bug.cgi?id=24143
2608 When an AX object is marked dirty, do not create AX elements while going up the parent chain.
2609 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
2610 Make sure the AXObjectWrapper's have an object before calling them
2611 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
2613 Test: platform/mac-snowleopard/accessibility/table-updating.html
2616 * page/AXObjectCache.cpp:
2617 (WebCore::AXObjectCache::~AXObjectCache):
2618 (WebCore::AXObjectCache::get):
2619 (WebCore::AXObjectCache::getOrCreate):
2620 (WebCore::AXObjectCache::removeAXID):
2621 (WebCore::AXObjectCache::handleActiveDescendantChanged):
2622 (WebCore::AXObjectCache::handleAriaRoleChanged):
2623 * page/AXObjectCache.h:
2624 * page/AccessibilityImageMapLink.cpp:
2625 (WebCore::AccessibilityImageMapLink::parentObject):
2626 * page/AccessibilityListBox.cpp:
2627 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
2628 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2629 * page/AccessibilityListBoxOption.cpp:
2630 (WebCore::AccessibilityListBoxOption::elementRect):
2631 (WebCore::AccessibilityListBoxOption::parentObject):
2632 * page/AccessibilityObject.cpp:
2633 (WebCore::AccessibilityObject::detach):
2634 (WebCore::AccessibilityObject::parentObjectIfExists):
2635 (WebCore::replacedNodeNeedsCharacter):
2636 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
2637 * page/AccessibilityObject.h:
2638 * page/AccessibilityRenderObject.cpp:
2639 (WebCore::AccessibilityRenderObject::firstChild):
2640 (WebCore::AccessibilityRenderObject::lastChild):
2641 (WebCore::AccessibilityRenderObject::previousSibling):
2642 (WebCore::AccessibilityRenderObject::nextSibling):
2643 (WebCore::AccessibilityRenderObject::parentObjectIfExists):
2644 (WebCore::AccessibilityRenderObject::parentObject):
2645 (WebCore::AccessibilityRenderObject::isAttachment):
2646 (WebCore::AccessibilityRenderObject::headingLevel):
2647 (WebCore::AccessibilityRenderObject::anchorElement):
2648 (WebCore::AccessibilityRenderObject::menuForMenuButton):
2649 (WebCore::AccessibilityRenderObject::menuButtonForMenu):
2650 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
2651 (WebCore::AccessibilityRenderObject::internalLinkElement):
2652 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
2653 (WebCore::AccessibilityRenderObject::titleUIElement):
2654 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2655 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
2656 (WebCore::AccessibilityRenderObject::getDocumentLinks):
2657 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2658 (WebCore::AccessibilityRenderObject::focusedUIElement):
2659 (WebCore::AccessibilityRenderObject::activeDescendant):
2660 (WebCore::AccessibilityRenderObject::observableObject):
2661 (WebCore::AccessibilityRenderObject::childrenChanged):
2662 (WebCore::AccessibilityRenderObject::addChildren):
2663 * page/AccessibilityRenderObject.h:
2664 (WebCore::AccessibilityRenderObject::setRenderObject):
2665 * page/AccessibilityTable.cpp:
2666 (WebCore::AccessibilityTable::addChildren):
2667 (WebCore::AccessibilityTable::headerContainer):
2668 (WebCore::AccessibilityTable::cellForColumnAndRow):
2669 * page/AccessibilityTableCell.cpp:
2670 (WebCore::AccessibilityTableCell::isTableCell):
2671 (WebCore::AccessibilityTableCell::titleUIElement):
2672 * page/AccessibilityTableColumn.cpp:
2673 (WebCore::AccessibilityTableColumn::headerObjectForSection):
2674 * page/AccessibilityTableRow.cpp:
2675 (WebCore::AccessibilityTableRow::isTableRow):
2676 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2677 * page/mac/AXObjectCacheMac.mm:
2678 (WebCore::AXObjectCache::postNotification):
2679 (WebCore::AXObjectCache::postNotificationToElement):
2680 * page/mac/AccessibilityObjectWrapper.mm:
2681 (textMarkerForVisiblePosition):
2682 (AXLinkElementForNode):
2683 (nsStringForReplacedNode):
2684 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
2685 (-[AccessibilityObjectWrapper accessibilityActionNames]):
2686 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2687 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
2688 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
2689 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2690 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
2691 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2692 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
2693 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
2694 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2695 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
2696 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
2697 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
2698 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2700 2009-02-25 Beth Dakin <bdakin@apple.com>
2702 Reviewed by Geoff Garen.
2704 Re-working of <rdar://problem/6487249> repro crash in
2705 WebCore::CSSParser::parseFillImage copying entire contents of this
2707 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
2709 Fixes a bunch of layout test failures I caused!
2711 * css/CSSParser.cpp:
2712 (WebCore::CSSParser::parseValue):
2713 (WebCore::CSSParser::parseContent):
2714 (WebCore::CSSParser::parseFillImage):
2715 (WebCore::CSSParser::parseFontFaceSrc):
2716 (WebCore::CSSParser::parseBorderImage):
2718 2009-02-25 Dimitri Glazkov <dglazkov@chromium.org>
2720 Reviewed by Eric Seidel.
2722 https://bugs.webkit.org/show_bug.cgi?id=24174
2723 Add more V8 custom bindings.
2725 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
2726 (WebCore::hasCSSPropertyNamePrefix):
2727 (WebCore::cssPropertyName):
2728 (WebCore::NAMED_PROPERTY_GETTER):
2729 (WebCore::NAMED_PROPERTY_SETTER):
2730 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
2731 (WebCore::INDEXED_PROPERTY_GETTER):
2732 (WebCore::CALLBACK_FUNC_DECL):
2733 * bindings/v8/custom/V8EventCustom.cpp: Added.
2734 (WebCore::ACCESSOR_SETTER):
2735 (WebCore::ACCESSOR_GETTER):
2736 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
2737 (WebCore::NAMED_PROPERTY_DELETER):
2738 (WebCore::NAMED_PROPERTY_SETTER):
2739 (WebCore::NAMED_PROPERTY_GETTER):
2740 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
2741 (WebCore::NAMED_PROPERTY_GETTER):
2742 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
2743 (WebCore::INDEXED_PROPERTY_GETTER):
2744 (WebCore::NAMED_PROPERTY_GETTER):
2745 * bindings/v8/custom/V8NodeListCustom.cpp: Added.
2746 (WebCore::NAMED_PROPERTY_GETTER):
2747 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
2748 (WebCore::NAMED_PROPERTY_GETTER):
2750 2009-02-25 Scott Violet <sky@google.com>
2752 Reviewed by Dave Hyatt.
2754 https://bugs.webkit.org/show_bug.cgi?id=24171
2755 Provides a RenderTheme method for getting the scroll bar size and
2756 changes RenderListBox to use it. RenderTheme returns a size of regular,
2757 and Mac's override to return small. Changes ScrollbarThemeChromium to
2758 use the scrollbarsize of the scrollbar when getting the size
2759 instead of passing in no-args.
2761 * platform/chromium/ScrollbarThemeChromium.cpp:
2762 (WebCore::ScrollbarThemeChromium::trackRect):
2763 (WebCore::ScrollbarThemeChromium::buttonSize):
2764 * rendering/RenderListBox.cpp:
2765 (WebCore::RenderListBox::createScrollbar):
2766 * rendering/RenderTheme.h:
2767 (WebCore::RenderTheme::scrollbarControlSizeForPart):
2768 * rendering/RenderThemeChromiumMac.h:
2769 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
2770 * rendering/RenderThemeMac.h:
2771 (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
2773 2009-02-25 Beth Dakin <bdakin@apple.com>
2775 Reviewed by Darin Adler.
2777 Fix for <rdar://problem/6487249> repro crash in
2778 WebCore::CSSParser::parseFillImage copying entire contents of this
2780 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
2782 * css/CSSParser.cpp:
2783 (WebCore::CSSParser::parseValue): Null-check m_styleSheet
2785 2009-02-25 Adam Treat <adam.treat@torchmobile.com>
2791 2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org>
2793 Gtk build fix. Not reviewed.
2795 Add files to the build per r41218.
2796 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
2799 * page/DOMWindow.cpp:
2801 2009-02-25 Zan Dobersek <zandobersek@gmail.com>
2803 Reviewed by Alexey Proskuryakov.
2805 https://bugs.webkit.org/show_bug.cgi?id=24043
2806 When faced with URLs with unsupported protocol on Gtk port,
2807 report the error through an idle function and return true, so
2808 a proper resource handle is created.
2810 * platform/network/soup/ResourceHandleSoup.cpp:
2811 (WebCore::reportUnknownProtocolError):
2812 (WebCore::ResourceHandle::start):
2814 2009-02-25 Steve Falkenburg <sfalken@apple.com>
2817 Use struct to forward declare ResourceRequest.
2819 * history/HistoryItem.h:
2820 * inspector/InspectorController.h:
2821 * loader/DocumentThreadableLoader.h:
2822 * loader/FrameLoaderClient.h:
2823 * loader/MainResourceLoader.h:
2824 * loader/SubresourceLoader.h:
2825 * loader/SubresourceLoaderClient.h:
2826 * loader/ThreadableLoader.h:
2827 * loader/WorkerThreadableLoader.h:
2828 * platform/CrossThreadCopier.h:
2829 * platform/network/ResourceHandle.h:
2830 * platform/network/ResourceHandleClient.h:
2831 * platform/network/ResourceRequestBase.h:
2832 * platform/network/cf/ResourceRequestCFNet.h:
2833 * xml/XMLHttpRequest.h:
2835 2009-02-25 Steve Falkenburg <sfalken@apple.com>
2837 Partial Windows build fix.
2839 * DerivedSources.cpp:
2840 * WebCore.vcproj/WebCore.vcproj:
2842 2009-02-25 Dirk Schulze <krit@webkit.org>
2844 Reviewed by Oliver Hunt.
2846 Ported arcTo to Qt. Qt has no native support for arcTo. This changes
2847 calculate the behavior of arcTo and draws it with lineTo and arc.
2849 [QT] implement Canvas arcTo
2850 https://bugs.webkit.org/show_bug.cgi?id=23873
2852 * platform/graphics/qt/PathQt.cpp:
2853 (WebCore::Path::addArcTo):
2855 2009-02-25 Simon Fraser <simon.fraser@apple.com>
2857 Reviewed by Dan Bernstein
2859 Remove idl files from Resources, and sort.
2861 * WebCore.xcodeproj/project.pbxproj:
2863 2009-02-25 Chris Marrin <cmarrin@apple.com>
2865 Reviewed by Simon Fraser.
2867 https://bugs.webkit.org/show_bug.cgi?id=23943
2869 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
2870 the window object. Also added WebKitPoint object, which is passed in and out
2873 Test: fast/dom/Window/webkitConvertPoint.html
2875 * DerivedSources.make:
2877 * WebCore.vcproj/WebCore.vcproj:
2878 * WebCore.xcodeproj/project.pbxproj:
2879 * WebCoreSources.bkl:
2880 * bindings/js/JSDOMWindowBase.cpp:
2881 (jsDOMWindowBaseWebKitPoint):
2882 (setJSDOMWindowBaseWebKitPoint):
2883 * bindings/js/JSWebKitPointConstructor.cpp: Added.
2885 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2886 (WebCore::constructWebKitPoint):
2887 (WebCore::JSWebKitPointConstructor::getConstructData):
2888 * bindings/js/JSWebKitPointConstructor.h: Added.
2889 (WebCore::JSWebKitPointConstructor::classInfo):
2891 (WebCore::Node::convertToPage):
2892 (WebCore::Node::convertFromPage):
2894 * page/DOMWindow.cpp:
2895 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
2896 (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
2898 * page/DOMWindow.idl:
2899 * page/WebKitPoint.h: Added.
2900 (WebCore::WebKitPoint::create):
2901 (WebCore::WebKitPoint::x):
2902 (WebCore::WebKitPoint::y):
2903 (WebCore::WebKitPoint::setX):
2904 (WebCore::WebKitPoint::setY):
2905 (WebCore::WebKitPoint::WebKitPoint):
2906 * page/WebKitPoint.idl: Added.
2908 2009-02-25 Jian Li <jianli@chromium.org>
2910 Reviewed by Alexey Proskuryakov.
2912 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
2913 https://bugs.webkit.org/show_bug.cgi?id=24145
2915 * platform/CrossThreadCopier.cpp:
2916 * platform/CrossThreadCopier.h:
2918 2009-02-25 David Levin <levin@chromium.org>
2920 Reviewed by Alexey Proskuryakov.
2922 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2923 <https://bugs.webkit.org/show_bug.cgi?id=23688>
2925 No observable change in behavior, so no test.
2927 * loader/ThreadableLoader.cpp:
2928 (WebCore::ThreadableLoader::loadResourceSynchronously):
2929 * loader/ThreadableLoaderClientWrapper.h:
2930 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2931 (WebCore::ThreadableLoaderClientWrapper::done):
2932 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2933 (WebCore::ThreadableLoaderClientWrapper::didFail):
2934 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2935 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2936 Expose whether the loader is done (based on what callbacks were done).
2938 * loader/WorkerThreadableLoader.cpp:
2939 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2940 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2941 Each loader is given its own mode so that only its callbacks get through the run loop.
2943 The xhr spec says that the readystatechange events are synchronous, so in the case of a
2944 nested sync xhr no readystatechange events should be fired for the outer xhr.
2946 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2948 * loader/WorkerThreadableLoader.h:
2949 (WebCore::WorkerThreadableLoader::create):
2950 (WebCore::WorkerThreadableLoader::done):
2952 * workers/WorkerRunLoop.cpp:
2953 (WebCore::WorkerRunLoop::WorkerRunLoop):
2954 * workers/WorkerRunLoop.h:
2955 (WebCore::WorkerRunLoop::createUniqueId):
2956 Simple method to create a uniqueId on demand with respect to the run loop.
2958 * workers/WorkerThread.h:
2960 2009-02-25 David Levin <levin@chromium.org>
2962 Reviewed by Alexey Proskuryakov.
2964 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
2965 <https://bugs.webkit.org/show_bug.cgi?id=24089>
2967 Make threadable loader callbacks to happen during the sync load call.
2969 Changes the behavior of sync xhr for insecure redirects in two ways:
2970 + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
2971 + Throws a network exception which is what other browsers do and what the spec
2972 says to do (http://www.w3.org/TR/XMLHttpRequest/).
2974 * loader/DocumentThreadableLoader.cpp:
2975 (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
2976 * loader/DocumentThreadableLoader.h:
2977 * loader/ThreadableLoader.cpp:
2978 (WebCore::ThreadableLoader::loadResourceSynchronously):
2979 * loader/ThreadableLoader.h:
2980 * xml/XMLHttpRequest.cpp:
2981 (WebCore::XMLHttpRequest::XMLHttpRequest):
2982 (WebCore::XMLHttpRequest::loadRequestSynchronously):
2983 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2984 (WebCore::XMLHttpRequest::didFail):
2985 (WebCore::XMLHttpRequest::didFailRedirectCheck):
2986 * xml/XMLHttpRequest.h:
2988 2009-02-24 Chris Marrin <cmarrin@apple.com>
2990 Reviewed by David Hyatt.
2992 https://bugs.webkit.org/show_bug.cgi?id=23368
2994 Added logic to correctly hit test accelerated layers.
2996 Tests: animations/animation-hit-test-transform.html
2997 animations/animation-hit-test.html
2998 transitions/transition-hit-test-transform.html
2999 transitions/transition-hit-test.html
3001 * page/animation/KeyframeAnimation.cpp:
3002 (WebCore::KeyframeAnimation::animate):
3003 * rendering/RenderLayer.cpp:
3004 (WebCore::RenderLayer::hitTestLayer):
3005 (WebCore::RenderLayer::updateClipRects):
3006 * rendering/RenderLayerBacking.cpp:
3007 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3009 2009-02-25 Alexey Proskuryakov <ap@webkit.org>
3011 Reviewed by Darin Adler.
3013 https://bugs.webkit.org/show_bug.cgi?id=24067
3014 REGRESSION: Crash in WebCore::Document::initSecurityContext
3016 The crash started to happen when we removed a check for frame->document() being null.
3017 However, the original document shouldn't be null here, because it is needed to alias
3018 security origins. So, this patch fixes the crash by correcting security origin behavior.
3020 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
3021 This tests for not crashing, and for inheriting the domain from the document being replaced.
3022 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
3023 domain to remove a prefix from.
3025 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
3026 clearing the frame, so that Document::initSecurityContext() could access the old one.
3028 2009-02-25 Jay Campan <jcampan@google.com>
3030 Reviewed by Darin Fisher.
3032 https://bugs.webkit.org/show_bug.cgi?id=24066
3034 Items in drop-downs were not painted correctly. Makes sure the
3035 PopupListBox invalidates in the coordinates of the window as this is
3036 FramelessScrollView::invalidateRect paints to.
3038 * platform/chromium/PopupMenuChromium.cpp:
3039 (WebCore::PopupListBox::invalidateRow):
3041 2009-02-24 Simon Fraser <simon.fraser@apple.com>
3043 Reviewed by Anders Carlsson
3045 https://bugs.webkit.org/show_bug.cgi?id=15081
3047 Make display:none work for applet, emebed and object elements
3048 by calling rendererIsNeeded() on superclasses.
3050 Tests: fast/replaced/applet-display-none.html
3051 fast/replaced/embed-display-none.html
3052 fast/replaced/object-display-none.html
3054 * html/HTMLAppletElement.cpp:
3055 (WebCore::HTMLAppletElement::rendererIsNeeded):
3056 * html/HTMLElement.cpp:
3057 (WebCore::HTMLElement::rendererIsNeeded):
3058 * html/HTMLEmbedElement.cpp:
3059 (WebCore::HTMLEmbedElement::rendererIsNeeded):
3060 * html/HTMLObjectElement.cpp:
3061 (WebCore::HTMLObjectElement::rendererIsNeeded):
3063 2009-02-24 Simon Fraser <simon.fraser@apple.com>
3065 Reviewed by Dave Hyatt
3067 https://bugs.webkit.org/show_bug.cgi?id=24137
3069 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
3070 taking perspective and transform-style: preserve-3d into account.
3072 In order to support transform-style: preserve-3d, which keeps elements in a
3073 3d space, we have to carry along an accumulated matrix in TransformState.
3074 We also need to apply the perspective from the parent, if any, with the
3081 * WebCore.vcproj/WebCore.vcproj:
3082 * WebCore.xcodeproj/project.pbxproj:
3083 * WebCoreSources.bkl:
3084 * css/CSSComputedStyleDeclaration.cpp:
3085 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3086 * platform/graphics/transforms/TransformationMatrix.cpp:
3087 (WebCore::TransformationMatrix::translate):
3088 (WebCore::TransformationMatrix::translate3d):
3089 (WebCore::TransformationMatrix::translateRight3d):
3090 * platform/graphics/transforms/TransformationMatrix.h:
3091 * rendering/RenderBox.cpp:
3092 (WebCore::RenderBox::mapLocalToAbsolutePoint):
3093 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
3094 * rendering/RenderBox.h:
3095 * rendering/RenderLayer.cpp:
3096 (WebCore::RenderLayer::updateTransform):
3097 (WebCore::RenderLayer::perspectiveTransform):
3098 (WebCore::RenderLayer::perspectiveOrigin):
3099 * rendering/RenderLayer.h:
3100 * rendering/RenderLayerBacking.cpp:
3101 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3102 * rendering/RenderLayerCompositor.cpp:
3103 (WebCore::requiresCompositingLayerForTransform):
3104 (WebCore::RenderLayerCompositor::layerHas3DContent):
3105 * rendering/RenderObject.cpp:
3106 (WebCore::RenderObject::localToAbsolute):
3107 (WebCore::RenderObject::absoluteToLocal):
3108 (WebCore::RenderObject::mapLocalToAbsolutePoint):
3109 (WebCore::RenderObject::mapAbsoluteToLocalPoint):
3110 * rendering/RenderObject.h:
3111 * rendering/RenderTableCell.cpp:
3112 (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
3113 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
3114 * rendering/RenderTableCell.h:
3115 * rendering/RenderView.cpp:
3116 (WebCore::RenderView::mapLocalToAbsolutePoint):
3117 (WebCore::RenderView::mapAbsoluteToLocalPoint):
3118 * rendering/RenderView.h:
3119 * rendering/TransformState.cpp: Added.
3120 (WebCore::TransformState::move):
3121 (WebCore::TransformState::applyTransform):
3122 (WebCore::TransformState::flatten):
3123 * rendering/TransformState.h: Added.
3124 (WebCore::TransformState::):
3125 (WebCore::TransformState::TransformState):
3126 (WebCore::TransformState::move):
3127 * rendering/style/RenderStyle.h:
3128 (WebCore::InheritedFlags::hasPerspective):
3130 2009-02-24 Sam Weinig <sam@webkit.org>
3132 Reviewed by David Hyatt.
3134 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
3135 Regression (r40837): JavaScript image popup doesn't work
3137 Make the getClientRects and getBoundingClientRect methods return rects
3138 relative to the viewport.
3140 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
3143 (WebCore::Element::getClientRects):
3144 (WebCore::Element::getBoundingClientRect):
3146 2009-02-24 Ojan Vafai <ojan@chromium.org>
3148 Reviewed by Eric Seidel.
3150 SVG pages don't have a body or an html element!
3151 Don't return early if there is no body.
3153 * editing/VisiblePosition.cpp:
3154 (WebCore::VisiblePosition::canonicalPosition):
3156 2009-02-23 David Hyatt <hyatt@apple.com>
3158 Reviewed by Eric Seidel
3160 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
3162 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All
3163 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
3164 reflections or masks).
3166 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
3167 The only difference is that the clip has to be pushed and popped when painting the object's children.
3169 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With
3170 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
3171 use the new functions.
3173 Hit testing has also been patched to check the overflow clip rect first before recurring into children.
3175 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
3176 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical.
3178 Masks are now treated like normal flow layers (just like reflections).
3180 A couple of test cases have been added to fast/overflow to test the stacking order.
3182 * rendering/InlineFlowBox.cpp:
3183 (WebCore::InlineFlowBox::nodeAtPoint):
3184 (WebCore::InlineFlowBox::paint):
3185 * rendering/RenderBlock.cpp:
3186 (WebCore::RenderBlock::repaintOverhangingFloats):
3187 (WebCore::RenderBlock::paint):
3188 (WebCore::RenderBlock::paintChildren):
3189 (WebCore::RenderBlock::paintObject):
3190 (WebCore::RenderBlock::paintFloats):
3191 (WebCore::RenderBlock::insertFloatingObject):
3192 (WebCore::RenderBlock::floatRect):
3193 (WebCore::RenderBlock::lowestPosition):
3194 (WebCore::RenderBlock::rightmostPosition):
3195 (WebCore::RenderBlock::leftmostPosition):
3196 (WebCore::RenderBlock::addOverhangingFloats):
3197 (WebCore::RenderBlock::nodeAtPoint):
3198 (WebCore::RenderBlock::hitTestContents):
3199 * rendering/RenderBox.cpp:
3200 (WebCore::RenderBox::nodeAtPoint):
3201 (WebCore::RenderBox::pushContentsClip):
3202 (WebCore::RenderBox::popContentsClip):
3203 * rendering/RenderBox.h:
3204 (WebCore::RenderBox::paintObject):
3205 * rendering/RenderBoxModelObject.cpp:
3206 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
3207 * rendering/RenderBoxModelObject.h:
3208 * rendering/RenderLayer.cpp:
3209 (WebCore::RenderLayer::paintLayer):
3210 (WebCore::RenderLayer::hitTestLayer):
3211 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3212 (WebCore::RenderLayer::isSelfPaintingLayer):
3213 * rendering/RenderLayer.h:
3214 * rendering/RenderTable.cpp:
3215 (WebCore::RenderTable::paint):
3216 (WebCore::RenderTable::paintObject):
3217 (WebCore::RenderTable::nodeAtPoint):
3218 * rendering/RenderTable.h:
3219 * rendering/RenderTableCell.cpp:
3220 (WebCore::RenderTableCell::paint):
3221 * rendering/RenderTableRow.cpp:
3222 (WebCore::RenderTableRow::nodeAtPoint):
3223 (WebCore::RenderTableRow::paint):
3224 * rendering/RenderTableRow.h:
3225 * rendering/RenderTableSection.cpp:
3226 (WebCore::RenderTableSection::paint):
3227 (WebCore::RenderTableSection::paintObject):
3228 (WebCore::RenderTableSection::nodeAtPoint):
3229 * rendering/RenderTableSection.h:
3230 * rendering/RenderTreeAsText.cpp:
3232 (WebCore::writeLayers):
3234 2009-02-24 David Levin <levin@chromium.org>
3236 Reviewed by NOBODY (build fix).
3238 Attempted build fix for wx-mac.
3240 * WebCoreSources.bkl:
3242 2009-02-24 David Levin <levin@chromium.org>
3244 Reviewed by NOBODY (build fix).
3246 Attempted build fixes for qt-linux and wx-mac.
3251 2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
3253 Reviewed by Sam Weinig.
3255 Fix null pointer error. If the node is the Document, then ownerDocument()
3256 returns null, document() does not.
3258 * editing/VisiblePosition.cpp:
3259 (WebCore::VisiblePosition::canonicalPosition):
3261 2009-02-24 Jian Li <jianli@chromium.org>
3263 Reviewed by NOBODY (attempted build fixes).
3265 Fix build break for Windows and Linux.
3268 * WebCore.vcproj/WebCore.vcproj:
3270 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
3272 Reviewed by Eric Seidel.
3274 https://bugs.webkit.org/show_bug.cgi?id=24131
3275 Fix-up COM/RefCounted dichotomy in Chromium port.
3277 * page/chromium/AccessibilityObjectWrapper.h:
3278 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
3279 explicit setting of recount.
3281 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
3283 Reviewed by Eric Seidel.
3285 https://bugs.webkit.org/show_bug.cgi?id=24141
3286 Add clarity to V8 interceptor helper function.
3288 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3289 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
3290 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
3291 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
3292 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
3294 2009-02-24 Simon Fraser <simon.fraser@apple.com>
3296 Reviewed by Eric Seidel
3298 Minor numeric cleanup: convert float literals to doubles.
3300 * platform/graphics/transforms/RotateTransformOperation.cpp:
3301 (WebCore::RotateTransformOperation::blend):
3303 2009-02-24 Mark Mentovai <mark@chromium.org>
3305 Reviewed by Eric Seidel.
3307 https://bugs.webkit.org/show_bug.cgi?id=24139
3308 Add missing include.
3310 * bindings/v8/ScriptInstance.h:
3312 2009-02-24 Jian Li <jianli@chromium.org>
3314 Reviewed by Alexey Proskuryakov.
3316 Move worker related files from dom directory to worker directory under WebCore.
3317 https://bugs.webkit.org/show_bug.cgi?id=24123
3319 * DerivedSources.make:
3323 * WebCore.vcproj/MigrateIDLAndScripts:
3324 * WebCore.vcproj/WebCore.vcproj:
3325 * WebCore.xcodeproj/project.pbxproj:
3326 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
3327 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
3328 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
3329 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
3330 * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
3331 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
3332 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
3333 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
3334 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
3335 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
3336 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
3337 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
3338 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
3339 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
3340 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
3341 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
3342 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
3343 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
3344 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
3345 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
3347 2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
3349 Reviewed by Dave Hyatt.
3351 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
3352 around divs inside editable regions.
3353 https://bugs.webkit.org/show_bug.cgi?id=23605
3355 Fix clicks outside editable regions from focusing the editable region.
3356 https://bugs.webkit.org/show_bug.cgi?id=23607
3358 Removed editing/selection/contenteditable-click-outside.html as it's
3359 not as useful as our new tests.
3361 Clean up RenderBlock::positionForCoordinates to remove dead code,
3362 duplicate code, and generally make it more readable.
3364 Tests: editing/selection/click-in-margins-inside-editable-div.html
3365 editing/selection/click-in-padding-with-multiple-line-boxes.html
3366 editing/selection/click-outside-editable-div.html
3368 * editing/VisiblePosition.cpp:
3369 (WebCore::VisiblePosition::canonicalPosition):
3370 * rendering/RenderBlock.cpp:
3371 (WebCore::positionForPointRespectingEditingBoundaries):
3372 (WebCore::positionForPointWithInlineChildren):
3373 (WebCore::RenderBlock::positionForCoordinates):
3374 (WebCore::RenderBlock::updateFirstLetter):
3376 2009-02-24 Sam Weinig <sam@webkit.org>
3378 Reviewed by Geoffrey Garen.
3380 Related to <rdar://problem/6590295>
3381 Allow disabling javascript: urls.
3384 * html/HTMLAnchorElement.cpp:
3385 (WebCore::HTMLAnchorElement::parseMappedAttribute):
3386 * loader/FrameLoader.cpp:
3387 (WebCore::FrameLoader::executeIfJavaScriptURL):
3389 (WebCore::Page::Page):
3390 (WebCore::Page::setJavaScriptURLsAreAllowed):
3391 (WebCore::Page::javaScriptURLsAreAllowed):
3394 2009-02-24 Simon Fraser <simon.fraser@apple.com>
3396 Fix build when ACCELERATED_COMPOSITING is turned on
3397 (overflowList() -> normalFlowList()).
3399 * rendering/RenderLayerBacking.cpp:
3400 (WebCore::RenderLayerBacking::hasNonCompositingContent):
3401 (WebCore::RenderLayerBacking::paintIntoLayer):
3402 * rendering/RenderLayerCompositor.cpp:
3403 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3404 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3405 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3406 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
3407 (WebCore::RenderLayerCompositor::layerHas3DContent):
3409 2009-02-24 Simon Fraser <simon.fraser@apple.com>
3411 Reviewed by Darin Adler
3413 https://bugs.webkit.org/show_bug.cgi?id=24135
3415 Round the FloatPoint returned by absoluteToLocal(), rather than
3418 * dom/MouseRelatedEvent.cpp:
3419 (WebCore::MouseRelatedEvent::receivedTarget):
3421 2009-02-24 Beth Dakin <bdakin@apple.com>
3423 Reviewed by Sam Weinig.
3425 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION:
3426 Ordered list item marker misaligned when line height is not 1.2
3427 -and corresponding <rdar://problem/6602506>
3429 This is a regression from http://trac.webkit.org/changeset/40880
3430 where createInlineBox was taken off of RenderObject and moved to
3431 RenderBox. The problem was that the RenderBox version still needs
3432 to be virtual because there is still an existing implementation in
3435 * rendering/RenderBox.h:
3436 * rendering/RenderListMarker.cpp:
3437 (WebCore::RenderListMarker::createInlineBox):
3438 * rendering/RenderListMarker.h:
3440 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
3442 Reviewed by Eric Seidel.
3444 https://bugs.webkit.org/show_bug.cgi?id=24128
3445 Upstream more V8 custom bindings: constructors, XSLTProcessor.
3447 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
3448 (WebCore::CALLBACK_FUNC_DECL):
3449 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
3450 (WebCore::CALLBACK_FUNC_DECL):
3451 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
3452 (WebCore::CALLBACK_FUNC_DECL):
3453 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
3454 (WebCore::CALLBACK_FUNC_DECL):
3455 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
3456 (WebCore::CALLBACK_FUNC_DECL):
3457 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
3458 (WebCore::CALLBACK_FUNC_DECL):
3460 2009-02-24 David Levin <levin@chromium.org>
3462 Reviewed by Alexey Proskuryakov.
3464 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
3465 <https://bugs.webkit.org/show_bug.cgi?id=24090>
3467 No observable change in behavior, so no test.
3469 * dom/WorkerMessagingProxy.cpp:
3470 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
3471 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
3472 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
3474 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
3476 * dom/WorkerMessagingProxy.h:
3477 * loader/ThreadableLoader.cpp:
3478 (WebCore::ThreadableLoader::create):
3479 * loader/WorkerThreadableLoader.cpp:
3480 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
3481 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
3482 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
3483 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
3484 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
3485 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
3486 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
3487 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
3488 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
3489 Changed these methods to post task using a mode.
3491 * loader/WorkerThreadableLoader.h:
3492 (WebCore::WorkerThreadableLoader::create):
3494 2009-02-24 Alexey Proskuryakov <ap@webkit.org>
3496 Reviewed by Darin Adler.
3498 https://bugs.webkit.org/show_bug.cgi?id=24091
3499 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
3501 Test: http/tests/appcache/access-via-redirect.php
3503 * loader/appcache/ApplicationCacheGroup.cpp:
3504 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
3505 not the original one.
3507 2009-02-24 Jian Li <jianli@chromium.org>
3509 Reviewed by Alexey Proskuryakov.
3511 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
3512 https://bugs.webkit.org/show_bug.cgi?id=24112
3514 * bindings/js/WorkerScriptController.cpp:
3515 * dom/WorkerContext.cpp:
3517 2009-02-23 Antti Koivisto <antti@apple.com>
3519 Reviewed by Oliver Hunt.
3521 <rdar://problem/6613796> Extended text codecs registered on webview creation
3523 Comparing a text encoding with string "GBK" ended up constructing
3524 TextEncoding("GBK") which in turn initialized all extended
3527 * platform/text/TextCodecICU.cpp:
3528 (WebCore::TextCodecICU::decode):
3530 2009-02-23 Sam Weinig <sam@webkit.org>
3534 * bridge/qt/qt_runtime.cpp:
3535 (JSC::Bindings::valueRealType):
3537 2009-02-23 Julien Chaffraix <jchaffraix@webkit.org>
3539 Reviewed by Darin Adler.
3541 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
3543 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
3544 element created with createElement could have a wrong nodeName (createElement sets the string as the
3545 localName without checking for a prefix).
3547 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
3548 and will always succeed.
3549 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
3552 Test: fast/dom/cloneNode.html
3555 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
3556 always return an element.
3558 * html/HTMLElement.cpp:
3559 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
3561 2009-02-23 Dimitri Glazkov <dglazkov@chromium.org>
3563 Reviewed by Eric Seidel.
3565 https://bugs.webkit.org/show_bug.cgi?id=24109
3566 Upstream V8 Script abstractions, all except ScriptController.
3568 * bindings/v8/ScriptCachedFrameData.h: Added.
3569 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
3570 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
3571 (WebCore::ScriptCachedFrameData::restore):
3572 (WebCore::ScriptCachedFrameData::clear):
3573 (WebCore::ScriptCachedFrameData::domWindow):
3574 * bindings/v8/ScriptCallFrame.cpp: Added.
3575 (WebCore::ScriptCallFrame::ScriptCallFrame):
3576 (WebCore::ScriptCallFrame::~ScriptCallFrame):
3577 (WebCore::ScriptCallFrame::argumentAt):
3578 * bindings/v8/ScriptCallFrame.h: Added.
3579 (WebCore::ScriptCallFrame::functionName):
3580 (WebCore::ScriptCallFrame::sourceURL):
3581 (WebCore::ScriptCallFrame::lineNumber):
3582 (WebCore::ScriptCallFrame::argumentCount):
3583 * bindings/v8/ScriptCallStack.cpp: Added.
3584 (WebCore::ScriptCallStack::ScriptCallStack):
3585 (WebCore::ScriptCallStack::~ScriptCallStack):
3586 (WebCore::ScriptCallStack::at):
3587 * bindings/v8/ScriptCallStack.h: Added.
3588 (WebCore::ScriptCallStack::size):
3589 * bindings/v8/ScriptInstance.cpp: Added.
3590 (WebCore::V8ScriptInstance::V8ScriptInstance):
3591 (WebCore::V8ScriptInstance::~V8ScriptInstance):
3592 (WebCore::V8ScriptInstance::instance):
3593 (WebCore::V8ScriptInstance::clear):
3594 (WebCore::V8ScriptInstance::set):
3595 * bindings/v8/ScriptInstance.h: Added.
3596 (WebCore::V8ScriptInstance::create):
3597 * bindings/v8/ScriptSourceCode.h: Added.
3598 (WebCore::ScriptSourceCode::ScriptSourceCode):
3599 (WebCore::ScriptSourceCode::isEmpty):
3600 (WebCore::ScriptSourceCode::source):
3601 (WebCore::ScriptSourceCode::url):
3602 (WebCore::ScriptSourceCode::startLine):
3603 * bindings/v8/ScriptState.h: Added.
3604 (WebCore::ScriptState::hadException):
3605 (WebCore::ScriptState::setException):
3606 (WebCore::ScriptState::exception):
3607 * bindings/v8/ScriptString.h: Added.
3608 (WebCore::ScriptString::ScriptString):
3609 (WebCore::ScriptString::operator String):
3610 (WebCore::ScriptString::isNull):
3611 (WebCore::ScriptString::size):
3612 (WebCore::ScriptString::operator=):
3613 (WebCore::ScriptString::operator+=):
3614 * bindings/v8/ScriptValue.cpp: Added.
3615 (WebCore::ScriptValue::getString):
3616 * bindings/v8/ScriptValue.h: Added.
3617 (WebCore::ScriptValue::ScriptValue):
3618 (WebCore::ScriptValue::operator=):
3619 (WebCore::ScriptValue::operator==):
3620 (WebCore::ScriptValue::operator!=):
3621 (WebCore::ScriptValue::isNull):
3622 (WebCore::ScriptValue::isUndefined):
3623 (WebCore::ScriptValue::clear):
3624 (WebCore::ScriptValue::~ScriptValue):
3625 (WebCore::ScriptValue::v8Value):
3627 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
3629 Reviewed by Timothy Hatcher.
3631 https://bugs.webkit.org/show_bug.cgi?id=24106
3632 The Qt port is crashing on exit because the tear down procedure involves
3633 the WebCore::InspectorController trying to access the JS execution context
3634 for a page that is being deleted. This patch amends the inspector so
3635 that it does not try and access the execution context of the WebCore::Page
3636 in the midst of deletion.
3638 * inspector/InspectorController.cpp:
3639 (WebCore::InspectorController::inspectedPageDestroyed):
3640 (WebCore::InspectorController::stopUserInitiatedProfiling):
3642 2009-02-23 David Levin <levin@chromium.org>
3644 Reviewed by Alexey Proskuryakov.
3646 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
3647 <https://bugs.webkit.org/show_bug.cgi?id=24088>
3649 No observable change in behavior, so no test.
3651 * loader/DocumentThreadableLoader.cpp:
3652 (WebCore::DocumentThreadableLoader::create):
3653 * loader/ThreadableLoaderClient.h:
3654 (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
3655 * loader/ThreadableLoaderClientWrapper.h:
3656 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
3657 * loader/WorkerThreadableLoader.cpp:
3658 (WebCore::workerContextDidFailRedirectCheck):
3659 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
3660 * loader/WorkerThreadableLoader.h:
3661 * xml/XMLHttpRequest.cpp:
3662 (WebCore::XMLHttpRequest::didFinishLoading):
3663 * xml/XMLHttpRequest.h:
3665 2009-02-23 David Levin <levin@chromium.org>
3667 Reviewed by Alexey Proskuryakov.
3669 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
3670 <https://bugs.webkit.org/show_bug.cgi?id=24047>
3672 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
3673 using only MessageQueue::waitForMessageFilteredWithTimeout instead
3674 of three different MessageQueue methods.
3676 No observable change in behavior, so no test.
3678 * dom/WorkerRunLoop.cpp:
3679 (WebCore::ModePredicate::operator()):
3680 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
3681 (WebCore::WorkerRunLoop::runInMode):
3682 * dom/WorkerRunLoop.h:
3684 2009-02-23 David Hyatt <hyatt@apple.com>
3686 In preparation for making layers for multicol objects (so that they can properly split child layers
3687 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
3688 of RenderLayer to use the term "normal flow" instead.
3690 Reviewed by Cameron Zwarich
3692 * rendering/RenderLayer.cpp:
3693 (WebCore::RenderLayer::RenderLayer):
3694 (WebCore::RenderLayer::~RenderLayer):
3695 (WebCore::RenderLayer::setHasVisibleContent):
3696 (WebCore::RenderLayer::enclosingCompositingLayer):
3697 (WebCore::RenderLayer::addChild):
3698 (WebCore::RenderLayer::removeChild):
3699 (WebCore::RenderLayer::paintLayer):
3700 (WebCore::RenderLayer::hitTestLayer):
3701 (WebCore::RenderLayer::dirtyNormalFlowList):
3702 (WebCore::RenderLayer::updateNormalFlowList):
3703 (WebCore::RenderLayer::collectLayers):
3704 (WebCore::RenderLayer::updateLayerListsIfNeeded):
3705 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3706 (WebCore::RenderLayer::styleChanged):
3707 * rendering/RenderLayer.h:
3708 (WebCore::RenderLayer::isNormalFlowOnly):
3709 (WebCore::RenderLayer::normalFlowList):
3710 * rendering/RenderTreeAsText.cpp:
3711 (WebCore::writeLayers):
3713 2009-02-23 David Hyatt <hyatt@apple.com>
3715 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just
3716 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the
3717 column rules (rather than ending up above the background of the box but behind the column rules).
3719 Reviewed by Eric Seidel
3721 Added fast/multicol/column-rules-stacking.html
3723 * rendering/RenderBlock.cpp:
3724 (WebCore::RenderBlock::paintColumnRules):
3725 (WebCore::RenderBlock::paintColumnContents):
3726 (WebCore::RenderBlock::paintObject):
3727 * rendering/RenderBlock.h:
3729 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
3731 Reviewed by David Hyatt.
3733 No testcases have been added or modified since this patch should not result in
3734 a behavior change for ports that have layout tests enabled.
3736 Currently, the implementation of GraphicsContext::drawLineForText amongst
3737 the various ports differ in that some of them are honoring the context's
3738 strokeStyle when drawing a text-decoration and some of them are not.
3739 For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
3740 but the Cairo implementation does and has an explicit workaround that
3741 sets the strokeStyle() temporarily.
3743 This patch fixes so that all ports are consistent by explicitly making sure
3744 to set the GraphicsContext strokeStyle to SolidStroke whenever
3745 painting the text-decoration of an InlineFlowBox or InlineTextBox as these
3746 should always use a solid stroke.
3748 This patch addresses these bugs:
3749 https://bugs.webkit.org/show_bug.cgi?id=19364
3750 https://bugs.webkit.org/show_bug.cgi?id=15659
3752 * rendering/InlineFlowBox.cpp:
3753 (WebCore::InlineFlowBox::paintTextDecorations):
3754 * rendering/InlineTextBox.cpp:
3755 (WebCore::InlineTextBox::paintDecoration):
3757 2009-02-23 Scott Violet <sky@google.com>
3759 Reviewed by Eric Seidel.
3761 https://bugs.webkit.org/show_bug.cgi?id=24098
3762 Bugs in ClipboardChromium
3764 Fixes the following bugs in ClipboardChromium:
3765 * It's possible for the extension to be empty, resulting in a bad file
3766 name, for example, 'foo.' or just '.'.
3767 * We weren't restricting the size of the file to MAX_PATH.
3768 * We weren't removing characters that are invalid for file system names.
3770 * platform/chromium/ClipboardChromium.cpp:
3771 (WebCore::writeImageToDataObject):
3772 * platform/chromium/ClipboardChromium.h:
3773 * platform/chromium/ClipboardChromiumLinux.cpp: Added.
3774 (WebCore::ClipboardChromium::validateFileName):
3775 * platform/chromium/ClipboardChromiumMac.cpp: Added.
3776 (WebCore::ClipboardChromium::validateFileName):
3777 * platform/chromium/ClipboardChromiumWin.cpp: Added.
3778 (WebCore::isInvalidFileCharacter):
3779 (WebCore::ClipboardChromium::validateFileName):
3781 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
3783 Reviewed by Simon Hausmann.
3785 Fix the Copyright notices in a few files
3787 * platform/qt/RenderThemeQt.h:
3789 2009-02-23 Xan Lopez <xan@gnome.org>
3791 Reviewed by Alexey Proskuryakov.
3793 https://bugs.webkit.org/show_bug.cgi?id=22624
3794 [SOUP][GTK] Need API to get SoupSession from WebKit.
3796 Allow to retrieve the Soup session and modify the code to take
3797 into account users changing features on it.
3799 * platform/network/ResourceHandle.h:
3800 * platform/network/soup/CookieJarSoup.cpp:
3801 (WebCore::defaultCookieJar):
3802 (WebCore::setDefaultCookieJar):
3803 * platform/network/soup/CookieJarSoup.h:
3804 * platform/network/soup/ResourceHandleSoup.cpp:
3805 (WebCore::createSoupSession):
3806 (WebCore::ensureSessionIsInitialized):
3807 (WebCore::ResourceHandle::startHttp):
3808 (WebCore::ResourceHandle::cancel):
3809 (WebCore::ResourceHandle::defaultSession):
3811 2009-02-23 Xan Lopez <xan@gnome.org>
3813 Reviewed by Alexey Proskuryakov.
3815 https://bugs.webkit.org/show_bug.cgi?id=22624
3816 [SOUP][GTK] Need API to get SoupSession from WebKit.
3818 Remove CURL support.
3822 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3824 Reviewed by Mark Rowe.
3826 Test: fast/dom/empty-hash-and-search.html
3828 https://bugs.webkit.org/show_bug.cgi?id=21147
3829 hash property returns incorrect value for links w/o hash
3831 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
3833 * platform/KURL.cpp:
3834 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
3835 (WebCore::KURL::prettyURL): Append the query with the question mark.
3837 * page/Location.cpp:
3838 (WebCore::Location::search): Return an empty string if query is empty or missing.
3839 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
3841 * dom/WorkerLocation.cpp:
3842 (WebCore::WorkerLocation::search):
3843 (WebCore::WorkerLocation::hash):
3844 Match document.location fixes above.
3846 * html/HTMLAnchorElement.cpp:
3847 (WebCore::HTMLAnchorElement::hash):
3848 (WebCore::HTMLAnchorElement::search):
3849 Return an empty string for empty and missing parts.
3851 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3853 Reviewed by Darin Adler.
3855 https://bugs.webkit.org/show_bug.cgi?id=20184
3856 SELECT with no name generates invalid query string
3858 Test: fast/forms/select-no-name.html
3860 * html/HTMLSelectElement.cpp:
3861 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
3863 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3865 Apply review comments for the previous check-in (forgot to save the file, oops).
3867 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
3869 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3871 Reviewed by Darin Adler.
3873 https://bugs.webkit.org/show_bug.cgi?id=15707
3874 Crash when manipulating document from within an iframe onload function
3876 Test: fast/dom/onload-open.html
3878 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
3879 the current node, because anything can happen when dispatching events.
3881 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3883 Reviewed by Darin Adler.
3885 https://bugs.webkit.org/show_bug.cgi?id=18970
3886 Numerically named input fields cause document.forms loop problems
3888 Test: fast/forms/numeric-input-name.html
3890 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
3891 latter overrides properties.
3893 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3895 Reviewed by Sam Weinig.
3897 https://bugs.webkit.org/show_bug.cgi?id=24059
3898 Tokenizer::write() return value is never used
3901 * dom/XMLTokenizer.cpp:
3902 (WebCore::XMLTokenizer::write):
3903 * dom/XMLTokenizer.h:
3904 * html/HTMLTokenizer.cpp:
3905 (WebCore::HTMLTokenizer::write):
3906 * html/HTMLTokenizer.h:
3907 * loader/FTPDirectoryDocument.cpp:
3908 (WebCore::FTPDirectoryTokenizer::write):
3909 * loader/ImageDocument.cpp:
3910 (WebCore::ImageTokenizer::write):
3911 * loader/MediaDocument.cpp:
3912 (WebCore::MediaTokenizer::write):
3913 * loader/PluginDocument.cpp:
3914 (WebCore::PluginTokenizer::write):
3915 * loader/TextDocument.cpp:
3916 (WebCore::TextTokenizer::write):
3917 Made write() return void, not bool.
3919 2009-02-20 Geoffrey Garen <ggaren@apple.com>
3921 Reviewed by Sam Weinig.
3923 Updated for JavaScriptCore changes to timeout checking.
3925 * bindings/js/JSCustomPositionCallback.cpp:
3926 (WebCore::JSCustomPositionCallback::handleEvent):
3927 * bindings/js/JSCustomPositionErrorCallback.cpp:
3928 (WebCore::JSCustomPositionErrorCallback::handleEvent):
3929 * bindings/js/JSCustomSQLStatementCallback.cpp:
3930 (WebCore::JSCustomSQLStatementCallback::handleEvent):
3931 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3932 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3933 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3934 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3935 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3936 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3937 * bindings/js/JSCustomVoidCallback.cpp:
3938 (WebCore::JSCustomVoidCallback::handleEvent):
3939 * bindings/js/JSCustomXPathNSResolver.cpp:
3940 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3941 * bindings/js/JSDOMWindowBase.cpp:
3942 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3943 (WebCore::JSDOMWindowBase::commonJSGlobalData):
3944 * bindings/js/JSEventListener.cpp:
3945 (WebCore::JSAbstractEventListener::handleEvent):
3946 * bindings/js/ScheduledAction.cpp:
3947 (WebCore::ScheduledAction::executeFunctionInContext):
3948 * bindings/js/ScriptController.cpp:
3949 (WebCore::ScriptController::evaluate):
3950 * bindings/js/WorkerScriptController.cpp:
3951 (WebCore::WorkerScriptController::evaluate):
3952 (WebCore::WorkerScriptController::forbidExecution):
3953 * bindings/objc/WebScriptObject.mm:
3954 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3955 (-[WebScriptObject evaluateWebScript:]):
3956 * bridge/NP_jsobject.cpp:
3957 (_NPN_InvokeDefault):
3961 * bridge/jni/jni_jsobject.mm:
3962 (JavaJSObject::call):
3963 (JavaJSObject::eval):
3965 2009-02-21 Hironori Bono <hbono@chromium.org>
3967 Reviewed by Alexey Proskuryakov.
3969 https://bugs.webkit.org/show_bug.cgi?id=23786
3970 [Chromium] line-break characters in a complex text are treated as zero-width spaces
3972 This change prevents the UniscribeHelper class from treating the line-break characters
3975 Tests: fast/text/international/bidi-linebreak-001.html
3976 fast/text/international/bidi-linebreak-002.html
3977 fast/text/international/bidi-linebreak-003.html
3979 * platform/graphics/chromium/UniscribeHelper.cpp:
3980 (WebCore::UniscribeHelper::adjustSpaceAdvances):
3981 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
3982 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
3983 so does when Chromium renders a simple text.
3985 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
3987 Reviewed by Alexey Proskuryakov.
3989 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
3991 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
3992 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
3995 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
3996 enables us to use some generated QualifiedName.
3998 * bindings/js/JSOptionConstructor.cpp:
3999 (WebCore::constructHTMLOptionElement):
4001 (WebCore::Document::setTitle):
4002 * dom/XMLTokenizer.cpp:
4003 (WebCore::createXHTMLParserErrorHeader):
4004 (WebCore::XMLTokenizer::insertErrorMessageBlock):
4005 * editing/CompositeEditCommand.cpp:
4006 (WebCore::createBlockPlaceholderElement):
4007 * editing/htmlediting.cpp:
4008 (WebCore::createTabSpanElement):
4009 * html/HTMLSelectElement.cpp:
4010 (WebCore::HTMLSelectElement::setLength):
4011 * loader/FTPDirectoryDocument.cpp:
4012 (WebCore::FTPDirectoryTokenizer::appendEntry):
4013 (WebCore::FTPDirectoryTokenizer::createTDForFilename):
4014 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
4015 (WebCore::FTPDirectoryTokenizer::createBasicDocument):
4016 * loader/ImageDocument.cpp:
4017 (WebCore::ImageDocument::createDocumentStructure):
4018 * loader/MediaDocument.cpp:
4019 (WebCore::MediaTokenizer::createDocumentStructure):
4020 * loader/PluginDocument.cpp:
4021 (WebCore::PluginTokenizer::createDocumentStructure):
4022 * loader/TextDocument.cpp:
4023 (WebCore::TextTokenizer::write):
4025 (WebCore::Frame::selectionComputedStyle):
4026 (WebCore::Frame::styleForSelectionStart):
4027 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
4029 * xml/XPathFunctions.cpp:
4030 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
4031 * page/DragController.cpp:
4032 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
4034 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
4036 Reviewed by Eric Seidel.
4038 https://bugs.webkit.org/show_bug.cgi?id=24060
4039 Fix up to accommodate for CanvasPixelArray return.
4041 * platform/graphics/skia/ImageBufferSkia.cpp:
4042 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
4043 (WebCore::ImageBuffer::putImageData): Ditto.
4045 2009-02-20 Eric Carlson <eric.carlson@apple.com>
4049 https://bugs.webkit.org/show_bug.cgi?id=24042
4050 Bug 24042: MediaPlayer should cache plug-in proxy
4052 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
4053 MediaPlayer will always have created the private media player object before
4054 the plug-in is instantiated and calls back with the proxy object. This is not
4055 true on all platforms because of threading latency, so MediaPlayer should
4056 cache the plug-in proxy so it can pass it to the media engine at a later time.
4058 * platform/graphics/MediaPlayer.cpp:
4059 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
4060 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
4061 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
4062 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
4063 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
4064 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
4065 * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
4067 2009-02-20 Eric Carlson <eric.carlson@apple.com>
4071 https://bugs.webkit.org/show_bug.cgi?id=24063
4072 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
4074 * html/HTMLMediaElement.cpp:
4075 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions.
4076 Initialize m_internalCall.
4077 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
4078 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
4079 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
4080 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
4081 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
4082 (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
4083 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
4084 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
4085 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
4086 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
4087 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
4088 add RequireUserGestureRateChangeRestriction.
4090 2009-02-20 Darin Fisher <darin@chromium.org>
4092 Fix build bustage in FileSystemWin.cpp.
4094 Need to return CString() instead of 0 since there are now two CString
4095 constructors that take a pointer type.
4097 * platform/win/FileSystemWin.cpp:
4098 (WebCore::openTemporaryFile):
4100 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
4102 Reviewed by Sam Weinig.
4104 https://bugs.webkit.org/show_bug.cgi?id=23999
4105 Change license headers to accurately reflect code history.
4107 * platform/ContentType.cpp:
4108 * platform/ContentType.h:
4110 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
4112 Reviewed by Antti Koivisto.
4114 https://bugs.webkit.org/show_bug.cgi?id=23999
4115 Split off MIME type parsing into its own class.
4117 * GNUmakefile.am: Added ContentType sources.
4118 * WebCore.pro: Ditto.
4119 * WebCore.scons: Ditto.
4120 * WebCore.vcproj/WebCore.vcproj: Ditto.
4121 * WebCore.xcodeproj/project.pbxproj: Ditto.
4122 * WebCoreSources.bkl: Ditto.
4123 * html/HTMLMediaElement.cpp: Changed to use ContentType.
4124 (WebCore::HTMLMediaElement::selectMediaURL):
4125 * platform/ContentType.cpp: Added.
4126 (WebCore::ContentType::ContentType):
4127 (WebCore::ContentType::parameter):
4128 (WebCore::ContentType::type):
4129 * platform/ContentType.h: Added.
4130 (WebCore::ContentType::raw):
4131 * platform/MIMETypeRegistry.cpp:
4132 * platform/MIMETypeRegistry.h:
4133 * platform/graphics/MediaPlayer.cpp:
4134 (WebCore::MediaPlayer::load):
4135 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
4136 * rendering/style/RenderStyleConstants.h: Ditto.
4139 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
4141 Unreviewed build fix.
4143 Use CString() instead of 0.
4145 * platform/gtk/FileSystemGtk.cpp:
4146 (WebCore::openTemporaryFile):
4147 * platform/qt/FileSystemQt.cpp:
4148 (WebCore::openTemporaryFile):
4150 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
4152 Reviewed by Holger Freyther.
4154 When dealing with local files, use a path instead of an URI. GFile
4155 has problems decoding URIs with percent signs on them.
4157 * platform/network/soup/ResourceHandleSoup.cpp:
4158 (WebCore::ResourceHandle::startGio):
4160 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
4162 Reviewed by Holger Freyther.
4164 Protect the ResourceHandle instance from being destroyed by
4165 didReceiveData inside the GIO readCallback call, so that
4166 cancelling caused by scripts is handled correctly.
4168 * platform/network/soup/ResourceHandleSoup.cpp:
4169 (WebCore::readCallback):
4171 2009-02-20 David Kilzer <ddkilzer@apple.com>
4173 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
4175 Reviewed by Sam Weinig.
4177 * loader/icon/IconDatabaseNone.cpp:
4178 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
4179 (WebCore::IconDatabase::open): Commented out unused parameter.
4180 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
4181 (WebCore::IconDatabase::iconForPageURL): Ditto.
4182 (WebCore::IconDatabase::iconURLForPageURL): Ditto.
4183 (WebCore::IconDatabase::defaultIcon): Ditto.
4184 (WebCore::IconDatabase::retainIconForPageURL): Ditto.
4185 (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
4186 (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
4187 (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
4188 (WebCore::IconDatabase::setEnabled): Ditto.
4189 (WebCore::IconDatabase::pageURLMappingCount): Added stub.
4190 (WebCore::IconDatabase::retainedPageURLCount): Ditto.
4191 (WebCore::IconDatabase::iconRecordCount): Ditto.
4192 (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
4194 2009-02-20 David Kilzer <ddkilzer@apple.com>
4196 Add comment to generated code when shadowing a built-in object
4198 Reviewed by Sam Weinig.
4200 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
4201 generated code output.
4203 2009-02-20 Avi Drissman <avi@chromium.org>
4205 Reviewed by Eric Seidel.
4207 https://bugs.webkit.org/show_bug.cgi?id=24036
4208 Keyboard events need disambiguation on the Linux platform too.
4210 * platform/chromium/PlatformKeyboardEventChromium.cpp:
4211 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
4213 2009-02-19 Darin Fisher <darin@chromium.org>
4215 Reviewed by Eric Seidel.
4217 https://bugs.webkit.org/show_bug.cgi?id=24046
4219 Several improvements to CString:
4220 1- Make it possible to initialize a CString from a CStringBuffer
4221 2- Make it possible to get a CStringBuffer from a CString
4222 3- Change CStringBuffer::data() to return a const pointer to ward off mutation
4223 4- Remove unused releaseBuffer() methods.
4224 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
4226 * platform/text/CString.cpp:
4227 (WebCore::CString::init):
4228 (WebCore::CString::mutableData):
4229 (WebCore::CString::newUninitialized):
4230 (WebCore::CString::copyBufferIfNeeded):
4231 * platform/text/CString.h:
4232 (WebCore::CStringBuffer::data):
4233 (WebCore::CStringBuffer::length):
4234 (WebCore::CStringBuffer::create):
4235 (WebCore::CStringBuffer::mutableData):
4236 (WebCore::CString::CString):
4237 (WebCore::CString::buffer):
4239 2009-02-19 Dmitry Titov <dimich@chromium.org>
4241 Reviewed by Alexey Proskuryakov.
4243 https://bugs.webkit.org/show_bug.cgi?id=24017
4244 Remove some usage of Document in Worker.
4246 * dom/WorkerContext.h:
4247 (WebCore::WorkerContext::userAgent):
4249 (WebCore::Document::userAgent):
4251 * dom/ScriptExecutionContext.h:
4252 Added virtual ScriptExecutionContext::userAgent(const KURL&).
4253 Document implementation uses FrameLoader::userAgent and
4254 WorkerContext receives the string on creation and stores it in a member.
4257 (WebCore::Worker::Worker):
4258 (WebCore::Worker::notifyFinished):
4260 (WebCore::Worker::create):
4261 Instead of Document the Worker constructor now gets a ScriptExecutionContext.
4262 Start using some methods on SEC (like completeURL() and userAgent()).