1 2009-09-10 Steve Block <steveblock@google.com>
3 Reviewed by Darin Adler.
5 Geolocation does not correctly handle reentrant calls from callbacks.
6 https://bugs.webkit.org/show_bug.cgi?id=29040
8 Tests: fast/dom/Geolocation/reentrant-error.html
9 fast/dom/Geolocation/reentrant-success.html
11 * page/Geolocation.cpp: Modified.
12 (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
13 (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
14 * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.
16 2009-09-10 Erik Arvidsson <arv@chromium.org>
18 Reviewed by Eric Seidel.
20 Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
21 https://bugs.webkit.org/show_bug.cgi?id=27105
23 Test: fast/events/blur-focus-window-should-blur-focus-element.html
25 * page/FocusController.cpp:
26 (WebCore::dispatchEventsOnWindowAndFocusedNode):
27 (WebCore::FocusController::setFocused):
28 (WebCore::FocusController::setActive):
30 2009-09-10 Adam Roben <aroben@apple.com>
32 Make the play/pause button in <video> controls indicate the button's
33 action, not the movie state
35 This matches the Mac behavior, iTunes, and many other media players.
39 Fixes <http://webkit.org/b/29126> Play/pause button in <video>
40 controls shows the wrong image
42 Reviewed by Eric Carlson.
44 * rendering/RenderMediaControls.cpp:
45 (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
46 we show the play vs. pause artwork, so that the button reflects what
47 will happen when you click it, rather than the current state of the
50 2009-09-09 Steve Block <steveblock@google.com>
52 Reviewed by Maciej Stachowiak.
54 Geolocation Coordinates::toString() prints bogus values for unspecified properties.
55 https://bugs.webkit.org/show_bug.cgi?id=29080
57 Test: fast/dom/Geolocation/position-string.html
59 * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60 * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
61 * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
62 * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
63 * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
64 * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
65 * page/Coordinates.cpp: Removed.
66 * page/Coordinates.h: Modified. Removes toString method.
67 * page/Coordinates.idl: Modified. Removes toString method.
68 * page/Geoposition.cpp: Removed.
69 * page/Geoposition.h: Modified. Removes toString method.
70 * page/Geoposition.idl: Modified. Removes toString method.
72 2009-09-09 Steve Block <steveblock@google.com>
74 Reviewed by Adam Barth.
76 Correctly applies the Geolocation timeout property.
77 https://bugs.webkit.org/show_bug.cgi?id=27256
79 If a timeout is specified, the timer is started as soon as the location acquistion process starts.
80 If a position fix is not obtained within the timeout interval, the position request is cancelled
81 and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
82 interval, the timer is stopped. Permissions are then requested from the user if required. See
83 http://www.w3.org/TR/geolocation-API/#position-options.
85 Note that this logic means that the time required to obtain permissions from the user is not
86 included in the timeout interval.
88 Tests: fast/dom/Geolocation/timeout.html
89 fast/dom/Geolocation/timeout-zero.html
91 * page/Geolocation.cpp: Modified.
92 (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
93 (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
94 (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
95 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
96 (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
97 (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
98 (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
99 (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
100 (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
101 (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
102 (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
103 (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
104 (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
105 (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
106 * page/Geolocation.h: Modified.
107 (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.
109 2009-09-09 Chris Fleizach <cfleizach@apple.com>
111 AX notifications should be an ENUM type instead of strings
112 https://bugs.webkit.org/show_bug.cgi?id=28963
116 * accessibility/AXObjectCache.h:
117 (WebCore::AXObjectCache::postNotification):
118 (WebCore::AXObjectCache::postPlatformNotification):
120 2009-09-08 Chris Fleizach <cfleizach@apple.com>
122 Reviewed by Darin Adler.
124 AX notifications should be an ENUM type instead of strings
125 https://bugs.webkit.org/show_bug.cgi?id=28963
127 Moves AX notifications over to an ENUM type instead of
128 using the actual string values that are used on OS X.
130 * accessibility/AXObjectCache.cpp:
131 (WebCore::AXObjectCache::postNotification):
132 (WebCore::AXObjectCache::selectedChildrenChanged):
133 * accessibility/AXObjectCache.h:
134 (WebCore::AXObjectCache::):
135 * accessibility/AccessibilityRenderObject.cpp:
136 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
137 * accessibility/chromium/AXObjectCacheChromium.cpp:
138 (WebCore::AXObjectCache::postPlatformNotification):
139 * accessibility/gtk/AXObjectCacheAtk.cpp:
140 (WebCore::AXObjectCache::postPlatformNotification):
141 * accessibility/mac/AXObjectCacheMac.mm:
142 (WebCore::AXObjectCache::postPlatformNotification):
143 * accessibility/win/AXObjectCacheWin.cpp:
144 (WebCore::AXObjectCache::postPlatformNotification):
146 (WebCore::Document::implicitClose):
148 (WebCore::Element::updateAfterAttributeChanged):
149 * editing/Editor.cpp:
150 (WebCore::Editor::respondToChangedContents):
151 * editing/mac/SelectionControllerMac.mm:
152 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
153 * html/HTMLInputElement.cpp:
154 (WebCore::HTMLInputElement::setChecked):
155 * page/FrameView.cpp:
156 (WebCore::FrameView::layout):
157 * rendering/RenderTextControl.cpp:
158 (WebCore::RenderTextControl::setInnerTextValue):
160 2009-09-08 Adam Barth <abarth@webkit.org>
162 Reviewed by Eric Seidel.
164 Missing checkout for getSVGDocument()
165 https://bugs.webkit.org/show_bug.cgi?id=29064
167 The V8 code generator didn't understand SVGCheckSecurityDocument.
169 Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
170 http/tests/security/xss-DENIED-getSVGDocument-object.html
172 * bindings/scripts/CodeGeneratorV8.pm:
174 2009-09-09 Cameron McCormack <cam@mcc.id.au>
176 Reviewed by Eric Seidel.
178 Make SVGStyleElement inherit from SVGLangSpace
179 https://bugs.webkit.org/show_bug.cgi?id=29058
181 Required by SVG 1.1 Second Edition:
182 http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement
184 Test: svg/dom/SVGStyleElement/style-langspace.html
186 * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
187 (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
189 (WebCore::SVGStyleElement::parseMappedAttribute): Call
190 parseMappedAttribute on SVGLangSpace.
191 * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
192 * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
195 2009-09-09 Nate Chapin <japhet@chromium.org>
197 Reviewed by David Levin.
199 Remove unnecessary includes and forward declarations in V8Proxy.h
201 https://bugs.webkit.org/show_bug.cgi?id=29111
203 * bindings/v8/V8Proxy.h:
205 2009-07-30 Eric Seidel <eric@webkit.org>
207 Reviewed by Adam Barth.
209 Add more position constructors
210 positionBeforeNode, positionAfterNode
211 firstPositionInNode, lastPositionInNode
212 https://bugs.webkit.org/show_bug.cgi?id=25494
214 I also added a lastOffsetInNode and deployed it to a couple places.
216 There are no callers to these new constructors yet, but those
217 will be coming in future patches.
220 (WebCore::Position::computeOffsetInContainerNode):
222 (WebCore::positionBeforeNode):
223 (WebCore::positionAfterNode):
224 (WebCore::lastOffsetInNode):
225 (WebCore::firstPositionInNode):
226 (WebCore::lastPositionInNode):
227 * editing/ApplyStyleCommand.cpp:
228 * editing/TextIterator.cpp:
229 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
230 * editing/htmlediting.cpp:
231 (WebCore::lastOffsetForEditing):
233 2009-04-30 Eric Seidel <eric@webkit.org>
235 Reviewed by Adam Barth.
237 Rename positionBeforeNode to positionInParentBeforeNode
238 and positionAfterNode to positionInParentAfterNode
239 in preparation for adding a positionBeforeNode
240 which returns a neighbor-anchored position.
241 https://bugs.webkit.org/show_bug.cgi?id=25494
243 No functional changes, thus no tests.
245 * dom/PositionConstructors.h:
246 (WebCore::positionInParentBeforeNode):
247 (WebCore::positionInParentAfterNode):
248 * dom/PositionIterator.cpp:
249 (WebCore::PositionIterator::operator Position):
250 * editing/ApplyStyleCommand.cpp:
251 (WebCore::ApplyStyleCommand::applyInlineStyle):
252 * editing/CompositeEditCommand.cpp:
253 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
254 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
255 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
256 * editing/CreateLinkCommand.cpp:
257 (WebCore::CreateLinkCommand::doApply):
258 * editing/DeleteButtonController.cpp:
259 (WebCore::DeleteButtonController::deleteTarget):
260 * editing/DeleteSelectionCommand.cpp:
261 (WebCore::DeleteSelectionCommand::initializeStartEnd):
262 (WebCore::updatePositionForNodeRemoval):
263 * editing/InsertLineBreakCommand.cpp:
264 (WebCore::InsertLineBreakCommand::doApply):
265 * editing/InsertListCommand.cpp:
266 (WebCore::InsertListCommand::doApply):
267 * editing/InsertParagraphSeparatorCommand.cpp:
268 (WebCore::InsertParagraphSeparatorCommand::doApply):
269 * editing/InsertTextCommand.cpp:
270 (WebCore::InsertTextCommand::input):
271 * editing/ReplaceSelectionCommand.cpp:
272 (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
273 (WebCore::ReplaceSelectionCommand::doApply):
274 * editing/VisibleSelection.cpp:
275 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
276 * editing/htmlediting.cpp:
277 (WebCore::firstEditablePositionAfterPositionInRoot):
278 (WebCore::lastEditablePositionBeforePositionInRoot):
279 (WebCore::rangeCompliantEquivalent):
280 (WebCore::positionBeforeContainingSpecialElement):
281 (WebCore::positionAfterContainingSpecialElement):
282 (WebCore::positionBeforeTabSpan):
284 2009-04-30 Eric Seidel <eric@webkit.org>
286 Reviewed by Adam Barth.
288 Re-organize position creation functions in preparation for adding more
289 https://bugs.webkit.org/show_bug.cgi?id=25494
291 Make position functions inline to avoid ref-churn.
292 Remove startPosition/endPosition as they were only used in one place.
294 No functional changes, thus no tests.
298 (WebCore::positionBeforeNode):
299 (WebCore::positionAfterNode):
300 * editing/SelectionController.cpp:
301 (WebCore::SelectionController::moveTo):
302 * editing/TypingCommand.cpp:
303 * editing/htmlediting.cpp:
304 * editing/htmlediting.h:
305 (WebCore::firstDeepEditingPositionForNode):
306 (WebCore::lastDeepEditingPositionForNode):
307 * rendering/RenderObject.cpp:
309 2009-09-09 Kevin Watters <kevinwatters@gmail.com>
311 Reviewed by Kevin Ollivier.
313 [wx] Add wxSize conversions for IntSize.
314 https://bugs.webkit.org/show_bug.cgi?id=29104
316 * platform/graphics/IntSize.h:
317 * platform/graphics/wx/IntSizeWx.cpp: Added.
318 (WebCore::IntSize::IntSize):
319 (WebCore::IntSize::operator wxSize):
321 2009-09-09 Yaar Schnitman <yaar@chromium.org>
323 Reviewed by David Levin.
325 Chromium uses its own config.h file that was forked from webkit's config.h.
326 By merging in Chromium's defines, Chromium would again be able to use webkit's
329 https://bugs.webkit.org/show_bug.cgi?id=28882
331 * config.h: Added chromium-specific defines.
333 2009-09-09 Jens Alfke <snej@chromium.org>
335 Reviewed by Eric Seidel.
337 Initialize DataTransfer's effectAllowed and dropEffect properties correctly
338 according to HTML5 spec (sec. 7.9.2-7.9.3).
339 https://bugs.webkit.org/show_bug.cgi?id=26700
340 - At the start of a drag operation, the value of effectAllowed should be
341 the string "uninitialized".
342 - At end of dragstart handler, if effectAllowed hasn't been set yet, it
343 should be set to "copy".
344 - on dragenter and dragover event, dropEffect should be initialized to a
345 default value based on the value of effectAllowed.
346 - at end of dragenter and dragover the dropEffect should be set to "none"
347 if the value set by the handler doesn't match the effectAllowed.
348 - on dragleave event, dropEffect should be "none".
349 - on drop event, dropEffect should be the previously negotiated value.
351 Test: fast/events/drag-dropeffect.html
354 Added a parameter to EventHandler::dragSourceMovedTo.
356 (WebCore::Clipboard::Clipboard):
357 Initialize m_effectAllowed to "uninitialized".
358 (WebCore::Clipboard::sourceOperation):
359 Treat "uninitialized" as meaning no value has been set.
360 * page/DragController.cpp:
361 (WebCore::DragController::DragController):
362 Initialize new member m_destinationDragOperation.
363 (WebCore::DragController::dragExited):
364 Set m_destinationDragOperation to none on dragExit.
365 (WebCore::DragController::performDrag):
366 Set m_destinationDragOperation to current dropEffect.
367 (WebCore::DragController::dragEnteredOrUpdated):
368 Make sure to clear the operation if drag source doesn't allow it.
369 (WebCore::DragController::tryDHTMLDrag):
370 Set a default value for the dst drag op before sending dragEnter/Over.
371 (WebCore::DragController::startDrag):
372 Clear m_destinationDragOperation at start of drag.
373 * page/DragController.h:
374 (WebCore::DragController::destinationDragOperation):
375 Added new member m_destinationDragOperation, and its public getter.
376 * page/EventHandler.cpp:
377 (WebCore::EventHandler::updateDragAndDrop):
378 dropEffect should be 'none' during dropleave handler, per spec.
379 (WebCore::EventHandler::dragSourceMovedTo):
380 Added DragOperation parameter, so the handler sees the current dropEffect.
381 (WebCore::EventHandler::handleDrag):
382 Assume DragOperationEvery for non-DHTML drags.
383 * page/EventHandler.h:
384 Added DragOperation parameter to dragSourceMovedTo().
386 2009-09-09 Dumitru Daniliuc <dumi@chromium.org>
388 Reviewed by Dimitri Glazkov.
390 1. Adding support/bindings for read-only transactions.
391 2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
392 private browsing mode.
393 3. Adding an authorizer test.
395 https://bugs.webkit.org/show_bug.cgi?id=28918
397 Test: storage/test-authorizer.html
399 * bindings/js/JSDatabaseCustom.cpp:
400 (WebCore::createTransaction): Parses all arguments and executes a
402 (WebCore::JSDatabase::transaction): Refactored to use
404 (WebCore::JSDatabase::readTransaction): Added to execute read-only
405 transactions using createTransaction().
406 * bindings/v8/custom/V8CustomBinding.h: Added the binding for
407 Database::readTransaction().
408 * bindings/v8/custom/V8DatabaseCustom.cpp:
409 (WebCore::createTransaction): Parses all arguments and executes a
411 (WebCore::transaction): Refactored to use createTransaction().
412 (WebCore::readTransaction): Added to execute read-only
413 transactions using createTransaction().
414 * storage/Database.cpp:
415 (WebCore::Database::transaction): Added support for read-only
417 * storage/Database.h: Added support for read-only transactions.
418 * storage/Database.idl: Added support for read-only transactions.
419 * storage/DatabaseAuthorizer.cpp:
420 (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
421 that the statement will be denied in private browsing mode and
422 read-only transactions.
423 (WebCore::DatabaseAuthorizer::dropTempTable): Same.
424 (WebCore::DatabaseAuthorizer::createTempIndex): Same.
425 (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
426 (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
427 (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
428 (WebCore::DatabaseAuthorizer::createView): Deny in private
429 browsing mode and read-only transactions.
430 (WebCore::DatabaseAuthorizer::createTempView): Same.
431 (WebCore::DatabaseAuthorizer::dropView): Same.
432 (WebCore::DatabaseAuthorizer::dropTempView): Same.
433 (WebCore::DatabaseAuthorizer::allowReindex): Same.
434 * storage/DatabaseAuthorizer.h:
435 * storage/SQLTransaction.cpp: Added support for read-only
437 (WebCore::SQLTransaction::create):
438 (WebCore::SQLTransaction::SQLTransaction):
439 (WebCore::SQLTransaction::executeSQL):
440 (WebCore::SQLTransaction::acquireLock):
441 * storage/SQLTransaction.h:
442 * storage/SQLTransactionCoordinator.cpp:
443 (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
444 parameter in preparation for a change that will allow multiple
445 read-only transactions on the same DB to run concurrently.
446 * storage/SQLTransactionCoordinator.h:
448 2009-09-09 Dave Hyatt <hyatt@apple.com>
450 Reviewed by Adam Roben.
452 https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
453 to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
454 to all Frames in the PageGroup.
456 Added userscripts/simple-stylesheet.html test case.
460 * WebCore.vcproj/WebCore.vcproj:
461 * WebCore.xcodeproj/project.pbxproj:
462 * css/CSSStyleSelector.cpp:
463 (WebCore::CSSStyleSelector::CSSStyleSelector):
464 * css/CSSStyleSelector.h:
466 (WebCore::Document::Document):
467 (WebCore::Document::attach):
468 (WebCore::Document::pageGroupUserSheets):
469 (WebCore::Document::clearPageGroupUserSheets):
470 (WebCore::Document::recalcStyleSelector):
472 * loader/PlaceholderDocument.cpp:
473 (WebCore::PlaceholderDocument::attach):
474 * page/PageGroup.cpp:
475 (WebCore::PageGroup::addUserStyleSheet):
476 (WebCore::PageGroup::removeUserContentForWorld):
477 (WebCore::PageGroup::removeAllUserContent):
479 (WebCore::PageGroup::userStyleSheets):
480 * page/UserStyleSheet.h: Added.
481 (WebCore::UserStyleSheet::UserStyleSheet):
482 (WebCore::UserStyleSheet::source):
483 (WebCore::UserStyleSheet::url):
484 (WebCore::UserStyleSheet::patterns):
485 (WebCore::UserStyleSheet::worldID):
486 * page/UserStyleSheetTypes.h: Added.
488 2009-09-09 Carol Szabo <carol.szabo@nokia.com>
490 Reviewed by Ariya Hidayat.
492 [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
494 https://bugs.webkit.org/show_bug.cgi?id=23291
496 * platform/graphics/qt/GraphicsContextQt.cpp:
497 (WebCore::GraphicsContext::drawRect):
498 (WebCore::GraphicsContext::strokeArc):
499 (WebCore::GraphicsContext::drawConvexPolygon):
500 (WebCore::GraphicsContext::fillPath):
501 (WebCore::GraphicsContext::strokePath):
502 (WebCore::GraphicsContext::fillRect):
503 (WebCore::GraphicsContext::fillRoundedRect):
504 Added the ability to draw shadows for all these curves.
506 2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
508 Reviewed by Simon Hausmann.
510 Add the qwebgraphicsitem.cpp to the build system.
512 https://bugs.webkit.org/show_bug.cgi?id=28862
516 2009-09-09 Kevin Watters <kevinwatters@gmail.com>
518 Reviewed by Kevin Ollivier.
520 [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
523 https://bugs.webkit.org/show_bug.cgi?id=29088
525 * editing/wx/EditorWx.cpp:
526 (WebCore::Editor::showColorPanel):
527 (WebCore::Editor::showFontPanel):
528 (WebCore::Editor::showStylesPanel):
529 * platform/graphics/wx/GraphicsContextWx.cpp:
530 (WebCore::GraphicsContext::setPlatformShadow):
531 (WebCore::GraphicsContext::clearPlatformShadow):
532 (WebCore::GraphicsContext::beginTransparencyLayer):
533 (WebCore::GraphicsContext::endTransparencyLayer):
534 (WebCore::GraphicsContext::clearRect):
535 (WebCore::GraphicsContext::strokeRect):
536 (WebCore::GraphicsContext::setLineCap):
537 (WebCore::GraphicsContext::setLineJoin):
538 (WebCore::GraphicsContext::setMiterLimit):
539 (WebCore::GraphicsContext::setAlpha):
540 (WebCore::GraphicsContext::addInnerRoundedRectClip):
541 * platform/graphics/wx/IconWx.cpp: Added.
542 (WebCore::Icon::~Icon):
543 (WebCore::Icon::createIconForFile):
544 (WebCore::Icon::createIconForFiles):
545 (WebCore::Icon::paint):
546 * platform/graphics/wx/ImageWx.cpp:
547 (WebCore::Image::loadPlatformResource):
548 (WebCore::Image::drawPattern):
549 * platform/wx/CursorWx.cpp:
550 (WebCore::moveCursor):
551 * platform/wx/FileChooserWx.cpp: Added.
552 (WebCore::FileChooser::basenameForWidth):
553 * platform/wx/KURLWx.cpp: Added.
554 (WebCore::KURL::fileSystemPath):
555 * platform/wx/SSLKeyGeneratorWx.cpp: Added.
556 (WebCore::getSupportedKeySizes):
557 (WebCore::signedPublicKeyAndChallengeString):
558 * platform/wx/SearchPopupMenuWx.cpp: Added.
559 (WebCore::SearchPopupMenu::SearchPopupMenu):
560 (WebCore::SearchPopupMenu::saveRecentSearches):
561 (WebCore::SearchPopupMenu::loadRecentSearches):
562 (WebCore::SearchPopupMenu::enabled):
563 * platform/wx/SharedBufferWx.cpp: Added.
564 (WebCore::SharedBuffer::createWithContentsOfFile):
565 * platform/wx/SystemTimeWx.cpp: Added.
566 (WebCore::userIdleTime):
567 * platform/wx/TemporaryLinkStubs.cpp: Removed.
568 * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
569 (WebCore::currentSearchLocaleID):
570 (WebCore::currentTextBreakLocaleID):
571 * platform/wx/WidgetWx.cpp:
572 (WebCore::Widget::setIsSelected):
574 2009-09-09 Steve Block <steveblock@google.com>
576 Reviewed by Adam Barth.
578 Geolocation incorrectly calls error callback in case of exception in success callback.
579 https://bugs.webkit.org/show_bug.cgi?id=27255
581 Test: fast/dom/Geolocation/callback-exception.html
583 * bindings/js/JSCustomPositionCallback.cpp: Modified.
584 (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
585 * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
586 * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
587 * page/Geolocation.cpp: Modified.
588 (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
589 * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.
591 2009-09-09 Steve Block <steveblock@google.com>
593 Reviewed by Darin Adler.
595 When Geolocation permission is denied, stops watches as well as one-shots.
596 https://bugs.webkit.org/show_bug.cgi?id=28305.
598 Tests: fast/dom/Geolocation/watch.html
599 fast/dom/Geolocation/permission-denied-stops-watches.html
601 * page/Geolocation.cpp: Modified.
602 (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
603 (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
604 * page/PositionError.h: Modified.
605 (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
606 (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.
608 2009-09-09 Roland Steiner <rolandsteiner@google.com>
610 Reviewed by Eric Seidel.
612 Bug 28964 - [Chromium] ChromiumDataObject should have getter/setter interface
614 Added getter/setter methods and trivial inline implementations for each.
615 (Note that they are not yet actually used.)
616 Once the Chromium code is changed to use them instead of directly accessing the
617 member variables, the member variables should be made private and cleaned up.
619 No new tests (no functional behavior changed).
621 * platform/chromium/ChromiumDataObject.h:
622 (WebCore::ChromiumDataObject::mainURL):
623 (WebCore::ChromiumDataObject::setMainURL):
624 (WebCore::ChromiumDataObject::mainURLTitle):
625 (WebCore::ChromiumDataObject::setMainURLTitle):
626 (WebCore::ChromiumDataObject::textPlain):
627 (WebCore::ChromiumDataObject::setTextPlain):
628 (WebCore::ChromiumDataObject::textHTML):
629 (WebCore::ChromiumDataObject::setTextHTML):
630 (WebCore::ChromiumDataObject::htmlBaseURL):
631 (WebCore::ChromiumDataObject::setHTMLBaseURL):
632 (WebCore::ChromiumDataObject::content):
633 (WebCore::ChromiumDataObject::releaseContent):
634 (WebCore::ChromiumDataObject::setContent):
635 (WebCore::ChromiumDataObject::contentFileExtension):
636 (WebCore::ChromiumDataObject::setContentFileExtension):
637 (WebCore::ChromiumDataObject::contentFileName):
638 (WebCore::ChromiumDataObject::setContentFileName):
639 (WebCore::ChromiumDataObject::fileNames):
640 (WebCore::ChromiumDataObject::setFileNames):
641 (WebCore::ChromiumDataObject::takeFileNames):
643 2009-09-08 Pat Bradley <vincent.bradley@nokia.com>
645 Reviewed by Ariya Hidayat.
647 [Qt] locale date displays incorrect date format in symbian.
648 https://bugs.webkit.org/show_bug.cgi?id=29032
650 strftime() in Symbian does not support #
651 Layout tests cannot be run on Symbian yet, so they are not updated.
653 * runtime/DatePrototype.cpp:
654 (JSC::formatLocaleDate):
656 2009-09-09 Rohini Ananth <rohini.ananth@nokia.com>
658 Reviewed by Simon Hausmann.
660 NPAPI Plugin NPP_AsFile not working on Qt Webkit
661 https://bugs.webkit.org/show_bug.cgi?id=29068
663 * platform/qt/FileSystemQt.cpp:
664 (WebCore::openTemporaryFile)
665 Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
666 This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.
668 2009-09-08 Oliver Hunt <oliver@apple.com>
670 Reviewed by NOBODY (Build fix).
672 Remove a few incorrect changes I left in.
674 * bindings/scripts/CodeGeneratorJS.pm:
676 2009-09-08 Oliver Hunt <oliver@apple.com>
678 Reviewed by Sam Weinig.
680 Support numeric index getters in bindings
681 https://bugs.webkit.org/show_bug.cgi?id=29067
683 Add HasNumericIndexGetter to indicate a non-custom getter that
684 returns a number. The numeric index getter also uses PropertySlot's
685 setValue rather than setCustomIndex to avoid an additional indirect
688 * bindings/js/JSCanvasByteArrayCustom.cpp:
689 * bindings/js/JSCanvasFloatArrayCustom.cpp:
690 * bindings/js/JSCanvasIntArrayCustom.cpp:
691 * bindings/js/JSCanvasShortArrayCustom.cpp:
692 * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
693 * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
694 * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
695 * bindings/scripts/CodeGeneratorJS.pm:
696 * html/canvas/CanvasByteArray.h:
697 (WebCore::CanvasByteArray::item):
698 * html/canvas/CanvasByteArray.idl:
699 * html/canvas/CanvasFloatArray.h:
700 (WebCore::CanvasFloatArray::get):
701 (WebCore::CanvasFloatArray::item):
702 * html/canvas/CanvasFloatArray.idl:
703 * html/canvas/CanvasIntArray.h:
704 (WebCore::CanvasIntArray::get):
705 (WebCore::CanvasIntArray::item):
706 * html/canvas/CanvasIntArray.idl:
707 * html/canvas/CanvasPixelArray.idl:
708 * html/canvas/CanvasShortArray.h:
709 (WebCore::CanvasShortArray::get):
710 (WebCore::CanvasShortArray::item):
711 * html/canvas/CanvasShortArray.idl:
712 * html/canvas/CanvasUnsignedByteArray.h:
713 (WebCore::CanvasUnsignedByteArray::get):
714 (WebCore::CanvasUnsignedByteArray::item):
715 * html/canvas/CanvasUnsignedByteArray.idl:
716 * html/canvas/CanvasUnsignedIntArray.h:
717 (WebCore::CanvasUnsignedIntArray::get):
718 (WebCore::CanvasUnsignedIntArray::item):
719 * html/canvas/CanvasUnsignedIntArray.idl:
720 * html/canvas/CanvasUnsignedShortArray.h:
721 (WebCore::CanvasUnsignedShortArray::item):
722 * html/canvas/CanvasUnsignedShortArray.idl:
724 2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
726 wx build fix for 2.8.
728 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
729 (wxRenderer_DrawScrollbar):
731 2009-09-08 Jens Alfke <snej@chromium.org>
733 Reviewed by Eric Seidel.
735 In Mac Chromium, clicking below the last line of an editable area (textarea or
736 contenteditable) should put the caret at the end of the last line, as in Mac Safari.
738 Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
739 LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html
742 (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.
744 2009-09-08 Dave Hyatt <hyatt@apple.com>
746 Reviewed by Mark Rowe.
748 Make sure not to do an early return when a data URL stylesheet successfully loads. We need to still
749 clear the old cached sheet out of all existing Frames. Fixes the data URL stylesheet layout test failure.
752 (WebCore::Page::userStyleSheetLocationChanged):
754 2009-09-08 Sam Weinig <sam@webkit.org>
760 2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
762 More robust wx build fix for 2.9.
764 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
765 (wxRenderer_DrawScrollbar):
767 2009-09-08 Sam Weinig <sam@webkit.org>
769 Reviewed by Timothy Hatcher.
771 Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
772 Implement CSSOM DocumentView.caretRangeFromPoint
774 Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
775 fast/dom/Document/CaretRangeFromPoint/replace-element.html
778 (WebCore::Document::caretRangeFromPoint):
782 2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
784 wx build fix, generate derived sources earlier in order to make sure
785 they're found by the build system when generating the list of sources to build.
789 2009-09-08 Nate Chapin <japhet@chromium.org>
791 Reviewed by Dimitri Glazkov.
793 <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.
795 Test: Chromium mac canary build is fixed.
797 * bindings/v8/V8Proxy.h: Remove <iterator> include.
799 2009-09-08 Xan Lopez <xlopez@igalia.com>
801 Unreviewed attempt to fix the GTK+ build.
805 2009-09-04 Dave Hyatt <hyatt@apple.com>
807 Reviewed by Eric Seidel.
809 https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
810 parsed form. Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.
812 * css/CSSStyleSelector.cpp:
813 (WebCore::CSSStyleSelector::CSSStyleSelector):
814 * css/CSSStyleSelector.h:
816 (WebCore::Document::attach):
817 (WebCore::Document::pageUserSheet):
818 (WebCore::Document::clearPageUserSheet):
819 (WebCore::Document::recalcStyleSelector):
821 * loader/PlaceholderDocument.cpp:
822 (WebCore::PlaceholderDocument::attach):
824 (WebCore::Page::userStyleSheetLocationChanged):
826 (WebCore::Settings::setUserStyleSheetLocation):
828 2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
832 Fix Qt build after 48167, by adding the new cpp/h files
833 added to WebCore.gypi to WebCore.pro as well.
837 2009-09-08 Xan Lopez <xlopez@igalia.com>
839 Reviewed by Gustavo Noronha.
841 should not pass URI fragments to libsoup
842 https://bugs.webkit.org/show_bug.cgi?id=28687
844 Strip the fragment from the URI before passing it to soup, since
845 it forwards it to servers in some cases (like when using a proxy)
846 which confuses them and makes them return 403/404.
848 * platform/network/soup/ResourceHandleSoup.cpp:
849 (WebCore::startHttp):
852 2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
854 Reviewed by Simon Hausmann.
856 Add QGraphicsScene events support to the Qt platform events.
858 * platform/PlatformMouseEvent.h:
859 * platform/PlatformWheelEvent.h:
860 * platform/qt/PlatformMouseEventQt.cpp:
861 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
862 * platform/qt/WheelEventQt.cpp:
863 (WebCore::PlatformWheelEvent::applyDelta):
864 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
866 2009-09-08 Michael Nordman <michaeln@google.com>
868 Reviewed by Eric Seidel.
870 [Chromium] Cleanup: remove a few deprecated methods.
871 https://bugs.webkit.org/show_bug.cgi?id=28960
873 No new tests, just syntactic sugar.
875 * platform/network/chromium/ResourceRequest.h:
876 * platform/network/chromium/ResourceResponse.h:
878 2009-09-08 Yongjun Zhang <yongjun.zhang@nokia.com>
880 Reviewed by Ariya Hidayat.
882 https://bugs.webkit.org/show_bug.cgi?id=28981
884 [Qt] make npapi.h compile in winscw compiler.
886 Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
887 specific changes in npapi.h.
888 Undefine XP_WIN when building for Symbian to avoid including Windows specific code.
892 2009-09-08 Oliver Hunt <oliver@apple.com>
894 Reviewed by Geoff Garen.
896 Web Inspector assertion failure related to marking
897 https://bugs.webkit.org/show_bug.cgi?id=28997
899 When wrapping the callback the JSInspectorCallbackWrapper creator was using
900 inheritorID for the prototype structure which is unsafe for anything other
901 than a pure JS object. Instead we now create a new structure, which while
902 inefficient is not problematic as this code is not hit frequently.
904 * bindings/js/JSInspectorCallbackWrapper.cpp:
905 (WebCore::JSInspectorCallbackWrapper::wrap):
907 2009-09-08 Kelly Norton <knorton@google.com>
909 Reviewed by Dimitri Glazkov.
911 Add missing extension to the file entry in WebCore.vcproj.
913 * WebCore.vcproj/WebCore.vcproj: Added "cpp".
915 2009-09-08 Jian Li <jianli@chromium.org>
917 Reviewed by David Levin.
919 dataTransfer.types() should not return Files if file list is empty in the clipboard.
920 https://bugs.webkit.org/show_bug.cgi?id=28891
922 We change the behavior to handle the empty file list in order to match the spec.
924 Tested by clipboard-file-access.html.
926 * platform/mac/ClipboardMac.mm:
927 (WebCore::addHTMLClipboardTypesForCocoaType):
928 (WebCore::ClipboardMac::types):
930 2009-09-08 Steve VanDeBogart <vandebo@chromium.org>
932 Reviewed by Eric Seidel.
934 Handle middle click in Chromium like QT
935 https://bugs.webkit.org/show_bug.cgi?id=28696
937 Tested by middle-click-onpaste.html.
939 * platform/Pasteboard.h:
940 * platform/chromium/ChromiumBridge.h:
941 * platform/chromium/ClipboardChromium.cpp:
942 (WebCore::ClipboardChromium::getData):
943 * platform/chromium/PasteboardChromium.cpp:
944 (WebCore::Pasteboard::Pasteboard):
945 (WebCore::Pasteboard::isSelectionMode):
946 (WebCore::Pasteboard::setSelectionMode):
947 (WebCore::Pasteboard::canSmartReplace):
948 (WebCore::Pasteboard::plainText):
949 (WebCore::Pasteboard::documentFragment):
950 * platform/chromium/PasteboardPrivate.h:
951 (WebCore::PasteboardPrivate::):
953 2009-09-08 Kelly Norton <knorton@google.com>
955 Reviewed by Eric Seidel.
957 WebInspector: Adds a timeline agent to InspectorController that collects
958 high-level timing data about event dispatch, layout, painting and HTML
959 parsing and makes it available to Inspector.
960 https://bugs.webkit.org/show_bug.cgi?id=25503
963 * WebCore.xcodeproj/project.pbxproj:
965 (WebCore::Document::recalcStyle):
967 (WebCore::Document::inspectorTimelineAgent):
969 (WebCore::Node::dispatchGenericEvent):
970 * html/HTMLTokenizer.cpp:
971 (WebCore::HTMLTokenizer::write):
972 * inspector/DOMDispatchTimelineItem.cpp: Added.
973 (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
974 (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
975 * inspector/DOMDispatchTimelineItem.h: Added.
976 (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
977 * inspector/InspectorBackend.cpp:
978 (WebCore::InspectorBackend::enableTimeline):
979 (WebCore::InspectorBackend::disableTimeline):
980 (WebCore::InspectorBackend::timelineEnabled):
981 * inspector/InspectorBackend.h:
982 * inspector/InspectorBackend.idl:
983 * inspector/InspectorController.cpp:
984 (WebCore::InspectorController::setFrontendProxyObject):
985 (WebCore::InspectorController::close):
986 (WebCore::InspectorController::resetScriptObjects):
987 (WebCore::InspectorController::enableTimeline):
988 (WebCore::InspectorController::disableTimeline):
989 (WebCore::InspectorController::timelineEnabled):
990 * inspector/InspectorController.h:
991 (WebCore::InspectorController::timelineAgent):
992 * inspector/InspectorFrontend.cpp:
993 (WebCore::InspectorFrontend::timelineWasEnabled):
994 (WebCore::InspectorFrontend::timelineWasDisabled):
995 (WebCore::InspectorFrontend::addItemToTimeline):
996 * inspector/InspectorFrontend.h:
997 * inspector/InspectorTimelineAgent.cpp: Added.
998 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
999 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1000 (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
1001 (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
1002 (WebCore::InspectorTimelineAgent::willLayout):
1003 (WebCore::InspectorTimelineAgent::didLayout):
1004 (WebCore::InspectorTimelineAgent::willRecalculateStyle):
1005 (WebCore::InspectorTimelineAgent::didRecalculateStyle):
1006 (WebCore::InspectorTimelineAgent::willPaint):
1007 (WebCore::InspectorTimelineAgent::didPaint):
1008 (WebCore::InspectorTimelineAgent::willWriteHTML):
1009 (WebCore::InspectorTimelineAgent::didWriteHTML):
1010 (WebCore::InspectorTimelineAgent::reset):
1011 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1012 (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
1013 (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
1014 * inspector/InspectorTimelineAgent.h: Added.
1015 * inspector/TimelineItem.cpp: Added.
1016 (WebCore::TimelineItem::TimelineItem):
1017 (WebCore::TimelineItem::addToTimeline):
1018 (WebCore::TimelineItem::convertToScriptObject):
1019 (WebCore::TimelineItem::convertChildrenToScriptArray):
1020 (WebCore::TimelineItem::addChildItem):
1021 * inspector/TimelineItem.h: Added.
1023 (WebCore::TimelineItem::~TimelineItem):
1024 (WebCore::TimelineItem::previous):
1025 (WebCore::TimelineItem::releasePrevious):
1026 (WebCore::TimelineItem::setEndTime):
1027 (WebCore::TimelineItem::type):
1028 * inspector/front-end/TimelineAgent.js: Added.
1029 (WebInspector.TimelineAgent):
1030 (WebInspector.addItemToTimeline):
1031 (WebInspector.timelineWasEnabled):
1032 (WebInspector.timelineWasDisabled):
1033 * inspector/front-end/inspector.html:
1034 * page/FrameView.cpp:
1035 (WebCore::FrameView::layout):
1036 (WebCore::FrameView::paintContents):
1038 (WebCore::FrameView::inspectorTimelineAgent):
1040 (WebCore::Page::inspectorTimelineAgent):
1043 2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1045 Reviewed by Simon Hausmann.
1047 [Qt] Fix unused variable warnings
1048 https://bugs.webkit.org/show_bug.cgi?id=29018
1050 No functional change, no tests.
1052 * history/qt/HistoryItemQt.cpp:
1053 (WebCore::HistoryItem::restoreState):
1054 * platform/graphics/qt/ImageBufferQt.cpp:
1055 (WebCore::putImageData):
1056 * platform/qt/RenderThemeQt.cpp:
1057 (WebCore::RenderThemeQt::paintMenuList):
1059 2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1061 Reviewed by Ariya Hidayat.
1063 [Qt] Use the declaration order in initializer lists
1064 https://bugs.webkit.org/show_bug.cgi?id=29017
1066 No functional change, no new tests.
1068 * platform/graphics/qt/FontCacheQt.cpp:
1069 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1070 * platform/network/qt/QNetworkReplyHandler.cpp:
1071 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1073 2009-09-08 Kent Tamura <tkent@chromium.org>
1075 Reviewed by Eric Seidel.
1077 Implement ValidityState::typeMismatch() for <input type=number>.
1078 https://bugs.webkit.org/show_bug.cgi?id=28934
1080 Test: fast/forms/ValidityState-typeMismatch-number.html
1082 * html/HTMLInputElement.cpp:
1083 (WebCore::HTMLInputElement::formStringToDouble):
1084 * html/HTMLInputElement.h:
1085 * html/ValidityState.cpp:
1086 (WebCore::ValidityState::typeMismatch):
1087 * html/ValidityState.h:
1089 2009-09-08 Andras Becsi <becsi.andras@stud.u-szeged.hu>
1091 Reviewed by Gustavo Noronha.
1093 [Gtk] Another attempt of a buildfix.
1095 * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
1097 2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
1099 Reviewed by Simon Hausmann.
1101 [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
1102 https://bugs.webkit.org/show_bug.cgi?id=28865
1104 Save the QCursor as a property in WidgetQt::setCursor
1105 and actually change the cursor in QWebView::event() by making use
1106 of the QEvent::DynamicPropertyChange event type.
1107 When unsetCursor() is called on the QWidget we can fallback to
1108 the cursor set by WebCore.
1110 Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
1111 Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
1113 * platform/qt/WidgetQt.cpp:
1114 (WebCore::Widget::setCursor):
1116 2009-09-08 Andras Becsi <becsi.andras@stud.u-szeged.hu>
1118 Reviewed by Gustavo Noronha.
1120 [Gtk] Buildfix for build error introduced in r48150.
1122 * GNUmakefile.am: Modified. Added missing IDL files.
1124 2009-09-08 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
1126 Reviewed by Tor Arne Vestbø.
1128 [Qt] Buildfix. Build error caused by r48150.
1130 * WebCore.pro: missing IDL files added
1132 2009-09-07 Chris Marrin <cmarrin@apple.com>
1134 Reviewed by Oliver Hunt.
1136 Update Canvas 3D implementation to match spec
1137 https://bugs.webkit.org/show_bug.cgi?id=29010
1139 This adds several new CanvasXXXArray classes each of which has a custom constructor
1140 and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
1141 to match the new and changed API.
1143 * DerivedSources.make:
1144 * WebCore.xcodeproj/project.pbxproj:
1145 * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1146 * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1147 * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1148 * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1149 * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1150 * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1151 * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1152 * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1153 * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1154 * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1155 * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1156 * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1157 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1158 (WebCore::JSCanvasRenderingContext3D::bufferData):
1159 (WebCore::JSCanvasRenderingContext3D::bufferSubData):
1160 (WebCore::JSCanvasRenderingContext3D::texImage2D):
1161 (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
1162 * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1163 * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1164 * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1165 * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1166 * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1167 * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1168 * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1169 * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1170 * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1171 * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
1172 * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
1173 * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
1174 * bindings/js/JSDOMWindowCustom.cpp:
1175 (WebCore::JSDOMWindow::canvasArrayBuffer):
1176 (WebCore::JSDOMWindow::canvasByteArray):
1177 (WebCore::JSDOMWindow::canvasUnsignedByteArray):
1178 (WebCore::JSDOMWindow::canvasIntArray):
1179 (WebCore::JSDOMWindow::canvasUnsignedIntArray):
1180 (WebCore::JSDOMWindow::canvasShortArray):
1181 (WebCore::JSDOMWindow::canvasUnsignedShortArray):
1182 (WebCore::JSDOMWindow::canvasFloatArray):
1183 * html/HTMLCanvasElement.cpp:
1184 (WebCore::HTMLCanvasElement::getContext):
1185 (WebCore::HTMLCanvasElement::paint):
1186 * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1187 * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
1188 * html/canvas/CanvasArray.idl: Added.
1189 * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
1190 * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
1191 * html/canvas/CanvasArrayBuffer.idl: Added.
1192 * html/canvas/CanvasByteArray.cpp:
1193 * html/canvas/CanvasByteArray.h:
1194 * html/canvas/CanvasByteArray.idl:
1195 * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1196 * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
1197 * html/canvas/CanvasFloatArray.idl: Added.
1198 * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1199 * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
1200 * html/canvas/CanvasIntArray.idl: Added.
1201 * html/canvas/CanvasRenderingContext3D.cpp:
1202 (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
1203 (WebCore::CanvasRenderingContext3D::markContextChanged):
1204 (WebCore::CanvasRenderingContext3D::beginPaint):
1205 (WebCore::CanvasRenderingContext3D::endPaint):
1206 (WebCore::CanvasRenderingContext3D::reshape):
1207 (WebCore::CanvasRenderingContext3D::sizeInBytes):
1208 (WebCore::CanvasRenderingContext3D::bindTexture):
1209 (WebCore::CanvasRenderingContext3D::bufferData):
1210 (WebCore::CanvasRenderingContext3D::bufferSubData):
1211 (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
1212 (WebCore::CanvasRenderingContext3D::clear):
1213 (WebCore::CanvasRenderingContext3D::createBuffer):
1214 (WebCore::CanvasRenderingContext3D::createFramebuffer):
1215 (WebCore::CanvasRenderingContext3D::createTexture):
1216 (WebCore::CanvasRenderingContext3D::createProgram):
1217 (WebCore::CanvasRenderingContext3D::createRenderbuffer):
1218 (WebCore::CanvasRenderingContext3D::createShader):
1219 (WebCore::CanvasRenderingContext3D::deleteBuffer):
1220 (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
1221 (WebCore::CanvasRenderingContext3D::deleteProgram):
1222 (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
1223 (WebCore::CanvasRenderingContext3D::deleteShader):
1224 (WebCore::CanvasRenderingContext3D::deleteTexture):
1225 (WebCore::CanvasRenderingContext3D::drawArrays):
1226 (WebCore::CanvasRenderingContext3D::drawElements):
1227 (WebCore::CanvasRenderingContext3D::getBoolean):
1228 (WebCore::CanvasRenderingContext3D::getBooleanv):
1229 (WebCore::CanvasRenderingContext3D::getBufferParameteri):
1230 (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
1231 (WebCore::CanvasRenderingContext3D::getFloat):
1232 (WebCore::CanvasRenderingContext3D::getFloatv):
1233 (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
1234 (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
1235 (WebCore::CanvasRenderingContext3D::getInteger):
1236 (WebCore::CanvasRenderingContext3D::getIntegerv):
1237 (WebCore::CanvasRenderingContext3D::getProgrami):
1238 (WebCore::CanvasRenderingContext3D::getProgramiv):
1239 (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
1240 (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
1241 (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
1242 (WebCore::CanvasRenderingContext3D::getShaderi):
1243 (WebCore::CanvasRenderingContext3D::getShaderiv):
1244 (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
1245 (WebCore::CanvasRenderingContext3D::getShaderSource):
1246 (WebCore::CanvasRenderingContext3D::getTexParameterf):
1247 (WebCore::CanvasRenderingContext3D::getTexParameterfv):
1248 (WebCore::CanvasRenderingContext3D::getTexParameteri):
1249 (WebCore::CanvasRenderingContext3D::getTexParameteriv):
1250 (WebCore::CanvasRenderingContext3D::getUniformf):
1251 (WebCore::CanvasRenderingContext3D::getUniformfv):
1252 (WebCore::CanvasRenderingContext3D::getUniformi):
1253 (WebCore::CanvasRenderingContext3D::getUniformiv):
1254 (WebCore::CanvasRenderingContext3D::getUniformLocation):
1255 (WebCore::CanvasRenderingContext3D::getVertexAttribf):
1256 (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
1257 (WebCore::CanvasRenderingContext3D::getVertexAttribi):
1258 (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
1259 (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
1260 (WebCore::CanvasRenderingContext3D::texImage2D):
1261 (WebCore::CanvasRenderingContext3D::texParameterf):
1262 (WebCore::CanvasRenderingContext3D::texParameteri):
1263 (WebCore::CanvasRenderingContext3D::texSubImage2D):
1264 (WebCore::CanvasRenderingContext3D::uniform1f):
1265 (WebCore::CanvasRenderingContext3D::uniform1fv):
1266 (WebCore::CanvasRenderingContext3D::uniform1i):
1267 (WebCore::CanvasRenderingContext3D::uniform1iv):
1268 (WebCore::CanvasRenderingContext3D::uniform2f):
1269 (WebCore::CanvasRenderingContext3D::uniform2fv):
1270 (WebCore::CanvasRenderingContext3D::uniform2i):
1271 (WebCore::CanvasRenderingContext3D::uniform2iv):
1272 (WebCore::CanvasRenderingContext3D::uniform3f):
1273 (WebCore::CanvasRenderingContext3D::uniform3fv):
1274 (WebCore::CanvasRenderingContext3D::uniform3i):
1275 (WebCore::CanvasRenderingContext3D::uniform3iv):
1276 (WebCore::CanvasRenderingContext3D::uniform4f):
1277 (WebCore::CanvasRenderingContext3D::uniform4fv):
1278 (WebCore::CanvasRenderingContext3D::uniform4i):
1279 (WebCore::CanvasRenderingContext3D::uniform4iv):
1280 (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
1281 (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
1282 (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
1283 (WebCore::CanvasRenderingContext3D::useProgram):
1284 (WebCore::CanvasRenderingContext3D::validateProgram):
1285 (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
1286 (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
1287 (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
1288 (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
1289 (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
1290 (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
1291 (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
1292 (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
1293 (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
1294 (WebCore::CanvasRenderingContext3D::viewport):
1295 * html/canvas/CanvasRenderingContext3D.h:
1296 * html/canvas/CanvasRenderingContext3D.idl:
1297 * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1298 * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
1299 * html/canvas/CanvasShortArray.idl: Added.
1300 * html/canvas/CanvasTexture.cpp:
1301 (WebCore::CanvasTexture::CanvasTexture):
1302 * html/canvas/CanvasTexture.h:
1303 (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
1304 (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
1305 * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1306 * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
1307 * html/canvas/CanvasUnsignedByteArray.idl: Added.
1308 * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1309 * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
1310 * html/canvas/CanvasUnsignedIntArray.idl: Added.
1311 * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
1312 * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
1313 * html/canvas/CanvasUnsignedShortArray.idl: Added.
1314 * page/DOMWindow.idl:
1315 * platform/graphics/GraphicsContext3D.h:
1316 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1317 (WebCore::GraphicsContext3D::beginPaint):
1318 (WebCore::GraphicsContext3D::endPaint):
1319 (WebCore::GraphicsContext3D::bindTexture):
1320 (WebCore::GraphicsContext3D::bufferData):
1321 (WebCore::GraphicsContext3D::bufferSubData):
1322 (WebCore::GraphicsContext3D::checkFramebufferStatus):
1323 (WebCore::GraphicsContext3D::drawArrays):
1324 (WebCore::GraphicsContext3D::drawElements):
1325 (WebCore::GraphicsContext3D::texParameterf):
1326 (WebCore::GraphicsContext3D::texParameteri):
1327 (WebCore::GraphicsContext3D::uniform1f):
1328 (WebCore::GraphicsContext3D::uniform1fv):
1329 (WebCore::GraphicsContext3D::uniform2f):
1330 (WebCore::GraphicsContext3D::uniform2fv):
1331 (WebCore::GraphicsContext3D::uniform3f):
1332 (WebCore::GraphicsContext3D::uniform3fv):
1333 (WebCore::GraphicsContext3D::uniform4f):
1334 (WebCore::GraphicsContext3D::uniform4fv):
1335 (WebCore::GraphicsContext3D::uniform1i):
1336 (WebCore::GraphicsContext3D::uniform1iv):
1337 (WebCore::GraphicsContext3D::uniform2i):
1338 (WebCore::GraphicsContext3D::uniform2iv):
1339 (WebCore::GraphicsContext3D::uniform3i):
1340 (WebCore::GraphicsContext3D::uniform3iv):
1341 (WebCore::GraphicsContext3D::uniform4i):
1342 (WebCore::GraphicsContext3D::uniform4iv):
1343 (WebCore::GraphicsContext3D::uniformMatrix2fv):
1344 (WebCore::GraphicsContext3D::uniformMatrix3fv):
1345 (WebCore::GraphicsContext3D::uniformMatrix4fv):
1346 (WebCore::GraphicsContext3D::vertexAttrib1f):
1347 (WebCore::GraphicsContext3D::vertexAttrib1fv):
1348 (WebCore::GraphicsContext3D::vertexAttrib2f):
1349 (WebCore::GraphicsContext3D::vertexAttrib2fv):
1350 (WebCore::GraphicsContext3D::vertexAttrib3f):
1351 (WebCore::GraphicsContext3D::vertexAttrib3fv):
1352 (WebCore::GraphicsContext3D::vertexAttrib4f):
1353 (WebCore::GraphicsContext3D::vertexAttrib4fv):
1354 (WebCore::GraphicsContext3D::vertexAttribPointer):
1355 (WebCore::GraphicsContext3D::getBoolean):
1356 (WebCore::GraphicsContext3D::getBooleanv):
1357 (WebCore::GraphicsContext3D::getFloat):
1358 (WebCore::GraphicsContext3D::getFloatv):
1359 (WebCore::GraphicsContext3D::getInteger):
1360 (WebCore::GraphicsContext3D::getIntegerv):
1361 (WebCore::GraphicsContext3D::getBufferParameteri):
1362 (WebCore::GraphicsContext3D::getBufferParameteriv):
1363 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
1364 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1365 (WebCore::GraphicsContext3D::getProgrami):
1366 (WebCore::GraphicsContext3D::getProgramiv):
1367 (WebCore::GraphicsContext3D::getRenderbufferParameteri):
1368 (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1369 (WebCore::GraphicsContext3D::getShaderi):
1370 (WebCore::GraphicsContext3D::getShaderiv):
1371 (WebCore::GraphicsContext3D::getTexParameterf):
1372 (WebCore::GraphicsContext3D::getTexParameterfv):
1373 (WebCore::GraphicsContext3D::getTexParameteri):
1374 (WebCore::GraphicsContext3D::getTexParameteriv):
1375 (WebCore::GraphicsContext3D::getUniformf):
1376 (WebCore::GraphicsContext3D::getUniformfv):
1377 (WebCore::GraphicsContext3D::getUniformi):
1378 (WebCore::GraphicsContext3D::getUniformiv):
1379 (WebCore::GraphicsContext3D::getVertexAttribf):
1380 (WebCore::GraphicsContext3D::getVertexAttribfv):
1381 (WebCore::GraphicsContext3D::getVertexAttribi):
1382 (WebCore::GraphicsContext3D::getVertexAttribiv):
1383 (WebCore::GraphicsContext3D::getVertexAttribOffset):
1384 (WebCore::GraphicsContext3D::texImage2D):
1385 (WebCore::GraphicsContext3D::texSubImage2D):
1386 (WebCore::GraphicsContext3D::sizeInBytes):
1388 2009-09-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1390 Reviewed by Timothy Hatcher.
1392 Make m_windowVisible more consistent with the actual visibility of the inspector.
1394 * inspector/InspectorController.cpp:
1395 (WebCore::InspectorController::setWindowVisible):
1397 2009-09-07 Adam Barth <abarth@webkit.org>
1399 Unreviewed speculative build fix for Snow Leopard.
1401 * platform/GeolocationService.cpp:
1402 (WebCore::createGeolocationServiceNull):
1404 2009-09-07 Steve Block <steveblock@google.com>
1406 Reviewed by Adam Barth.
1408 Adds a mock Geolocation service. This will be used to provide predictable behavior of the
1409 Geolocation API for use in LayoutTests. Later changes will integrate the the mock
1410 Geolocation service with DumpRenderTree.
1411 https://bugs.webkit.org/show_bug.cgi?id=28264
1413 The mock Geolocation service returns a fixed position or error. This position or error can be
1414 set through static methods on the GeolocationService class. The position or error is shared
1415 between all instances of the mock Geolocation service.
1417 Implementation details.
1418 The GeolocationService object maintains a pointer to a factory function which it uses to create
1419 Geolocation service instances. Each platform implementing Geolocation sets this pointer
1420 to the factory function for their platform's implementation. When the mock Geolocation service
1421 is activated, the factory function pointer is reset to the factory function for the mock service.
1423 Test: fast/dom/Geolocation/error.html
1425 * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
1426 * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
1427 * WebCore.gypi: Modified. Added GeolocationServiceMock files.
1428 * WebCore.pro: Modified. Added GeolocationServiceMock files.
1429 * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
1430 * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
1431 * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
1432 * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
1433 * page/ChromeClient.h: Modified. Fixed comment.
1434 * page/Geolocation.cpp: Modified.
1435 (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
1436 * platform/GeolocationService.cpp: Modified.
1437 (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
1438 (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
1439 (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
1440 * platform/GeolocationService.h: Modified.
1441 * platform/mock: Added.
1442 * platform/mock/GeolocationServiceMock.cpp: Added.
1443 (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
1444 (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
1445 (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
1446 (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
1447 (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
1448 (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
1449 (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
1450 (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
1451 (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
1452 (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
1453 (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
1454 (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
1455 * platform/mock/GeolocationServiceMock.h: Added.
1456 (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
1457 (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
1458 * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1459 (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
1460 * platform/gtk/GeolocationServiceGtk.h: Modified.
1461 * platform/mac/GeolocationServiceMac.h: Modified.
1462 * platform/mac/GeolocationServiceMac.mm: Modified.
1463 (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
1465 2009-09-07 Adam Barth <abarth@webkit.org>
1467 Reviewed by Dimitri Glazkov.
1469 https://bugs.webkit.org/show_bug.cgi?id=28985
1471 We need to be slightly more careful about how we pick up a script
1472 execution context. In particular, we were getting the wrong document
1473 for frames that had been navigated somewhere else.
1475 In the long term, we should think about a better algorithm for
1476 computing the script context.
1478 Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
1480 * bindings/v8/V8Proxy.cpp:
1481 (WebCore::V8Proxy::retrieveFrame):
1483 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
1485 wx build fix for 2.8 compilation.
1487 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
1488 (wxRenderer_DrawScrollbar):
1490 2009-09-07 Drew Wilson <atwilson@google.com>
1492 Unreviewed build fix.
1494 Reverting r48121 to fix Windows build errors.
1496 * DerivedSources.cpp:
1498 * WebCore.xcodeproj/project.pbxproj:
1499 * bindings/js/JSDOMWindowCustom.cpp:
1500 * bindings/js/JSEventTarget.cpp:
1502 (WebCore::toEventTarget):
1503 * dom/EventTarget.cpp:
1504 * dom/EventTarget.h:
1505 * page/DOMWindow.idl:
1506 * websockets/WebSocket.cpp:
1507 (WebCore::WebSocket::connect):
1508 (WebCore::WebSocket::send):
1509 (WebCore::WebSocket::close):
1510 (WebCore::WebSocket::bufferedAmount):
1511 (WebCore::WebSocket::addEventListener):
1512 (WebCore::WebSocket::removeEventListener):
1513 (WebCore::WebSocket::dispatchEvent):
1514 (WebCore::WebSocket::didConnect):
1515 (WebCore::WebSocket::didReceiveMessage):
1516 (WebCore::WebSocket::didClose):
1517 (WebCore::WebSocket::dispatchOpenEvent):
1518 (WebCore::WebSocket::dispatchMessageEvent):
1519 (WebCore::WebSocket::dispatchCloseEvent):
1520 * websockets/WebSocket.h:
1521 (WebCore::WebSocket::create):
1522 (WebCore::WebSocket::):
1523 (WebCore::WebSocket::setOnopen):
1524 (WebCore::WebSocket::onopen):
1525 (WebCore::WebSocket::setOnmessage):
1526 (WebCore::WebSocket::onmessage):
1527 (WebCore::WebSocket::setOnclose):
1528 (WebCore::WebSocket::onclose):
1529 (WebCore::WebSocket::toWebSocket):
1530 (WebCore::WebSocket::refEventTarget):
1531 (WebCore::WebSocket::derefEventTarget):
1532 * websockets/WebSocketChannel.cpp: Removed.
1533 * websockets/WebSocketChannel.h: Removed.
1534 * websockets/WebSocketChannelClient.h: Removed.
1535 * websockets/WebSocketHandshake.cpp: Removed.
1536 * websockets/WebSocketHandshake.h: Removed.
1538 2009-09-07 Drew Wilson <atwilson@google.com>
1540 Unreviewed speculative build fix.
1542 Reverted previous build fix as it didn't fix the problem.
1544 * bindings/js/JSEventTarget.cpp:
1545 (WebCore::toEventTarget):
1547 2009-09-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1549 Unreviewed, build fix.
1551 [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
1555 2009-09-07 Drew Wilson <atwilson@google.com>
1557 Unreviewed build fix.
1559 Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
1561 * bindings/js/JSEventTarget.cpp:
1562 (WebCore::toEventTarget):
1564 2009-09-07 Drew Wilson <atwilson@google.com>
1566 Reviewed by David Levin.
1568 Enable SHARED_WORKERS by default.
1569 https://bugs.webkit.org/show_bug.cgi?id=28959
1571 Tests (enabled in a separate patch):
1572 fast/workers/shared-worker-constructor.html
1573 fast/workers/shared-worker-context-gc.html
1574 fast/workers/shared-worker-event-listener.html
1575 fast/workers/shared-worker-exception.html
1576 fast/workers/shared-worker-frame-lifecycle.html
1577 fast/workers/shared-worker-gc.html
1578 fast/workers/shared-worker-lifecycle.html
1579 fast/workers/shared-worker-load-error.html
1580 fast/workers/shared-worker-location.html
1581 fast/workers/shared-worker-navigator.html
1582 fast/workers/shared-worker-replace-global-constructor.html
1583 fast/workers/shared-worker-replace-self.html
1584 fast/workers/shared-worker-shared.html
1585 fast/workers/shared-worker-simple.html
1586 http/tests/workers/shared-worker-importScripts.html
1587 http/tests/workers/shared-worker-redirect.html
1588 http/tests/xmlhttprequest/workers/shared-worker-close.html
1589 http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
1590 http/tests/xmlhttprequest/workers/shared-worker-methods.html
1591 http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
1593 * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
1594 * Configurations/FeatureDefines.xcconfig:
1596 * WebCore.vcproj/WebCoreCommon.vsprops:
1597 * WebCore.vcproj/build-generated-files.sh:
1598 * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
1599 * workers/DefaultSharedWorkerRepository.cpp:
1600 (WebCore::SharedWorkerScriptLoader::load):
1601 Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
1602 * workers/SharedWorkerContext.cpp:
1603 (WebCore::SharedWorkerContext::dispatchConnect):
1604 Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
1606 2009-09-07 Xan Lopez <xlopez@igalia.com>
1608 Unreviewed build fix.
1610 Add new file to sources list.
1614 2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
1616 wx build fixes for wx SVN trunk.
1619 * platform/wx/RenderThemeWx.cpp:
1620 (WebCore::RenderThemeWx::paintButton):
1621 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1622 (WebCore::drawTextWithSpacing):
1623 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
1624 (wxRenderer_DrawScrollbar):
1626 2009-09-07 Chris Hills <chaz@chaz6.com>
1628 Reviewed by Tor Arne Vestbø.
1630 [Qt] Use direct includes for Phonon, not the pretty ones
1632 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1634 2009-09-07 Fumitoshi Ukai <ukai@chromium.org>
1636 Reviewed by Alexey Proskuryakov.
1638 WebSocket API implementation.
1639 https://bugs.webkit.org/show_bug.cgi?id=28038
1641 Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
1642 Other build systems will be updated once the code is functional.
1643 Tests will be landed once the code is completed and functional.
1645 * DerivedSources.cpp:
1647 * WebCore.xcodeproj/project.pbxproj:
1648 * bindings/js/JSDOMWindowCustom.cpp:
1649 (WebCore::JSDOMWindow::webSocket):
1650 * bindings/js/JSEventTarget.cpp:
1652 (WebCore::toEventTarget):
1653 * dom/EventTarget.cpp:
1654 (WebCore::EventTarget::toWebSocket):
1655 * dom/EventTarget.h:
1656 * page/DOMWindow.idl:
1657 * websockets/WebSocket.cpp:
1658 (WebCore::ProcessWebSocketEventTask::create):
1659 (WebCore::ProcessWebSocketEventTask::performTask):
1660 (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
1661 (WebCore::isValidProtocolString):
1662 (WebCore::WebSocket::connect):
1663 (WebCore::WebSocket::send):
1664 (WebCore::WebSocket::close):
1665 (WebCore::WebSocket::bufferedAmount):
1666 (WebCore::WebSocket::addEventListener):
1667 (WebCore::WebSocket::removeEventListener):
1668 (WebCore::WebSocket::dispatchEvent):
1669 (WebCore::WebSocket::didConnect):
1670 (WebCore::WebSocket::didReceiveMessage):
1671 (WebCore::WebSocket::didClose):
1672 (WebCore::WebSocket::dispatchOpenEvent):
1673 (WebCore::WebSocket::dispatchMessageEvent):
1674 (WebCore::WebSocket::dispatchCloseEvent):
1675 * websockets/WebSocket.h:
1676 (WebCore::WebSocket::create):
1677 (WebCore::WebSocket::):
1678 (WebCore::WebSocket::setOnopen):
1679 (WebCore::WebSocket::onopen):
1680 (WebCore::WebSocket::setOnmessage):
1681 (WebCore::WebSocket::onmessage):
1682 (WebCore::WebSocket::setOnclose):
1683 (WebCore::WebSocket::onclose):
1684 (WebCore::WebSocket::toWebSocket):
1685 (WebCore::WebSocket::eventListeners):
1686 (WebCore::WebSocket::refEventTarget):
1687 (WebCore::WebSocket::derefEventTarget):
1688 * websockets/WebSocketChannel.cpp: Added.
1689 * websockets/WebSocketChannel.h: Added.
1690 * websockets/WebSocketChannelClient.h: Added.
1691 * websockets/WebSocketHandshake.cpp: Added.
1692 * websockets/WebSocketHandshake.h: Added.
1694 2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1696 Reviewed by Xan Lopez.
1698 https://bugs.webkit.org/show_bug.cgi?id=26854
1699 [GTK] Needs API to allow more control over outgoing requests
1701 Add infrastructure required to provide the new
1702 WebKitNetworkResponse object in our API.
1704 * GNUmakefile.am: Add new files to the build.
1705 * platform/network/soup/ResourceRequestSoup.cpp:
1706 (WebCore::ResourceRequest::updateFromSoupMessage):
1707 * platform/network/soup/ResourceResponse.h:
1708 * platform/network/soup/ResourceResponseSoup.cpp: Added.
1709 (WebCore::ResourceResponse::toSoupMessage):
1711 2009-09-07 Mads Ager <ager@chromium.org>
1713 Reviewed by Adam Barth.
1715 [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
1716 https://bugs.webkit.org/show_bug.cgi?id=29009
1718 Be consistent in document and frame null checks.
1720 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1721 (WebCore::V8Custom::WindowSetTimeoutImpl):
1722 (WebCore::ACCESSOR_GETTER):
1723 (WebCore::ACCESSOR_SETTER):
1724 (WebCore::CALLBACK_FUNC_DECL):
1725 (WebCore::NAMED_PROPERTY_GETTER):
1726 (WebCore::V8Custom::ClearTimeoutImpl):
1728 2009-09-07 Xan Lopez <xlopez@igalia.com>
1730 Reviewed by Gustavo Noronha.
1732 [Soup] Limit the number of connections
1733 https://bugs.webkit.org/show_bug.cgi?id=18431
1735 Increase the maximum number of per host and total connections to
1736 similar values than those used by the other modern browsers. Seems
1737 to significantly improve page loading time in many cases.
1739 * platform/network/soup/ResourceHandleSoup.cpp:
1740 (WebCore::ensureSessionIsInitialized):
1742 2009-09-07 Michael Nordman <michaeln@google.com>
1744 Reviewed by Darin Fisher.
1746 Various minor chromium appcache modifications.
1747 https://bugs.webkit.org/show_bug.cgi?id=28960
1751 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1752 Fix a null pointer exception.
1753 (WebCore::ACCESSOR_GETTER):
1754 * platform/network/chromium/ResourceRequest.h:
1755 Switch from appCache 'context' to 'host' terminology.
1756 Note: leaving the old deprecated accessors in place until the matching
1757 change in chrome is landed to use the new accessors.
1758 (WebCore::ResourceRequest::ResourceRequest):
1759 (WebCore::ResourceRequest::appCacheHostID):
1760 (WebCore::ResourceRequest::setAppCacheHostID):
1761 (WebCore::ResourceRequest::appCacheContextID):
1762 (WebCore::ResourceRequest::setAppCacheContextID):
1763 * platform/network/chromium/ResourceResponse.h:
1764 Add an appCacheManifestURL getter/setter.
1765 Drop the 'get' prefix from the appCacheID getter.
1766 Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
1767 change in chrome is landed to use the new accessor.
1768 (WebCore::ResourceResponse::appCacheID):
1769 (WebCore::ResourceResponse::appCacheManifestURL):
1770 (WebCore::ResourceResponse::setAppCacheManifestURL):
1771 (WebCore::ResourceResponse::getAppCacheID):
1773 2009-09-07 Michael Nordman <michaeln@google.com>
1775 Reviewed by Alexey Proskuryakov.
1777 https://bugs.webkit.org/show_bug.cgi?id=28359
1778 Cleanup: Undo some accidental changes around DOMApplicationCache.
1779 - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
1780 - Return a non-null object for window.applicationCache when the feature is disabled.
1781 - Simplify the swapCache method.
1783 Test: http/tests/appcache/disabled.html
1785 * loader/appcache/DOMApplicationCache.cpp:
1786 (WebCore::DOMApplicationCache::DOMApplicationCache):
1787 (WebCore::DOMApplicationCache::swapCache):
1788 (WebCore::DOMApplicationCache::scriptExecutionContext):
1789 * loader/appcache/DOMApplicationCache.h:
1790 * page/DOMWindow.cpp:
1791 (WebCore::DOMWindow::applicationCache):
1793 2009-09-06 Yael Aharon <yael.aharon@nokia.com>
1795 Reviewed by Darin Adler.
1797 hostname and host are mixed up when manipulating anchor elements.
1798 https://bugs.webkit.org/show_bug.cgi?id=28954
1800 handle the case of port 0.
1802 * html/HTMLAnchorElement.cpp:
1803 (WebCore::HTMLAnchorElement::host):
1805 2009-09-06 Erik Arvidsson <arv@chromium.org>
1807 Reviewed by Eric Seidel.
1809 Make hidden elements not focusable.
1811 Clean up supportsFocus and isFocusable.
1812 supportsFocus now strictly means that the node can be focused by default.
1813 This is true for links, form controls and content editable elements for example.
1814 isFocusable means that the user can actually focus it.
1815 All (2) calls to supportsFocus have been updated to take this into account.
1817 Make a elements without href work correctly as well.
1819 https://bugs.webkit.org/show_bug.cgi?id=27099
1821 Tests: fast/events/click-focus-anchor.html
1822 fast/events/tab-focus-anchor.html
1823 fast/events/tab-focus-hidden.html
1826 (WebCore::Element::focus):
1828 (WebCore::Node::supportsFocus):
1829 (WebCore::Node::isFocusable):
1831 * html/HTMLAnchorElement.cpp:
1832 (WebCore::HTMLAnchorElement::supportsFocus):
1833 (WebCore::HTMLAnchorElement::isMouseFocusable):
1834 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1835 * html/HTMLAnchorElement.h:
1836 * html/HTMLAreaElement.cpp:
1837 (WebCore::HTMLAreaElement::supportsFocus):
1838 * html/HTMLAreaElement.h:
1839 * html/HTMLElement.cpp:
1840 (WebCore::HTMLElement::supportsFocus):
1841 * html/HTMLElement.h:
1842 * html/HTMLFieldSetElement.cpp:
1843 (WebCore::HTMLFieldSetElement::supportsFocus):
1844 * html/HTMLFieldSetElement.h:
1845 * html/HTMLFormControlElement.cpp:
1846 (WebCore::HTMLFormControlElement::supportsFocus):
1847 (WebCore::HTMLFormControlElement::isFocusable):
1848 * html/HTMLFrameElementBase.cpp:
1849 (WebCore::HTMLFrameElementBase::supportsFocus):
1850 * html/HTMLFrameElementBase.h:
1851 * html/HTMLLegendElement.cpp:
1852 (WebCore::HTMLLegendElement::supportsFocus):
1853 * html/HTMLLegendElement.h:
1854 * html/HTMLOptGroupElement.cpp:
1855 (WebCore::HTMLOptGroupElement::supportsFocus):
1856 (WebCore::HTMLOptGroupElement::isFocusable):
1857 * html/HTMLOptGroupElement.h:
1858 * html/HTMLOptionElement.cpp:
1859 (WebCore::HTMLOptionElement::supportsFocus):
1860 (WebCore::HTMLOptionElement::isFocusable):
1861 * html/HTMLOptionElement.h:
1862 * page/EventHandler.cpp:
1863 (WebCore::EventHandler::dispatchMouseEvent):
1864 * page/FocusController.cpp:
1865 (WebCore::FocusController::advanceFocus):
1866 * svg/SVGAElement.cpp:
1867 (WebCore::SVGAElement::supportsFocus):
1868 (WebCore::SVGAElement::isFocusable):
1869 * wml/WMLAElement.cpp:
1870 (WebCore::WMLAElement::supportsFocus):
1871 * wml/WMLAElement.h:
1872 * wml/WMLFormControlElement.cpp:
1873 (WebCore::WMLFormControlElement::supportsFocus):
1874 (WebCore::WMLFormControlElement::isFocusable):
1875 * wml/WMLFormControlElement.h:
1877 2009-09-06 Joel Stanley <joel@jms.id.au>
1879 Reviewed by Dimitri Glazkov.
1881 Expose functions to set the caret blink interval for Linux Chromium.
1882 Default value is set to that of RenderTheme::caretBlankInterval().
1883 Uses caretBlinkIntervalInternal to avoid overriding
1884 RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
1885 of blinking caret required for layout tests.
1886 https://bugs.webkit.org/show_bug.cgi?id=28931
1888 * rendering/RenderThemeChromiumLinux.cpp:
1889 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
1890 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
1891 (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
1892 * rendering/RenderThemeChromiumLinux.h:
1894 2009-09-06 Ada Chan <adachan@apple.com>
1896 Remove an extra </File> in WebCore.vcproj.
1898 * WebCore.vcproj/WebCore.vcproj:
1900 2009-09-06 Timothy Hatcher <timothy@apple.com>
1902 Adds a persistent setting for color format in the Web Inspector.
1904 https://bugs.webkit.org/show_bug.cgi?id=28889
1906 Reviewed by Dan Bernstein.
1908 * English.lproj/localizedStrings.js: New strings.
1909 * inspector/front-end/Color.js: Minor style fixes.
1910 (WebInspector.Color.prototype.toString): Added. Replaces the individual
1911 "toFoo" functions. Takes a optional arguments for the color format to return.
1912 * inspector/front-end/Images/paneSettingsButtons.png: Added.
1913 * inspector/front-end/StylesSidebarPane.js:
1914 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
1915 the new color format.
1916 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
1917 Use the new toString function on Color.
1918 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
1919 to format colors by default. Add a tooltip for the color swatch.
1920 * inspector/front-end/inspector.css: New styles for the settings menu.
1921 * inspector/front-end/inspector.js:
1922 (WebInspector.loaded): Initilize the colorFormat preference.
1924 2009-09-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1926 Reviewed by Eric Seidel.
1928 [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
1929 https://bugs.webkit.org/show_bug.cgi?id=28993
1931 * platform/network/qt/DnsPrefetchHelper.cpp:
1932 * platform/network/qt/DnsPrefetchHelper.h:
1934 2009-09-06 Cameron McCormack <cam@mcc.id.au>
1936 Reviewed by Eric Seidel.
1938 Drop <definition-src> support
1939 https://bugs.webkit.org/show_bug.cgi?id=28991
1941 http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
1943 * DerivedSources.cpp: Remove references to definition-src.
1944 * DerivedSources.make: Ditto.
1945 * GNUmakefile.am: Ditto.
1946 * WebCore.gypi: Ditto.
1947 * WebCore.pro: Ditto.
1948 * WebCore.vcproj/WebCore.vcproj: Ditto.
1949 * WebCore.xcodeproj/project.pbxproj: Ditto.
1950 * bindings/objc/DOM.mm:
1951 (WebCore::createElementClassMap): Ditto.
1952 * bindings/objc/DOMSVG.h: Ditto.
1953 * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
1954 * bindings/v8/V8DOMWrapper.cpp: Ditto.
1955 * bindings/v8/V8Index.cpp: Ditto.
1956 * bindings/v8/V8Index.h: Ditto.
1957 * svg/SVGAllInOne.cpp: Ditto.
1958 * svg/SVGDefinitionSrcElement.cpp: Removed.
1959 * svg/SVGDefinitionSrcElement.h: Removed.
1960 * svg/SVGDefinitionSrcElement.idl: Removed.
1961 * svg/SVGFontFaceElement.cpp:
1962 (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
1963 definition-src child.
1964 * svg/svgtags.in: Remove definition-src.
1966 2009-09-05 Dimitri Glazkov <dglazkov@chromium.org>
1968 Unreviewed, build fix.
1970 [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
1971 logic of retrieving default caret blink interval was incorrect (non-existent)
1972 and caused layout test flakiness.
1974 * rendering/RenderThemeChromiumLinux.cpp:
1975 * rendering/RenderThemeChromiumLinux.h:
1977 2009-09-05 Jian Li <jianli@chromium.org>
1979 Reviewed by NOBODY (Chromium reliability build break).
1981 Back up partial change in r48072 in order to fix chromium reliability build break.
1983 * bindings/v8/V8AbstractEventListener.cpp:
1984 (WebCore::V8AbstractEventListener::invokeEventHandler):
1986 2009-09-05 Nicolas Weber <thakis@chromium.org>
1988 Reviewed by Darin Fisher.
1990 https://bugs.webkit.org/show_bug.cgi?id=28975
1991 Fix file upload on chrome/mac. Images that have "Hide Extension" set,
1992 such as screenshots by default, can now be uploaded to sites such as
1995 * platform/FileSystem.h:
1996 Add pathGetDisplayFileName().
1997 * platform/chromium/FileChooserChromium.cpp:
1998 (WebCore::FileChooser::basenameForWidth):
1999 Call pathGetDisplayFileName() instead of pathGetFileName().
2000 * platform/chromium/FileSystemChromiumLinux.cpp:
2001 (WebCore::pathGetDisplayFileName):
2002 Implement pathGetDisplayFileName() by delegating to pathGetFileName().
2003 * platform/chromium/FileSystemChromiumMac.mm:
2004 (WebCore::pathGetFileName):
2005 Now returns a real filename instead of a presentational one, which
2006 fixes the problem addressed by this change.
2007 (WebCore::pathGetDisplayFileName):
2008 New function that returns a presentational filename; does what
2009 pathGetDisplayFileName() did prior to this patch.
2010 * platform/chromium/FileSystemChromiumWin.cpp:
2011 (WebCore::pathGetDisplayFileName):
2012 Implement pathGetDisplayFileName() by delegating to pathGetFileName().
2014 2009-09-05 Joel Stanley <joel@jms.id.au>
2016 Reviewed by David Levin.
2018 Expose functions to set the caret blink interval for Linux Chromium.
2019 https://bugs.webkit.org/show_bug.cgi?id=28931
2021 * rendering/RenderThemeChromiumLinux.cpp:
2022 (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
2023 (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
2024 * rendering/RenderThemeChromiumLinux.h:
2026 2009-09-04 Dmitry Titov <dimich@chromium.org>
2028 Reviewed by David Levin.
2030 Prevent UI freeze in case when too many timers are in the timer queue.
2031 https://bugs.webkit.org/show_bug.cgi?id=23865
2033 The fix measures the elapsed time while executing timers. If we have too many
2034 timers and it takes significant time to fire, quit the loop and reschedule.
2035 This lets the run loop process user input (close the window for example).
2037 * platform/ThreadTimers.h:
2038 * platform/ThreadTimers.cpp:
2039 (WebCore::ThreadTimers::sharedTimerFiredInternal):
2040 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
2041 Removed functions and members used before to grab a list of all expired timers.
2042 Now we fetch one by one, measuring time and quitting the loop if it takes too long.
2043 * platform/Timer.cpp:
2044 (WebCore::TimerBase::isActive):
2045 (WebCore::TimerBase::setNextFireTime):
2046 Since timers are now fired one by one, there is no need to keep track of updated timers.
2047 * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
2048 creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
2049 so the browser un-freezes. This is instead of a regular layout test because we don't have a way
2050 to inject an input events via regular run loop in DRT - instead they are directly dispatched by
2051 eventSender, which does not reproduce the UI freeze that happens with real input.
2053 2009-09-04 Anders Carlsson <andersca@apple.com>
2055 Reviewed by Adele Peterson.
2057 <rdar://problem/7201063>
2059 Detach any custom scrollbars before detaching the document.
2062 (WebCore::Frame::setView):
2064 2009-09-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2066 Unreviewed, build fix.
2068 Remove remaining references to UserStyleSheetLoader after r48075.
2071 * WebCore.xcodeproj/project.pbxproj:
2072 * page/qt/FrameQt.cpp:
2073 * page/wince/FrameWince.cpp:
2075 2009-09-04 Michelangelo De Simone <micdesim@gmail.com>
2077 Reviewed by David Levin.
2079 https://bugs.webkit.org/show_bug.cgi?id=28988
2080 Minor fix: "novalidate" attribute renamed in "noValidate", according to
2082 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
2084 * html/HTMLFormElement.cpp:
2085 (WebCore::HTMLFormElement::noValidate):
2086 (WebCore::HTMLFormElement::setNoValidate):
2087 * html/HTMLFormElement.h:
2088 * html/HTMLFormElement.idl:
2090 2009-09-04 Dmitry Titov <dimich@chromium.org>
2092 Reviewed by David Levin.
2094 Remove unused line of code from WorkerContext
2095 https://bugs.webkit.org/show_bug.cgi?id=28990
2097 * workers/WorkerContext.cpp:
2098 (WebCore::WorkerContext::importScripts):
2100 2009-09-04 Darin Adler <darin@apple.com>
2102 Reviewed by Oliver Hunt.
2104 Fix assertion seen when running buildbot.
2106 * bindings/js/JSDOMBinding.h:
2107 (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
2108 the HasDefaultMark bit since this has a custom mark function.
2110 2009-09-04 Dave Hyatt <hyatt@apple.com>
2112 Reviewed by Adam Roben.
2114 https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
2115 Make sure the other code path (now used by everybody) can handle data URLs.
2117 As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
2118 hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
2119 that anybody is relying on this support.
2121 Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
2125 * WebCore.xcodeproj/project.pbxproj:
2127 (WebCore::Document::userStyleSheet):
2129 * loader/FrameLoader.cpp:
2130 (WebCore::FrameLoader::begin):
2131 * loader/UserStyleSheetLoader.cpp: Removed.
2132 * loader/UserStyleSheetLoader.h: Removed.
2134 (WebCore::Frame::reapplyStyles):
2137 (WebCore::Page::userStyleSheetLocationChanged):
2138 (WebCore::Page::userStyleSheet):
2139 * page/mac/FrameMac.mm:
2140 * page/qt/FrameQt.cpp:
2142 2009-09-04 Mikhail Naganov <mnaganov@chromium.org>
2144 Reviewed by Timothy Hatcher.
2146 Add "sampling profiler" preference, simplify data display when it's set.
2148 https://bugs.webkit.org/show_bug.cgi?id=28969
2150 * inspector/front-end/ProfileDataGridTree.js:
2151 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2152 (WebInspector.ProfileDataGridNode.prototype.get data):
2153 * inspector/front-end/ProfileView.js:
2154 (WebInspector.ProfileView):
2155 * inspector/front-end/inspector.js:
2157 2009-09-04 Jian Li <jianli@chromium.org>
2159 Reviewed by Adam Barth.
2161 [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
2162 https://bugs.webkit.org/show_bug.cgi?id=28980
2164 Tested by worker-close.html.
2166 * bindings/v8/ScriptFunctionCall.cpp:
2167 * bindings/v8/V8AbstractEventListener.cpp:
2168 (WebCore::V8AbstractEventListener::invokeEventHandler):
2169 * bindings/v8/V8Utilities.cpp:
2170 (WebCore::getScriptExecutionContext):
2171 (WebCore::reportException):
2172 * bindings/v8/V8Utilities.h:
2173 (WebCore::getScriptExecutionContext):
2174 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2175 (WebCore::CALLBACK_FUNC_DECL):
2176 * bindings/v8/custom/V8SharedWorkerCustom.cpp:
2177 (WebCore::CALLBACK_FUNC_DECL):
2178 * bindings/v8/custom/V8WorkerCustom.cpp:
2179 (WebCore::CALLBACK_FUNC_DECL):
2180 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2181 (WebCore::CALLBACK_FUNC_DECL):
2182 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2183 (WebCore::CALLBACK_FUNC_DECL):
2185 2009-09-04 Dave Hyatt <hyatt@apple.com>
2187 Reviewed by Anders Carlsson.
2189 Remove unused m_sheet variable and setCSSStyleSheet methods.
2194 2009-09-04 Anders Carlsson <andersca@apple.com>
2196 Reviewed by David Hyatt and Adele Peterson.
2198 (Based on a patch from Adele).
2200 Fix <rdar://problem/7185875>.
2203 (WebCore::Frame::setView):
2204 Detach any custom scroll bars from the old view.
2206 * page/FrameView.cpp:
2207 (WebCore::FrameView::detachCustomScrollbars):
2208 Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
2209 not a RenderPart object.
2211 * rendering/RenderObject.cpp:
2212 (WebCore::RenderObject::destroy):
2213 ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
2215 2009-09-04 Dave Hyatt <hyatt@apple.com>
2217 Reviewed by Adam Roben.
2219 Make m_userStyleSheetLoader in Frame an OwnPtr.
2222 (WebCore::Frame::Frame):
2223 (WebCore::Frame::~Frame):
2225 * page/mac/FrameMac.mm:
2226 (WebCore::Frame::setUserStyleSheetLocation):
2227 (WebCore::Frame::setUserStyleSheet):
2229 2009-09-04 Timothy Hatcher <timothy@apple.com>
2231 Show color swatches in the Web Inspector before the color text so clicking them will not
2232 shift the swatch. Also makes multiple swatches in the single property toggle the color format.
2234 https://bugs.webkit.org/show_bug.cgi?id=28978
2236 Reviewed by Darin Adler.
2238 * inspector/front-end/StylesSidebarPane.js:
2239 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
2240 the processing we do on the property value. This eliminated the old nickname code, since the new
2241 WebInspector.Color class handles this. We could also simplify the color regex since more
2242 is handled by the Color class. Also no longer uses innerHTML for the linkify code.
2243 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
2244 process a value given a regex and processor functions.
2245 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
2246 URL with "url()" syntax surrounding it.
2247 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
2248 there was an exception just return a text node.
2249 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
2250 Moved from later in the file.
2251 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
2252 * inspector/front-end/inspector.css:
2254 2009-09-04 Mark Mentovai <mark@chromium.org>
2256 Reviewed by Dave Hyatt.
2258 https://bugs.webkit.org/show_bug.cgi?id=28614
2260 Account for scrollbar state changes that occur during layout.
2262 * platform/ScrollView.cpp:
2263 (WebCore::ScrollView::updateScrollbars):
2265 Perform a layout prior to checking whether the scrollbar modes are
2266 off, on, or automatic. The modes may change during layout.
2271 (WebCore::Frame::createView):
2272 * page/FrameView.cpp:
2273 (WebCore::FrameView::FrameView):
2274 (WebCore::FrameView::resetScrollbars):
2275 (WebCore::FrameView::layout):
2277 * platform/ScrollView.h:
2279 Eliminate duplicated (and incorrect) scrollbar mode tracking between
2280 FrameView and ScrollView.
2282 2009-09-04 Yael Aharon <yael.aharon@nokia.com>
2284 Reviewed by Darin Adler.
2286 hostname and host are mixed up when manipulating anchor elements.
2287 https://bugs.webkit.org/show_bug.cgi?id=28954
2289 Swapped the implementation of host and hostname, and made sure not to return
2290 the port number if it is default for the given protocol.
2291 FireFox also avoids returning the protocol number if it is default.
2293 Test: fast/dom/Element/hostname-host.html
2295 * html/HTMLAnchorElement.cpp:
2296 (WebCore::HTMLAnchorElement::host):
2297 (WebCore::HTMLAnchorElement::hostname):
2298 * page/SecurityOrigin.cpp:
2299 (WebCore::SecurityOrigin::isDefaultPortForProtocol):
2300 * page/SecurityOrigin.h:
2302 2009-09-04 Anders Carlsson <andersca@apple.com>
2304 Reviewed by Darin Adler and Steve Falkenburg.
2306 Fix <rdar://problem/7192902>.
2308 Add the necessary plumbing for having QTMovieWin use WebCore timers.
2310 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2311 (WebCore::TaskTimer::initialize):
2312 Create the timer and call QTMovieWin::setTaskTimerFuncs.
2314 (WebCore::TaskTimer::setTaskTimerDelay):
2317 (WebCore::TaskTimer::stopTaskTimer):
2320 (WebCore::TaskTimer::fired):
2321 Call QTMovieWin::taskTimerFired().
2323 (WebCore::MediaPlayerPrivate::load):
2324 Initialize the Task timer.
2326 * platform/graphics/win/QTMovieWin.cpp:
2328 Call the global stopTaskTimer function and setTaskTimerDelay.
2330 (QTMovieWin::taskTimerFired):
2331 Make this a member function.
2333 (QTMovieWin::setTaskTimerFuncs):
2334 Set the global function pointers.
2336 (QTMovieWin::initializeQuickTime):
2338 No need to use the QT shared timer.
2339 * platform/graphics/win/QTMovieWin.h:
2341 2009-09-04 Tony Chang <tony@chromium.org>
2343 Reviewed by David Levin.
2345 Fix Chromium Win compile. Missing return statement in
2346 WebCore::RenderThemeChromiumSkia::paintSliderThumb.
2347 https://bugs.webkit.org/show_bug.cgi?id=28974
2349 No new tests, build fix.
2351 * rendering/RenderThemeChromiumSkia.cpp:
2352 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2354 2009-09-04 Dimitri Glazkov <dglazkov@chromium.org>
2356 Unreviewed, build fix.
2358 [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
2360 https://bugs.webkit.org/show_bug.cgi?id=28696
2362 2009-09-04 Anders Carlsson <andersca@apple.com>
2366 * WebCore.vcproj/WebCore.vcproj:
2368 2009-09-03 Dave Hyatt <hyatt@apple.com>
2370 Reviewed by Adam Roben.
2372 https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
2374 This patch adds new API for adding and removing user scripts from page groups. User scripts
2375 are bundled together in isolated worlds (you can have multiple scripts together in the same
2378 Added userscripts/ directory for holding new tests (along with a simple test of script injection).
2381 * WebCore.vcproj/WebCore.vcproj:
2382 * WebCore.xcodeproj/project.pbxproj:
2383 * bindings/js/ScriptController.cpp:
2384 (WebCore::ScriptController::evaluateInIsolatedWorld):
2385 * bindings/js/ScriptController.h:
2386 * bindings/v8/ScriptController.cpp:
2387 (WebCore::ScriptController::evaluateInIsolatedWorld):
2388 * bindings/v8/ScriptController.h:
2389 * loader/FrameLoader.cpp:
2390 (WebCore::FrameLoader::finishedParsing):
2391 (WebCore::FrameLoader::dispatchDocumentElementAvailable):
2393 (WebCore::Frame::injectUserScripts):
2394 (WebCore::Frame::injectUserScriptsForWorld):
2396 * page/PageGroup.cpp:
2397 (WebCore::PageGroup::~PageGroup):
2398 (WebCore::PageGroup::addUserScript):
2399 (WebCore::PageGroup::removeUserContentForWorld):
2400 (WebCore::PageGroup::removeAllUserContent):
2402 (WebCore::PageGroup::userScripts):
2403 * page/UserScript.h: Added.
2404 (WebCore::UserScript::UserScript):
2405 (WebCore::UserScript::source):
2406 (WebCore::UserScript::url):
2407 (WebCore::UserScript::patterns):
2408 (WebCore::UserScript::worldID):
2409 (WebCore::UserScript::injectionTime):
2410 * page/UserScriptTypes.h: Added.
2413 2009-09-04 Alexey Proskuryakov <ap@apple.com>
2415 Reviewed by Eric Seidel.
2417 https://bugs.webkit.org/show_bug.cgi?id=26402
2418 Crashes when using a detached DocumentType node
2420 Test: fast/dom/DOMImplementation/detached-doctype.html
2422 DocumentType nodes are the only one that can have null document(), and they can never have
2423 children, so they are a degenerate case for NodeLists.
2426 (WebCore::Node::childNodes): Don't try register node list with document if there's no
2427 document. Since there are no changes possible for a DocumentType's node list, this is not
2429 (WebCore::Node::registerDynamicNodeList): Ditto.
2430 (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
2431 was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
2432 de-registration code path that I saw taken was via Node destructor, and that already has
2433 a null check for document).
2435 * bindings/js/JSNodeCustom.cpp:
2436 (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
2437 if there is no window).
2438 (WebCore::JSNode::removeEventListener): Ditto.
2440 2009-09-04 Xan Lopez <xlopez@igalia.com>
2442 Reviewed by Gustavo Noronha.
2444 [GTK] loadFinished never emitted
2445 https://bugs.webkit.org/show_bug.cgi?id=28935
2447 Do not report errors right away from
2448 ResourceHandle::start. Instead return true and schedule an error
2449 to be reported in the handle later. Otherwise WebCore gets
2450 confused and thinks the resource never finished loading, making it
2451 not emit the finished status.
2453 * platform/network/soup/ResourceHandleSoup.cpp:
2454 (WebCore::startHttp):
2457 2009-09-04 Ben Murdoch <benm@google.com>
2459 Reviewed by Eric Seidel.
2461 [V8] DOM Storage bindings: Event Handler should create StorageEvents
2462 https://bugs.webkit.org/show_bug.cgi?id=28942
2465 Causes the following tests that were failing with V8 to pass:
2466 * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
2467 * storage/domstorage/localstorage/complex-keys.html
2468 * storage/domstorage/localstorage/onstorage-attribute-markup.html
2469 * storage/domstorage/localstorage/simple-events.html
2470 * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
2471 * storage/domstorage/localstorage/index-get-and-set.html
2472 * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
2473 * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
2474 * storage/domstorage/sessionstorage/simple-events.html
2475 * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
2476 * storage/domstorage/sessionstorage/index-get-and-set.html
2479 * bindings/v8/V8DOMWrapper.cpp:
2480 (WebCore::V8DOMWrapper::convertEventToV8Object): Create StorageEvents.
2481 * bindings/v8/custom/V8StorageCustom.cpp:
2482 (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
2484 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
2486 Reviewed by Timothy Hatcher.
2488 https://bugs.webkit.org/show_bug.cgi?id=28911
2491 * WebCore.vcproj/WebCore.vcproj:
2492 * inspector/InspectorBackend.cpp:
2493 (WebCore::InspectorBackend::dispatchOnInjectedScript):
2494 * inspector/InspectorBackend.h:
2495 * inspector/InspectorBackend.idl:
2496 * inspector/front-end/ConsoleView.js:
2497 (WebInspector.ConsoleView.prototype.doEvalInWindow):
2498 (WebInspector.ConsoleView.prototype._formatarray):
2499 (WebInspector.ConsoleView.prototype._formatnode):
2500 * inspector/front-end/DOMAgent.js:
2501 * inspector/front-end/ElementsPanel.js:
2502 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2503 (WebInspector.ElementsPanel.prototype.searchCanceled):
2504 (WebInspector.ElementsPanel.prototype.performSearch):
2505 * inspector/front-end/InjectedScript.js:
2506 (InjectedScript.dispatch):
2507 * inspector/front-end/InjectedScriptAccess.js: Added.
2508 (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
2509 (InjectedScriptAccess._installHandler):
2510 * inspector/front-end/MetricsSidebarPane.js:
2511 (WebInspector.MetricsSidebarPane.prototype.update):
2512 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
2513 * inspector/front-end/ObjectPropertiesSection.js:
2514 (WebInspector.ObjectPropertiesSection.prototype.update):
2515 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2516 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
2517 * inspector/front-end/PropertiesSidebarPane.js:
2518 (WebInspector.PropertiesSidebarPane.prototype.update):
2519 * inspector/front-end/ResourcesPanel.js:
2520 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2521 * inspector/front-end/ScriptsPanel.js:
2522 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2523 * inspector/front-end/StylesSidebarPane.js:
2524 (WebInspector.StylesSidebarPane.prototype.update):
2525 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2526 (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
2527 (WebInspector.StylePropertyTreeElement.prototype):
2528 * inspector/front-end/inspector.html:
2530 2009-09-04 Tony Chang <tony@chromium.org>
2532 Reviewed by Eric Seidel.
2534 Implement <input type="range"> for Chromium Linux by painting
2535 the slider and the thumb using skia.
2536 https://bugs.webkit.org/show_bug.cgi?id=28928
2538 Covered by existing tests (we're currently hitting an assert for them).
2540 * rendering/RenderThemeChromiumLinux.cpp:
2541 (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
2542 * rendering/RenderThemeChromiumLinux.h:
2543 * rendering/RenderThemeChromiumSkia.cpp:
2544 (WebCore::drawVertLine):
2545 (WebCore::drawHorizLine):
2547 (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
2548 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2549 * rendering/RenderThemeChromiumSkia.h:
2551 2009-09-04 Kent Tamura <tkent@chromium.org>
2553 Reviewed by Eric Seidel.
2555 - Implement <input type=color> as a text field.
2556 - ValidityState::typeMismatch supports for type=color.
2557 https://bugs.webkit.org/show_bug.cgi?id=28966
2559 Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
2560 fast/forms/ValidityState-typeMismatch-color.html
2562 * html/HTMLInputElement.cpp:
2563 (WebCore::HTMLInputElement::valueMissing):
2564 (WebCore::HTMLInputElement::patternMismatch):
2565 (WebCore::HTMLInputElement::setInputType):
2566 (WebCore::HTMLInputElement::formControlType):
2567 (WebCore::HTMLInputElement::saveFormControlState):
2568 (WebCore::HTMLInputElement::restoreFormControlState):
2569 (WebCore::HTMLInputElement::accessKeyAction):
2570 (WebCore::HTMLInputElement::rendererIsNeeded):
2571 (WebCore::HTMLInputElement::createRenderer):
2572 (WebCore::HTMLInputElement::appendFormData):
2573 (WebCore::HTMLInputElement::valueWithDefault):
2574 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2575 (WebCore::HTMLInputElement::defaultEventHandler):
2576 (WebCore::HTMLInputElement::isRequiredFormControl):
2577 (WebCore::HTMLInputElement::dataList):
2578 * html/HTMLInputElement.h:
2579 (WebCore::HTMLInputElement::):
2580 (WebCore::HTMLInputElement::isTextField):
2581 * html/ValidityState.cpp:
2582 (WebCore::ValidityState::typeMismatch):
2583 (WebCore::ValidityState::isValidColorString):
2584 * html/ValidityState.h:
2586 2009-09-04 Mads Ager <ager@chromium.org>
2588 Reviewed by David Levin.
2590 [V8] Crash when updating document cache
2591 https://bugs.webkit.org/show_bug.cgi?id=28965
2593 Initialization of a V8 JavaScript context can fail. When that
2594 happens, do not attempt to update the document wrapper cache.
2596 This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
2598 * bindings/v8/V8Proxy.cpp:
2599 (WebCore::V8Proxy::updateDocument):
2601 2009-09-04 Yaar Schnitman <yaar@chromium.org>
2603 Reviewed by Eric Seidel.
2607 https://bugs.webkit.org/show_bug.cgi?id=25489
2608 CSS property background-position is now serialized in shorthand string as
2609 background-position-x background-position-y, as the specification requires
2610 (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
2613 https://bugs.webkit.org/show_bug.cgi?id=26541
2614 CSS background-color is now be serialized before other background properties,
2615 as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).
2617 An existing layout test that accepted wrong order and skipped position test
2620 * css/CSSMutableStyleDeclaration.cpp:
2621 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2623 2009-09-03 Kent Tamura <tkent@chromium.org>
2625 Reviewed by David Levin.
2627 Add support for HTMLTextAreaElement.textLength
2628 https://bugs.webkit.org/show_bug.cgi?id=28929
2630 Test: fast/forms/textarea-textlength.html
2632 * html/HTMLTextAreaElement.h:
2633 (WebCore::HTMLTextAreaElement::textLength):
2634 * html/HTMLTextAreaElement.idl:
2636 2009-09-03 Alexey Proskuryakov <ap@apple.com>
2638 Reviewed by Darin Adler.
2640 <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
2641 REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
2643 Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
2645 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
2646 cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
2647 DocumentType node in two documents.
2649 2009-09-03 Brady Eidson <beidson@apple.com>
2651 Reviewed by Sam Weinig.
2653 Page Cache should support pages with Frames.
2654 https://bugs.webkit.org/show_bug.cgi?id=13631
2656 Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
2657 fast/loader/frames-with-unload-handlers-in-page-cache.html
2659 * loader/FrameLoader.cpp:
2660 (WebCore::FrameLoader::canCachePageContainingThisFrame):
2661 (WebCore::FrameLoader::logCanCacheFrameDecision):
2663 2009-09-03 Steve VanDeBogart <vandebo@chromium.org>
2665 Reviewed by Eric Seidel.
2667 Handle middle click in Chromium like QT
2668 https://bugs.webkit.org/show_bug.cgi?id=28696
2670 Tested by middle-click-onpaste.html.
2672 * platform/Pasteboard.h:
2673 * platform/chromium/ChromiumBridge.h:
2674 * platform/chromium/ClipboardChromium.cpp:
2675 (WebCore::ClipboardChromium::getData):
2676 * platform/chromium/PasteboardChromium.cpp:
2677 (WebCore::Pasteboard::Pasteboard):
2678 (WebCore::Pasteboard::isSelectionMode):
2679 (WebCore::Pasteboard::setSelectionMode):
2680 (WebCore::Pasteboard::canSmartReplace):
2681 (WebCore::Pasteboard::plainText):
2682 (WebCore::Pasteboard::documentFragment):
2683 * platform/chromium/PasteboardPrivate.h:
2684 (WebCore::PasteboardPrivate::):
2686 2009-09-03 Brady Eidson <beidson@apple.com>
2688 Reviewed by Sam Weinig.
2690 More partial work towards "Page Cache should support pages with Frames"
2691 https://bugs.webkit.org/show_bug.cgi?id=13631
2693 Fix a bug where subframes weren't asked if they were cacheable.
2695 No new tests, especially since page caching for frames isn't turned on yet.
2696 A layout test will come in my next patch, which enables frames in the page cache.
2698 * loader/FrameLoader.cpp:
2699 (WebCore::FrameLoader::canCachePageContainingThisFrame):
2701 2009-09-03 Adam Barth <abarth@webkit.org>
2703 Reviewed by eric@webkit.org.
2705 https://bugs.webkit.org/show_bug.cgi?id=24696
2707 Added mixed content methods to FrameLoaderClient.
2709 * loader/EmptyClients.h:
2710 (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
2711 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
2712 * loader/FrameLoaderClient.h:
2714 2009-09-03 Kevin Watters <kevinwatters@gmail.com>
2716 Reviewed by Kevin Ollivier.
2719 https://bugs.webkit.org/show_bug.cgi?id=19041
2721 * page/wx/EventHandlerWx.cpp:
2722 (WebCore::EventHandler::passMousePressEventToSubframe):
2723 (WebCore::EventHandler::passMouseMoveEventToSubframe):
2724 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2725 (WebCore::EventHandler::passWheelEventToWidget):
2726 (WebCore::EventHandler::tabsToAllControls):
2727 (WebCore::EventHandler::passSubframeEventToSubframe):
2728 (WebCore::EventHandler::passMouseDownEventToWidget):
2729 * platform/wx/RenderThemeWx.cpp:
2730 (WebCore::nativeWindowForRenderObject):
2731 (WebCore::RenderThemeWx::paintButton):
2732 (WebCore::RenderThemeWx::paintTextField):
2733 (WebCore::RenderThemeWx::paintMenuList):
2734 (WebCore::RenderThemeWx::paintMenuListButton):
2735 * platform/wx/ScrollbarThemeWx.cpp: Added.
2736 (WebCore::ScrollbarTheme::nativeTheme):
2737 (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
2738 (WebCore::ScrollbarThemeWx::scrollbarThickness):
2739 (WebCore::ScrollbarThemeWx::hasThumb):
2740 (WebCore::ScrollbarThemeWx::buttonSize):
2741 (WebCore::ScrollbarThemeWx::backButtonRect):
2742 (WebCore::ScrollbarThemeWx::forwardButtonRect):
2743 (WebCore::ScrollbarThemeWx::trackRect):
2744 (WebCore::ScrollbarThemeWx::paintScrollCorner):
2745 (WebCore::ScrollbarThemeWx::paint):
2746 * platform/wx/ScrollbarThemeWx.h: Added.
2747 (WebCore::ScrollbarThemeWx::hasButtons):
2748 * platform/wx/TemporaryLinkStubs.cpp:
2749 * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
2752 (wxGetGdkWindowForDC):
2753 (wxRenderer_DrawScrollbar):
2754 * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
2755 (wxScrollbarPartToHIPressedState):
2756 (wxRenderer_DrawScrollbar):
2757 * platform/wx/wxcode/scrollbar_render.h: Added.
2758 (calcThumbStartAndLength):
2759 * platform/wx/wxcode/win/non-kerned-drawing.cpp:
2760 (WebCore::drawTextWithSpacing):
2761 * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
2762 (GraphicsHDC::GraphicsHDC):
2763 (GraphicsHDC::~GraphicsHDC):
2764 (GraphicsHDC::operator HDC):
2765 (getTSStateForPart):
2766 (wxRenderer_DrawScrollbar):
2769 2009-09-03 Yael Aharon <yael.aharon@nokia.com>
2771 Reviewed by Simon Hausmann.
2773 [Qt] Page content is not displayed in case of HTTP status error
2774 https://bugs.webkit.org/show_bug.cgi?id=28949
2776 If the server sent content, show it to the user instead of an error,
2777 even if the HTTP status code is not success.
2779 * platform/network/qt/QNetworkReplyHandler.cpp:
2780 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2781 (WebCore::QNetworkReplyHandler::finish):
2782 (WebCore::QNetworkReplyHandler::forwardData):
2783 (WebCore::QNetworkReplyHandler::resetState):
2784 * platform/network/qt/QNetworkReplyHandler.h:
2786 2009-09-03 Drew Wilson <atwilson@google.com>
2788 Reviewed by Dimitri Glazkov.
2790 Need to update v8 bindings to support passing multiple ports to postMessage()
2791 https://bugs.webkit.org/show_bug.cgi?id=28839
2793 Added support for passing MessagePortArray to v8 bindings.
2795 New tests that now pass with V8:
2796 fast/events/message-port-multi.html
2797 fast/workers/worker-context-multi-port.html
2798 fast/workers/worker-multi-port.html
2801 Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
2802 * bindings/v8/custom/V8CustomBinding.h:
2803 Added custom postMessage() handlers for various classes.
2804 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2805 (WebCore::DOMWindowPostMessage):
2806 Added custom handler that supports MessagePortArray.
2807 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2808 (WebCore::DedicatedWorkerContextPostMessage):
2809 Added custom handler that supports MessagePortArray.
2810 * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
2811 (WebCore::MessageEventPorts):
2812 Added getter for ports attribute.
2813 (WebCore::MessageEventInitMessageEvent):
2814 Added custom handler that supports MessagePortArray.
2815 * bindings/v8/custom/V8MessagePortCustom.cpp:
2816 (WebCore::MessagePortPostMessage):
2817 Added custom handler that supports MessagePortArray.
2818 (WebCore::getMessagePortArray):
2819 Added helper function that supports converting from a sequence-like object to a MessagePortArray.
2820 * bindings/v8/custom/V8MessagePortCustom.h: Added.
2821 Added declaration for getMessagePortArray().
2822 * bindings/v8/custom/V8WorkerCustom.cpp:
2823 (WebCore::WorkerPostMessage):
2824 Added custom handler that supports MessagePortArray.
2826 2009-09-03 Drew Wilson <atwilson@google.com>
2828 Reviewed by Sam Weinig.
2830 Need to update JS bindings and IDL files to support multiple message ports in postMessage()
2831 https://bugs.webkit.org/show_bug.cgi?id=28460
2833 Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
2835 Tests: fast/events/message-port-multi.html
2836 fast/workers/worker-context-multi-port.html
2837 fast/workers/worker-multi-port.html
2842 * WebCore.vcproj/WebCore.vcproj:
2843 * WebCore.xcodeproj/project.pbxproj:
2844 * WebCoreSources.bkl:
2845 Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
2846 * bindings/js/JSDOMBinding.cpp:
2847 (WebCore::toJSSequence):
2848 Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
2849 * bindings/js/JSDOMBinding.h:
2850 * bindings/js/JSDOMWindowCustom.cpp:
2851 (WebCore::JSDOMWindow::postMessage):
2852 Added custom handler for postMessage() that handles being passed MessagePortArrays.
2853 * bindings/js/JSDedicatedWorkerContextCustom.cpp:
2854 (WebCore::JSDedicatedWorkerContext::postMessage):
2855 Added custom handler for postMessage() that handles being passed MessagePortArrays.
2856 * bindings/js/JSMessageEventCustom.cpp: Added.
2857 (WebCore::JSMessageEvent::ports):
2858 Added custom ports() getter that converts from MessagePortArray to JSArray.
2859 (WebCore::JSMessageEvent::initMessageEvent):
2860 Added support for passing a MessagePortArray.
2861 * bindings/js/JSMessagePortCustom.cpp:
2862 (WebCore::JSMessagePort::postMessage):
2863 Added custom handler for postMessage() that handles being passed MessagePortArray.
2864 (WebCore::fillMessagePortArray):
2865 New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
2866 * bindings/js/JSMessagePortCustom.h: Added.
2867 * bindings/js/JSWorkerCustom.cpp:
2868 (WebCore::JSWorker::postMessage):
2869 Added custom handler for postMessage() that handles being passed MessagePortArray.
2870 * dom/MessageEvent.cpp:
2871 * dom/MessageEvent.h:
2872 (WebCore::MessageEvent::ports):
2873 Changed ports() to return a MessagePortArray* since this value can be null.
2874 * dom/MessageEvent.idl:
2875 Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
2876 * dom/MessagePort.cpp:
2877 * dom/MessagePort.h:
2878 * dom/MessagePort.idl:
2879 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2881 * page/DOMWindow.idl:
2882 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2883 * workers/DedicatedWorkerContext.cpp:
2884 * workers/DedicatedWorkerContext.h:
2885 * workers/DedicatedWorkerContext.idl:
2886 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2887 * workers/Worker.cpp:
2889 * workers/Worker.idl:
2890 Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
2892 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
2894 Reviewed by Timothy Hatcher.
2896 WebInspector: Do not query non-function call frames for function name.
2898 https://bugs.webkit.org/show_bug.cgi?id=28799
2900 * inspector/front-end/InjectedScript.js:
2901 (InjectedScript.CallFrameProxy):
2902 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
2904 2009-09-03 Pavel Feldman <pfeldman@chromium.org>
2906 Reviewed by Timothy Hatcher.
2908 Crash after typing "clear" and pressing return in inspector console.
2910 https://bugs.webkit.org/show_bug.cgi?id=28684
2912 * inspector/front-end/InjectedScript.js:
2913 (InjectedScript._clearConsoleMessages):
2914 (InjectedScript._inspectObject):
2915 (InjectedScript._ensureCommandLineAPIInstalled):
2917 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
2919 Reviewed by Adam Barth.
2921 [V8] Squeezed out some performance from string conversion.
2922 https://bugs.webkit.org/show_bug.cgi?id=28945
2924 * bindings/v8/V8Binding.cpp:
2925 (WebCore::WebCoreStringResource::WebCoreStringResource):
2926 (WebCore::WebCoreStringResource::~WebCoreStringResource):
2927 (WebCore::WebCoreStringResource::data):
2928 (WebCore::WebCoreStringResource::length):
2929 (WebCore::WebCoreStringResource::atomicString):
2930 (WebCore::WebCoreStringResource::string):
2931 Avoid calling virtual length method. Be more explicit with
2932 external memory computation. Avoid function calls in data and
2935 (WebCore::v8StringToWebCoreString):
2936 (WebCore::v8StringToAtomicWebCoreString):
2937 (WebCore::v8NonStringValueToWebCoreString):
2938 (WebCore::v8NonStringValueToAtomicWebCoreString):
2939 Avoid extra calls of WebCoreStringResource::toString. When
2940 AtomicString is computed pass it immediately when constructing
2941 WebCoreStringResource. Use inline buffer for small strings.
2942 * bindings/v8/V8Binding.h:
2943 (WebCore::v8ValueToWebCoreString):
2944 (WebCore::v8ValueToAtomicWebCoreString):
2945 (WebCore::toString):
2946 Inline dispatch of string vs. non-string values.
2948 2009-09-03 Vitaly Repeshko <vitalyr@chromium.org>
2950 Reviewed by Adam Barth.
2952 [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
2954 https://bugs.webkit.org/show_bug.cgi?id=28946
2956 * bindings/v8/V8IsolatedWorld.cpp:
2957 (WebCore::V8IsolatedWorld::getEnteredImpl):
2958 * bindings/v8/V8IsolatedWorld.h:
2959 (WebCore::V8IsolatedWorld::getEntered):
2961 2009-09-03 Kent Tamura <tkent@chromium.org>
2963 Reviewed by Eric Seidel.
2965 Fix a regression bug that maxLength doesn't work for IME input.
2966 https://bugs.webkit.org/show_bug.cgi?id=25253
2968 Tests: fast/forms/input-maxlength-ime-completed.html
2969 fast/forms/input-maxlength-ime-preedit.html
2971 * dom/InputElement.cpp:
2972 (WebCore::InputElement::handleBeforeTextInsertedEvent):
2973 * dom/InputElement.h:
2974 * html/HTMLInputElement.cpp:
2975 (WebCore::HTMLInputElement::defaultEventHandler):
2976 * wml/WMLInputElement.cpp:
2977 (WebCore::WMLInputElement::defaultEventHandler):
2979 2009-09-03 Cameron McCormack <cam@mcc.id.au>
2981 Reviewed by Eric Seidel.
2983 Make SVGStyleElement title/media/type setters do something
2984 https://bugs.webkit.org/show_bug.cgi?id=28828
2986 Test: svg/dom/style-reflect.html
2988 * svg/SVGStyleElement.cpp:
2989 (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
2990 (WebCore::SVGStyleElement::setType): Ditto.
2991 (WebCore::SVGStyleElement::setMedia): Ditto.
2992 (WebCore::SVGStyleElement::setTitle): Ditto.
2994 2009-09-03 Ben Murdoch <benm@google.com>
2996 https://bugs.webkit.org/show_bug.cgi?id=28872
2998 Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
3000 Test: storage/statement-error-callback.html
3002 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3003 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
3005 2009-09-03 Maxime Simon <simon.maxime@gmail.com>
3007 Reviewed by Eric Seidel.
3009 [Haiku] Adding three font-specific files to WebCore:
3010 FontCustomPlatformData.cpp, FontCustomPlatformData.h,
3011 and FontPlatformData.h
3012 https://bugs.webkit.org/show_bug.cgi?id=28131
3014 * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
3015 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3016 (WebCore::FontCustomPlatformData::fontPlatformData):
3017 (WebCore::createFontCustomPlatformData):
3018 * platform/graphics/haiku/FontCustomPlatformData.h: Added.
3019 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3020 * platform/graphics/haiku/FontPlatformData.h: Added.
3021 (WebCore::FontPlatformData::FontPlatformData):
3022 (WebCore::FontPlatformData::font):
3023 (WebCore::FontPlatformData::size):
3024 (WebCore::FontPlatformData::bold):
3025 (WebCore::FontPlatformData::oblique):
3026 (WebCore::FontPlatformData::hashTableDeletedFontValue):
3028 2009-09-02 Brady Eidson <beidson@apple.com>
3030 Reviewed by Darin Adler.
3032 More partial work towards "Page Cache should support pages with Frames"
3033 https://bugs.webkit.org/show_bug.cgi?id=13631
3035 No new tests. (No change in behavior, current tests pass).
3037 * loader/DocumentLoader.cpp:
3038 (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
3040 * loader/FrameLoader.cpp:
3041 (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
3042 only unload, or unload and pagehide.
3043 (WebCore::FrameLoader::closeURL):
3044 (WebCore::FrameLoader::scheduleRedirection):
3045 (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
3046 (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
3047 where a page is added to the PageCache.
3048 * loader/FrameLoader.h:
3050 * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
3052 2009-09-02 Brady Eidson <beidson@apple.com>
3054 Reviewed by Darin Adler.
3056 More partial work towards "Page Cache should support pages with Frames"
3057 https://bugs.webkit.org/show_bug.cgi?id=13631
3059 - More CachedFrame destruction work.
3060 - Including related Frame and FrameLoader changes and cleanup.
3062 No new tests. (No change in behavior, current tests pass).
3064 * history/CachedFrame.cpp:
3065 (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
3066 (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
3067 (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
3068 the PageCache, do lightweight cleanup to:
3069 A - Prevent referring to a stale Page object.
3070 B - Prevent World Leaks of WebKit objects.
3072 * loader/FrameLoader.cpp:
3073 (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
3074 in the PageCache. ASSERT that fact.
3075 (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
3076 explains it is not effective, and it'd be better to see the crash locally instead of downstream.
3077 (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
3079 (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
3080 (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
3081 * loader/FrameLoader.h:
3084 (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
3085 (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
3088 2009-09-02 Jungshik Shin <jshin@chromium.org>
3090 Reviewed by Dimitri Glazkov
3092 [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
3093 in Chromium. This is to fix a new file added in r28742 since the
3094 last patch for this issue.
3096 https://bugs.webkit.org/show_bug.cgi?id=28410
3098 No change in the test result.
3100 * platform/graphics/chromium/FontLinux.cpp:
3101 (WebCore::TextRunWalker::getNormalizedTextRun):
3103 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
3105 Unreviewed, build fix.
3107 [Chromium] Correct a typo to fix bustage, caused by r47991.
3108 https://bugs.webkit.org/show_bug.cgi?id=27933
3110 * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
3112 2009-09-02 Dimitri Glazkov <dglazkov@chromium.org>
3114 Unreviewed, build fix.
3116 [Chromium] Add a missing include to fix bustage, caused by r47991.
3117 https://bugs.webkit.org/show_bug.cgi?id=27933
3119 * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
3121 2009-09-02 Jian Li <jianli@chromium.org>
3123 Reviewed by Dimitri Glazkov.
3125 [Chromium] Implement file support for DragData.
3126 https://bugs.webkit.org/show_bug.cgi?id=28896
3128 * platform/chromium/DragDataChromium.cpp:
3129 (WebCore::DragData::containsURL):
3130 (WebCore::DragData::asURL):
3131 (WebCore::DragData::containsCompatibleContent):
3133 2009-09-02 Kevin Watters <kevinwatters@gmail.com>
3135 Reviewed by Kevin Ollivier.
3137 Protect libcurl shared data with Mutex objects via curl_set_share_opt.
3138 https://bugs.webkit.org/show_bug.cgi?id=28920
3140 * platform/network/curl/ResourceHandleManager.cpp:
3141 (WebCore::sharedResourceMutex):
3142 (WebCore::curl_lock_callback):
3143 (WebCore::curl_unlock_callback):
3144 (WebCore::ResourceHandleManager::ResourceHandleManager):
3146 2009-09-02 Evan Stade <estade@chromium.org>
3148 Reviewed by Eric Seidel.
3150 Expose functions to change the focus ring color for Linux Chromium
3152 https://bugs.webkit.org/show_bug.cgi?id=28887
3154 * rendering/RenderThemeChromiumLinux.cpp:
3155 (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
3156 (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
3157 (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
3158 * rendering/RenderThemeChromiumLinux.h:
3160 2009-09-02 Dirk Schulze <krit@webkit.org>
3162 Reviewed by Eric Seidel.
3164 SVG Filter premultiplied color support for getImageDate/putImageData
3165 [https://bugs.webkit.org/show_bug.cgi?id=27933]
3167 Patch to get premultiplied color support for Skia on getImageDate/putImageData.
3169 * platform/graphics/skia/ImageBufferSkia.cpp:
3170 (WebCore::getImageData):
3171 (WebCore::putImageData):
3173 2009-09-02 Brady Eidson <beidson@apple.com>
3175 Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
3177 * history/CachedFrame.cpp:
3178 (WebCore::CachedFrameBase::restore):
3179 (WebCore::CachedFrame::open):
3180 * history/CachedFrame.h:
3181 * history/CachedPage.cpp:
3182 (WebCore::CachedPage::restore):
3184 2009-09-02 Brady Eidson <beidson@apple.com>
3186 Reviewed by Darin Adler.
3188 In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
3189 Removing them is a little trouble, but worth it going forward.
3190 The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
3191 was suggested by Darin Adler.
3193 No new tests. (No change in behavior)
3195 Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
3196 * history/CachedFrame.cpp:
3197 (WebCore::CachedFrameBase::CachedFrameBase):
3198 (WebCore::CachedFrameBase::~CachedFrameBase):
3199 (WebCore::CachedFrameBase::restore):
3200 (WebCore::CachedFrame::CachedFrame):
3201 (WebCore::CachedFrame::openInFrameLoader):
3202 * history/CachedFrame.h:
3203 (WebCore::CachedFrameBase::document):
3204 (WebCore::CachedFrameBase::view):
3205 (WebCore::CachedFrameBase::domWindow):
3206 (WebCore::CachedFrame::create):
3207 (WebCore::CachedFrame::documentLoader):
3208 (WebCore::CachedFrame::mousePressNode):
3210 Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
3211 thing capable of interacting with FrameLoader::open(CachedFrameBase):
3212 * history/CachedPage.cpp:
3213 (WebCore::CachedPage::restore):
3214 * history/CachedPage.h:
3215 (WebCore::CachedPage::documentLoader):
3217 Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
3218 * loader/FrameLoader.cpp:
3219 (WebCore::FrameLoader::open):
3220 * loader/FrameLoader.h:
3222 2009-09-02 Ryosuke Niwa <rniwa@webkit.org>
3224 Reviewed by Eric Seidel.
3226 Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
3227 https://bugs.webkit.org/show_bug.cgi?id=24866
3229 This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
3230 (a list to break out of is inside another list item).
3232 When the empty list item appears at the end of another list item, WebKit breaks out of
3233 the outer list item, and adds new item below the outer list item.
3234 Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
3236 Test: editing/execCommand/break-out-of-empty-list-item.html
3238 * editing/CompositeEditCommand.cpp:
3239 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
3241 2009-09-02 Brady Eidson <beidson@apple.com>
3243 Reviewed by Sam Weinig.
3245 More partial work towards "Page Cache should support pages with Frames"
3246 https://bugs.webkit.org/show_bug.cgi?id=13631
3248 This patch is primarily about the "CachedFrame tree" and making slightly different decisions
3249 based on whether a CachedFrame is the main frame or a subframe.
3251 - Store whether a CachedFrame represents the main frame or a subframe.
3252 - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames
3253 are reused and need to start new page loads with an empty frame tree.
3254 - Reattach the frame tree to the main frame when restoring it.
3255 - open() the cached subframes in their respective loaders when restoring.
3256 - Properly clear() and destroy() cached subframes.
3257 - When committing to a new page load, and after caching the previous page, only clear the
3258 FrameView for the main frame.
3260 Note that all of above will eventually be necessary as I continue to land this work in pieces,
3261 but doesn't actually change any behavior right now because we still refuse to even *try* to
3262 cache pages with frames.
3264 No new tests. No change in behavior, and current tests continue to pass.
3266 * history/CachedFrame.cpp:
3267 (WebCore::CachedFrame::CachedFrame):
3268 (WebCore::CachedFrame::restore):
3269 (WebCore::CachedFrame::clear):
3270 (WebCore::CachedFrame::destroy):
3271 * history/CachedFrame.h:
3272 (WebCore::CachedFrame::isMainFrame):
3274 * loader/FrameLoader.cpp:
3275 (WebCore::FrameLoader::clear):
3276 (WebCore::FrameLoader::open):
3277 * loader/FrameLoader.h:
3279 2009-09-02 Brady Eidson <beidson@apple.com>
3281 No review, build fix.
3283 http://trac.webkit.org/changeset/47976 broke the build.
3284 Let's try compiling before we land things, shall we?
3286 * platform/graphics/SimpleFontData.cpp:
3287 (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
3289 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
3291 waf build fixes for Windows/MSVC.
3295 2009-09-02 Ben Murdoch <benm@google.com>
3297 Unreviewed build fix for Chromium.
3299 Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
3301 * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
3303 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
3305 waf build fix, don't define symbols we now grab from other sources.
3307 * platform/wx/TemporaryLinkStubs.cpp:
3309 2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
3311 Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
3313 * plugins/PluginView.cpp:
3314 (WebCore::PluginView::stop):
3315 * plugins/PluginViewNone.cpp:
3316 (WebCore::PluginView::platformDestroy):
3318 2009-09-02 Charles Wei <charles.wei@torchmobile.com.cn>
3320 Reviewed by Eric Seidel.
3322 Fix the build failure of WebKit for Linux/Qt when WML is enabled
3324 No test cases needed since this just fixes the build problem.
3326 * wml/WMLElement.cpp:
3327 (WebCore::WMLElement::create):
3328 * wml/WMLTableElement.cpp:
3329 (WebCore::WMLTableElement::joinSuperflousColumns):
3330 (WebCore::WMLTableElement::padWithEmptyColumns):
3332 2009-09-02 Yong Li <yong.li@torchmobile.com>
3334 Reviewed by Adam Barth.
3336 WINCE PORT: use shared buffer for custom font data
3337 https://bugs.webkit.org/show_bug.cgi?id=27734
3339 Refactored by Joe Mason <joe.mason@torchmobile.com>
3341 * loader/CachedFont.cpp:
3342 add WINCE to platforms using cached custom data
3343 * platform/graphics/opentype/OpenTypeUtilities.cpp:
3344 (WebCore::renameFont): implement for WinCE
3345 * platform/graphics/opentype/OpenTypeUtilities.h:
3347 * platform/graphics/wince/FontCustomPlatformData.cpp:
3348 (WebCore::setCustomFontCache): add accessor
3349 (WebCore::createFontCustomPlatformData): change param to SharedBuffer
3350 * platform/graphics/wince/FontCustomPlatformData.h:
3351 update function signatures
3353 2009-09-02 Yong Li <yong.li@torchmobile.com>
3355 Reviewed by Adam Barth.
3357 WINCE PORT: font-related build fixes and minor bugfixes
3358 https://bugs.webkit.org/show_bug.cgi?id=27734
3360 * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
3361 * platform/graphics/GlyphPageTreeNode.cpp:
3362 (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
3363 * platform/graphics/SimpleFontData.cpp:
3364 (WebCore::SimpleFontData::SimpleFontData): initialize member vars
3365 * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space
3367 2009-09-02 Jeremy Orlow <jorlow@chromium.org>
3369 Reviewed by Adam Barth.
3371 Another pass at releasing the storage mutex.
3372 https://bugs.webkit.org/show_bug.cgi?id=28904
3374 Another pass at releasing the storage mutex (when applicable) when we finish
3375 executing JavaScript. http://dev.w3.org/html5/spec/Overview.html#storage-mutex
3376 describes the required behavior.
3378 As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
3379 the problem correctly. First of all, I missed that events and timeouts go
3380 through a different call path. Second of all, I didn't consider recursion
3381 correctly. Third of all, my check to see if LocalStorage is alive actually
3382 instantiates it if it isn't yet. Fourth, I forgot DOM_STORAGE guards around
3383 it. So I'm reverting that change completely and doing it more cleanly.
3384 Unfortunately, the solution isn't as portable (and thus I've left out the JSC
3385 implementation for now).
3387 NOTE: This change now tracks recursion on function callbacks in V8. I ran this
3388 by Mads Ager and Mike Belshe and they seemed to think adding the checks were
3389 fine. Most callbacks are asynchronous and thus wouldn't be nested. The few
3390 scenareos where you can have nested callbacks probably should have always been
3391 protected by a recursion guard.
3393 Unfortunately, this can't be tested without a hook added to the layout test
3394 controllers since the lock is (by design) not supposed to be observable by
3395 JavaScript. https://bugs.webkit.org/show_bug.cgi?id=28906
3397 * bindings/js/ScriptController.cpp:
3398 (WebCore::ScriptController::evaluate): revert
3399 * bindings/v8/ScriptController.cpp:
3400 (WebCore::ScriptController::evaluate): revert
3401 * bindings/v8/V8Proxy.cpp:
3402 (WebCore::V8Proxy::runScript):
3403 Add releaseStorageMutex call. A small amount of clean up.
3404 (WebCore::V8Proxy::callFunction):
3405 Add releaseStorageMutex call. A small amount of clean up.
3406 (WebCore::V8Proxy::releaseStorageMutex):
3407 Check to see if localStorage has been instantiated. If so, tell it to
3408 unlock all storage areas.
3409 * bindings/v8/V8Proxy.h:
3411 (WebCore::PageGroup::hasLocalStorage): Make hasLocalStorage public.
3413 2009-09-02 Yong Li <yong.li@torchmobile.com>
3415 Reviewed by Adam Barth.
3417 WINCE PORT: Implement ImageBuffer for WINCE
3418 Implement Image interface with a light class BufferedImage
3419 for rendering ImageBuffer
3420 https://bugs.webkit.org/show_bug.cgi?id=28167
3422 * platform/graphics/wince/ImageBufferData.h: Added.
3423 * platform/graphics/wince/ImageBufferWince.cpp: Added.
3425 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3427 Reviewed by Eric Seidel.
3429 Join the various PluginView destructors into one shared implementation
3431 https://bugs.webkit.org/show_bug.cgi?id=27706
3433 The Qt port used to delete the platform plugin widget as the last step.
3434 Now this is done before cleaning up the script objects and unloading the
3435 plugin package, similar to how the Win port does it.
3437 * plugins/PluginView.cpp:
3438 * plugins/PluginViewNone.cpp:
3439 * plugins/gtk/PluginViewGtk.cpp:
3440 * plugins/mac/PluginViewMac.cpp:
3441 * plugins/qt/PluginViewQt.cpp:
3442 * plugins/win/PluginViewWin.cpp:
3444 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3446 Reviewed by Eric Seidel.
3448 Share PluginView::init() between ports
3450 https://bugs.webkit.org/show_bug.cgi?id=27706
3452 The port-spesific bits are moved to platformStart(), which now returns
3453 a bool based on the success of the platformStart.
3455 m_hasPendingGeometryChange is now initialized in the initializer list
3456 instead of in PluginViewQt's init()
3458 PluginViewMac (currently used only by the Qt port) used to manually call
3459 stop() in the case where an unsupported drawing or event model was detected.
3460 This was wrong, as the m_status and m_isStarted fields should be used to
3461 guard against doing operations on a plugin in this intermediate state.
3463 * plugins/PluginView.cpp:
3464 * plugins/PluginView.h:
3465 * plugins/PluginViewNone.cpp:
3466 * plugins/gtk/PluginViewGtk.cpp:
3467 * plugins/mac/PluginViewMac.cpp:
3468 * plugins/qt/PluginViewQt.cpp:
3469 * plugins/win/PluginViewWin.cpp:
3471 2009-09-02 Ben Murdoch <benm@google.com>
3473 https://bugs.webkit.org/show_bug.cgi?id=28737
3475 Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
3477 * bindings/js/JSSQLTransactionCustom.cpp:
3478 (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
3479 * bindings/v8/V8Binding.cpp:
3480 (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
3481 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3482 (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
3484 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
3486 Reviewed by Timothy Hatcher.
3488 WebInspector: Migrate Databases tab to InjectedScript /
3489 serialized interaction.
3491 https://bugs.webkit.org/show_bug.cgi?id=28873
3493 * inspector/InspectorDOMAgent.cpp:
3494 (WebCore::InspectorDOMAgent::handleEvent):
3495 * inspector/front-end/Database.js:
3496 (WebInspector.Database.prototype.isDB):
3497 (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
3498 (WebInspector.Database.prototype.runWithTableNames):
3499 (WebInspector.Database.prototype.executeSql):
3500 (WebInspector.Database.prototype.executeSql.errorCallback):
3501 (WebInspector.Database.prototype.executeSql.queryTransaction):
3502 * inspector/front-end/DatabaseQueryView.js:
3503 (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
3504 (WebInspector.DatabaseQueryView.prototype._queryFinished):
3505 * inspector/front-end/DatabaseTableView.js:
3506 (WebInspector.DatabaseTableView):
3507 * inspector/front-end/StoragePanel.js:
3508 (WebInspector.StoragePanel.prototype.selectDatabase):
3509 (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
3510 (WebInspector.StoragePanel.prototype.updateDatabaseTables):
3511 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
3512 (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
3514 2009-09-02 Pavel Feldman <pfeldman@chromium.org>
3516 Not reviewed (trivial followup fix).
3518 Web Inspector: Trivial follow up fix to r47944.
3520 https://bugs.webkit.org/show_bug.cgi?id=28800
3522 * inspector/InspectorBackend.cpp:
3523 (WebCore::InspectorBackend::nodeForId):
3525 2009-09-01 Brian Weinstein <bweinstein@apple.com>
3527 Reviewed by John Sullivan.
3529 Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
3531 * accessibility/AccessibilityRenderObject.cpp:
3532 (WebCore::AccessibilityRenderObject::isReadOnly):
3534 2009-09-01 Patrick Mueller <Patrick_Mueller@us.ibm.com>
3536 Reviewed by Timothy Hatcher.
3538 https://bugs.webkit.org/show_bug.cgi?id=28047
3539 add utility method to enable logging messages for inspector development
3541 manual test case added (see below)
3543 * inspector/front-end/ConsoleView.js:
3544 (WebInspector.ConsoleMessage.prototype.toMessageElement):
3545 (WebInspector.ConsoleMessage.prototype.toString):
3546 * inspector/front-end/inspector.css:
3547 * inspector/front-end/inspector.js:
3549 * manual-tests/inspector/webinspector-log.html: Added.
3551 (WebCore::printMessageSourceAndLevelPrefix):
3555 2009-09-01 Alexey Proskuryakov <ap@apple.com>
3557 Reviewed by Darin Adler.
3559 https://bugs.webkit.org/show_bug.cgi?id=21990
3560 When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
3561 is mistreated as Shift_JIS
3563 <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
3565 WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
3566 This didn't really match any browser, and did cause problems on some sites.