1 2013-02-09 David Farler <dfarler@apple.com>
3 Make TestWebKitAPI work for iOS
4 https://bugs.webkit.org/show_bug.cgi?id=108978
6 Reviewed by David Kilzer.
8 Tests already exist - refactor only.
10 * WebCore.exp.in: Lumped __ZNK7WebCore4KURL7hasPathEv with related methods.
11 * platform/KURL.cpp: Inlined hasPath() into the header
12 * platform/KURL.h: Inlined hasPath() into the header
14 2013-02-09 Adam Barth <abarth@webkit.org>
16 Load event fires too early with threaded HTML parser
17 https://bugs.webkit.org/show_bug.cgi?id=108984
19 Reviewed by Eric Seidel.
21 Previously, the DocumentLoader would always be on the stack when the
22 HTMLDocumentParser was processing data from the network. The
23 DocumentLoader would then tell isLoadingInAPISense not to fire the load
24 event. Now that we process data asynchronously with the threaded
25 parser, the DocumentLoader is not always on the stack, which means we
26 need to delay the load event using the clause that asks the parser
27 whether it is processing data.
29 Unfortunately, that clause is fragile because we can check for load
30 completion while we're switching parsers between the network-created
31 parser and a script-created parser. To avoid accidentially triggerin
32 the load event during these "gaps," this patch introduces a counter on
33 document to record how many parsers are active on the stack. While
34 that numer is non-zero, we'll delay the load event. When that number
35 reaches zero, we'll check for load complete.
37 That last step is required because the DocumentLoader::finishLoading
38 method is no longer guarunteed to check for load complete after calling
39 finish on the parser because the finish operation might complete
42 After this patch, the threaded parser passes all but four fast/parser
46 (WebCore::Document::Document):
47 (WebCore::Document::hasActiveParser):
49 (WebCore::Document::decrementActiveParserCount):
52 (WebCore::Document::incrementActiveParserCount):
53 * html/parser/HTMLDocumentParser.cpp:
54 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
55 (WebCore::HTMLDocumentParser::pumpTokenizer):
56 * html/parser/HTMLParserScheduler.cpp:
57 (WebCore::ActiveParserSession::ActiveParserSession):
59 (WebCore::ActiveParserSession::~ActiveParserSession):
60 (WebCore::PumpSession::PumpSession):
61 (WebCore::PumpSession::~PumpSession):
62 * html/parser/HTMLParserScheduler.h:
64 (ActiveParserSession):
66 * loader/DocumentLoader.cpp:
67 (WebCore::DocumentLoader::isLoadingInAPISense):
69 2013-02-09 Mike West <mkwst@chromium.org>
71 Use IGNORE_EXCEPTION for initialized, but unused, ExceptionCodes.
72 https://bugs.webkit.org/show_bug.cgi?id=109295
74 Reviewed by Darin Adler.
76 The monster patch in http://wkbug.com/108771 missed an entire class of
77 ignored exceptions. It only dealt with call sites that never initialized
78 the ExceptionCode variable, on the assumption that only such call sites
79 would ignore the variable's value.
81 That was a flawed assumption: a large number of sites that initialize the
82 ExceptionCode to 0 ignore it regardless. This patch deals with the
83 almost-as-large set of callsites that initialize the variable, pass it to
84 a function, and then never touch it again.
86 * Modules/indexeddb/IDBDatabase.cpp:
87 (WebCore::IDBDatabase::forceClose):
88 * accessibility/AccessibilityRenderObject.cpp:
89 (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
90 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
91 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
92 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
93 (getSelectionOffsetsForObject):
94 * accessibility/atk/WebKitAccessibleUtil.cpp:
95 (selectionBelongsToObject):
97 (WebCore::Node::textRects):
98 * editing/DeleteButtonController.cpp:
99 (WebCore::DeleteButtonController::hide):
100 * editing/EditingStyle.cpp:
101 (WebCore::EditingStyle::styleAtSelectionStart):
102 * editing/Editor.cpp:
103 (WebCore::Editor::canDeleteRange):
104 (WebCore::Editor::pasteAsPlainText):
105 (WebCore::Editor::pasteAsFragment):
106 (WebCore::Editor::shouldDeleteRange):
107 (WebCore::Editor::dispatchCPPEvent):
108 (WebCore::Editor::setComposition):
109 (WebCore::Editor::advanceToNextMisspelling):
110 (WebCore::isFrameInRange):
111 * editing/EditorCommand.cpp:
112 (WebCore::expandSelectionToGranularity):
113 * editing/MergeIdenticalElementsCommand.cpp:
114 (WebCore::MergeIdenticalElementsCommand::doApply):
115 * editing/SplitElementCommand.cpp:
116 (WebCore::SplitElementCommand::doUnapply):
117 * editing/SplitTextNodeCommand.cpp:
118 (WebCore::SplitTextNodeCommand::doApply):
119 * editing/TextCheckingHelper.cpp:
120 (WebCore::expandToParagraphBoundary):
121 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
122 (WebCore::TextCheckingHelper::isUngrammatical):
123 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
124 * editing/TextInsertionBaseCommand.cpp:
125 (WebCore::dispatchBeforeTextInsertedEvent):
126 (WebCore::canAppendNewLineFeedToSelection):
127 * editing/TextIterator.cpp:
128 (WebCore::findPlainText):
129 * editing/htmlediting.cpp:
130 (WebCore::extendRangeToWrappingNodes):
131 (WebCore::isNodeVisiblyContainedWithin):
132 * editing/visible_units.cpp:
133 (WebCore::nextBoundary):
134 * html/FileInputType.cpp:
135 (WebCore::FileInputType::createShadowSubtree):
136 * html/HTMLKeygenElement.cpp:
137 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
138 * html/HTMLScriptElement.cpp:
139 (WebCore::HTMLScriptElement::setText):
140 * html/HTMLTitleElement.cpp:
141 (WebCore::HTMLTitleElement::setText):
142 * html/HTMLTrackElement.cpp:
143 (WebCore::HTMLTrackElement::didCompleteLoad):
144 * html/RangeInputType.cpp:
145 (WebCore::RangeInputType::createShadowSubtree):
146 * html/SearchInputType.cpp:
147 (WebCore::SearchInputType::createShadowSubtree):
148 * html/TextFieldInputType.cpp:
149 (WebCore::TextFieldInputType::createShadowSubtree):
150 * html/track/TextTrackList.cpp:
151 (TextTrackList::asyncEventTimerFired):
152 * inspector/DOMPatchSupport.cpp:
153 (WebCore::DOMPatchSupport::patchDocument):
154 * inspector/InspectorDatabaseAgent.cpp:
156 * inspector/InspectorFileSystemAgent.cpp:
158 * page/DOMSelection.cpp:
159 (WebCore::DOMSelection::addRange):
160 * page/DragController.cpp:
161 (WebCore::DragController::dispatchTextInputEventFor):
162 * page/EventHandler.cpp:
163 (WebCore::EventHandler::dispatchMouseEvent):
164 (WebCore::EventHandler::handleTouchEvent):
165 * page/FrameActionScheduler.cpp:
166 (WebCore::EventFrameAction::fire):
167 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
168 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
169 * svg/SVGDocument.cpp:
170 (WebCore::SVGDocument::dispatchZoomEvent):
171 (WebCore::SVGDocument::dispatchScrollEvent):
173 (WebCore::SVGLength::SVGLength):
174 (WebCore::SVGLength::value):
175 * xml/parser/XMLDocumentParser.cpp:
176 (WebCore::XMLDocumentParser::exitText):
177 * xml/parser/XMLDocumentParserQt.cpp:
178 (WebCore::XMLDocumentParser::parse):
179 (WebCore::XMLDocumentParser::startDocument):
180 (WebCore::XMLDocumentParser::parseCharacters):
182 2013-02-09 Stephen White <senorblanco@chromium.org>
184 [skia] Fix memory management in SkiaImageFilterBuilder and friends.
185 https://bugs.webkit.org/show_bug.cgi?id=109326
187 Sadly, skia has no official ref-counted pointers, so we must make do
190 Reviewed by James Robinson.
192 Correctness covered by existing tests in css3/filters.
194 * platform/graphics/filters/skia/FEBlendSkia.cpp:
195 (WebCore::FEBlend::createImageFilter):
196 * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
197 (WebCore::FEComponentTransfer::createImageFilter):
198 * platform/graphics/filters/skia/FELightingSkia.cpp:
199 (WebCore::FELighting::createImageFilter):
200 Adopt refs produced by the build() pass with SkAutoTUnref.
201 * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
202 (WebCore::SkiaImageFilterBuilder::~SkiaImageFilterBuilder):
203 Unref the builder's hashmap effect pointers.
204 (WebCore::SkiaImageFilterBuilder::build):
205 Ref the pointer returned to the caller, and use SkAutoTUnref
206 internally while building the tree.
207 * platform/graphics/filters/skia/SkiaImageFilterBuilder.h:
208 (SkiaImageFilterBuilder):
209 Add a destructor to SkiaImageFilterBuilder.
212 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
214 AX: Rename AXObject::cachedIsIgnoredValue to lastKnownIsIgnoredValue
215 https://bugs.webkit.org/show_bug.cgi?id=108238
217 Reviewed by Chris Fleizach.
219 Simple refactoring, no new tests.
221 * accessibility/AXObjectCache.cpp:
222 (WebCore::AXObjectCache::getOrCreate):
223 (WebCore::AXObjectCache::childrenChanged):
224 * accessibility/AccessibilityObject.cpp:
225 (WebCore::AccessibilityObject::AccessibilityObject):
226 (WebCore::AccessibilityObject::lastKnownIsIgnoredValue):
227 (WebCore::AccessibilityObject::setLastKnownIsIgnoredValue):
228 (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
229 * accessibility/AccessibilityObject.h:
230 (AccessibilityObject):
232 2013-02-09 Anton Vayvod <avayvod@chromium.org>
234 [Text Autosizing] Cleanup change: converter the pointer argument to be a reference since
235 non-null pointer is always expected.
236 https://bugs.webkit.org/show_bug.cgi?id=109079
238 Reviewed by Kenneth Rohde Christiansen.
240 Cleanup change, no need to add new tests or modify the existing ones.
242 * rendering/TextAutosizer.cpp:
244 Changed parameter from a pointer to a reference in the methods below.
246 (WebCore::TextAutosizer::processSubtree):
247 (WebCore::TextAutosizer::processCluster):
248 (WebCore::TextAutosizer::processContainer):
249 (WebCore::TextAutosizer::isNarrowDescendant):
250 (WebCore::TextAutosizer::isWiderDescendant):
251 (WebCore::TextAutosizer::isAutosizingCluster):
252 (WebCore::TextAutosizer::clusterShouldBeAutosized):
253 (WebCore::TextAutosizer::measureDescendantTextWidth):
255 * rendering/TextAutosizer.h: updated method prototypes.
257 2013-02-09 Rafael Brandao <rafael.lobo@openbossa.org>
259 [TexMap] Separate classes per file in TextureMapperBackingStore.h
260 https://bugs.webkit.org/show_bug.cgi?id=109333
262 Reviewed by Noam Rosenthal.
264 TextureMapperBackingStore.h had the classes TextureMapperBackingStore,
265 TextureMapperTiledBackingStore, TextureMapperSurfaceBackingStore and
266 TextureMapperTile which was quite confusing. Now each one has its
267 own header and its own source file.
269 No new tests needed, refactoring only.
272 * GNUmakefile.list.am:
275 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
276 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
277 * platform/graphics/texmap/TextureMapperBackingStore.h:
278 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp: Added.
280 (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
281 (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
282 (WebCore::TextureMapperSurfaceBackingStore::texture):
283 (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
284 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h: Added.
286 (TextureMapperSurfaceBackingStore):
287 (WebCore::TextureMapperSurfaceBackingStore::create):
288 (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore):
289 (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
290 * platform/graphics/texmap/TextureMapperTile.cpp: Added.
292 (WebCore::TextureMapperTile::updateContents):
293 (WebCore::TextureMapperTile::paint):
294 * platform/graphics/texmap/TextureMapperTile.h: Added.
297 (WebCore::TextureMapperTile::texture):
298 (WebCore::TextureMapperTile::rect):
299 (WebCore::TextureMapperTile::setTexture):
300 (WebCore::TextureMapperTile::setRect):
301 (WebCore::TextureMapperTile::~TextureMapperTile):
302 (WebCore::TextureMapperTile::TextureMapperTile):
303 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp.
305 (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
306 (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
307 (WebCore::TextureMapperTiledBackingStore::adjustedTransformForRect):
308 (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
309 (WebCore::TextureMapperTiledBackingStore::drawBorder):
310 (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
311 (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
312 (WebCore::TextureMapperTiledBackingStore::updateContents):
313 (WebCore::TextureMapperTiledBackingStore::texture):
314 * platform/graphics/texmap/TextureMapperTiledBackingStore.h: Added.
316 (TextureMapperTiledBackingStore):
317 (WebCore::TextureMapperTiledBackingStore::create):
318 (WebCore::TextureMapperTiledBackingStore::~TextureMapperTiledBackingStore):
319 (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
320 (WebCore::TextureMapperTiledBackingStore::rect):
321 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
322 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
324 2013-02-09 Philip Rogers <pdr@google.com>
326 Sanitize m_keyTimes for paced value animations
327 https://bugs.webkit.org/show_bug.cgi?id=108828
329 Reviewed by Dirk Schulze.
331 SVG animations with calcMode=paced calculate new m_keyTimes in
332 SVGAnimationElement::calculateKeyTimesForCalcModePaced() because paced animations do not
333 specify keyTimes. If an error occurs while calculating m_keyTimes, and there exists
334 user-specified values, a crash could occur because the user-specified values were not
337 This change clears user-specified keyTimes before calculating new ones.
339 Test: svg/animations/animate-keytimes-crash.html
341 * svg/SVGAnimationElement.cpp:
342 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
344 2013-02-09 Eric Seidel <eric@webkit.org>
346 Fix TextDocumentParser to play nice with threading
347 https://bugs.webkit.org/show_bug.cgi?id=109240
349 Reviewed by Adam Barth.
351 Before the HTML5 parser re-write the text document parser
352 was completely custom. With the HTML5 parser, we just made
353 the TextDocumentParser use the HTMLDocumentParser with an
354 artificial script tag.
356 However, our solution was slightly over-engineered to avoid
357 lying about the column numbers of the first line of the text document
360 This change makes us use a simpler (and threading-compatible)
361 solution by just inserting a real "<pre>" tag into the
362 input stream instead of hacking one together with the treebuilder
363 and manually setting the Tokenizer state.
365 fast/parser/empty-text-resource.html covers this case.
367 * html/parser/TextDocumentParser.cpp:
368 (WebCore::TextDocumentParser::TextDocumentParser):
369 (WebCore::TextDocumentParser::insertFakePreElement):
371 2013-02-09 Kent Tamura <tkent@chromium.org>
373 Add missing copyright header
374 https://bugs.webkit.org/show_bug.cgi?id=107507
376 * Resources/pagepopups/chromium/calendarPickerChromium.css:
377 * Resources/pagepopups/chromium/pickerCommonChromium.css:
379 2013-02-09 Kent Tamura <tkent@chromium.org>
381 Fix crash by img[ismap] with content property
382 https://bugs.webkit.org/show_bug.cgi?id=108702
384 Reviewed by Adam Barth.
386 Test: fast/dom/HTMLAnchorElement/anchor-ismap-crash.html
388 * html/HTMLAnchorElement.cpp:
389 (WebCore::appendServerMapMousePosition):
390 Check if the renderer of an img element is RenderImage.
392 2013-02-09 Mike West <mkwst@chromium.org>
394 Drop ExceptionCode from IDB's directionToString and modeToString.
395 https://bugs.webkit.org/show_bug.cgi?id=109143
397 Reviewed by Jochen Eisinger.
399 No caller of either IDBCursor::directionToString or
400 IDBTransaction::modeToString makes use of the ExceptionCode these
401 methods require. This patch removes the 'ExceptionCode&' parameter from
402 both methods and their callsites.
404 * Modules/indexeddb/IDBCursor.cpp:
405 (WebCore::IDBCursor::direction):
406 (WebCore::IDBCursor::directionToString):
407 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
408 exception previously generated with ASSERT_NOT_REACHED.
409 * Modules/indexeddb/IDBCursor.h:
410 * Modules/indexeddb/IDBTransaction.cpp:
411 (WebCore::IDBTransaction::mode):
412 (WebCore::IDBTransaction::modeToString):
413 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
414 exception previously generated with ASSERT_NOT_REACHED.
415 * Modules/indexeddb/IDBTransaction.h:
417 2013-02-09 Kondapally Kalyan <kalyan.kondapally@intel.com>
419 [EFL][Qt][WebGL] Share the common code between GraphicsSurfaceGLX and X11WindowResources.
420 https://bugs.webkit.org/show_bug.cgi?id=106666
422 Reviewed by Kenneth Rohde Christiansen.
424 Covered by existing WebGL tests.
426 This patch removes any duplicate code in X11WindowResources and
427 GraphicsSurfaceGLX. No new functionality is added.
431 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
432 (WebCore::EGLConfigSelector::pixmapContextConfig):
433 * platform/graphics/surfaces/egl/EGLConfigSelector.h:
435 * platform/graphics/surfaces/egl/EGLSurface.cpp:
436 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
437 (WebCore::EGLWindowTransportSurface::destroy):
438 (WebCore::EGLWindowTransportSurface::setGeometry):
439 * platform/graphics/surfaces/egl/EGLSurface.h:
441 (EGLWindowTransportSurface):
442 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
443 (WebCore::GLXConfigSelector::GLXConfigSelector):
444 (WebCore::GLXConfigSelector::visualInfo):
445 (WebCore::GLXConfigSelector::pBufferContextConfig):
446 (WebCore::GLXConfigSelector::createSurfaceConfig):
448 * platform/graphics/surfaces/glx/GLXContext.cpp:
449 (WebCore::initializeARBExtensions):
450 (WebCore::GLXOffScreenContext::GLXOffScreenContext):
451 (WebCore::GLXOffScreenContext::initialize):
452 (WebCore::GLXOffScreenContext::platformReleaseCurrent):
453 (WebCore::GLXOffScreenContext::freeResources):
454 * platform/graphics/surfaces/glx/GLXContext.h:
455 (GLXOffScreenContext):
456 * platform/graphics/surfaces/glx/GLXSurface.cpp:
457 (WebCore::GLXTransportSurface::GLXTransportSurface):
458 (WebCore::GLXTransportSurface::setGeometry):
459 (WebCore::GLXTransportSurface::destroy):
460 (WebCore::GLXPBuffer::initialize):
461 * platform/graphics/surfaces/glx/GLXSurface.h:
462 (GLXTransportSurface):
464 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
466 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
467 (WebCore::GraphicsSurfacePrivate::initialize):
468 (GraphicsSurfacePrivate):
469 (WebCore::GraphicsSurfacePrivate::createSurface):
470 (WebCore::GraphicsSurfacePrivate::createPixmap):
471 (WebCore::GraphicsSurfacePrivate::display):
472 (WebCore::GraphicsSurfacePrivate::flags):
473 (WebCore::GraphicsSurfacePrivate::clear):
474 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
475 No new functionality added. Made changes to take the common code into use.
477 * platform/graphics/surfaces/glx/X11WindowResources.h: Removed.
478 * platform/graphics/surfaces/glx/X11Helper.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/glx/X11WindowResources.cpp.
480 (WebCore::DisplayConnection::DisplayConnection):
482 (WebCore::DisplayConnection::~DisplayConnection):
483 (WebCore::DisplayConnection::display):
484 (OffScreenRootWindow):
485 (WebCore::OffScreenRootWindow::OffScreenRootWindow):
486 (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
487 (WebCore::OffScreenRootWindow::rootWindow):
488 (WebCore::X11Helper::resizeWindow):
489 (WebCore::X11Helper::createOffScreenWindow):
490 (WebCore::X11Helper::destroyWindow):
491 (WebCore::X11Helper::isXRenderExtensionSupported):
492 (WebCore::X11Helper::nativeDisplay):
493 (WebCore::X11Helper::offscreenRootWindow):
494 * platform/graphics/surfaces/glx/X11Helper.h: Added.
496 (WebCore::handleXPixmapCreationError):
498 (ScopedXPixmapCreationErrorHandler):
499 (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
500 (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
501 (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
502 Moved common code from GraphicsSurfaceGLX to X11Helper.
504 2013-02-09 Andrey Lushnikov <lushnikov@chromium.org>
506 Web Inspector: show whitespace characters in DTE
507 https://bugs.webkit.org/show_bug.cgi?id=108947
509 Reviewed by Pavel Feldman.
511 New test: inspector/editor/text-editor-show-whitespaces.html
513 Split consecutive whitespace characters into groups of 16, 8, 4, 2 and 1 and
514 add ::before pseudoclass for this groups which contains necessary
515 amount of "dots" (u+00b7). Add a setting "Show whitespace" for this
516 option in "Sources" section of "General" tab.
518 * English.lproj/localizedStrings.js:
519 * inspector/front-end/DefaultTextEditor.js:
520 (WebInspector.TextEditorMainPanel.prototype.wasShown):
521 (WebInspector.TextEditorMainPanel.prototype.willHide):
522 (WebInspector.TextEditorMainPanel.prototype._renderRanges):
523 (WebInspector.TextEditorMainPanel.prototype._renderWhitespaceCharsWithFixedSizeSpans):
524 (WebInspector.TextEditorMainPanel.prototype._paintLine):
525 * inspector/front-end/Settings.js:
526 * inspector/front-end/SettingsScreen.js:
527 (WebInspector.GenericSettingsTab):
528 * inspector/front-end/inspectorSyntaxHighlight.css:
529 (.webkit-whitespace-1::before):
530 (.webkit-whitespace-2::before):
531 (.webkit-whitespace-4::before):
532 (.webkit-whitespace-8::before):
533 (.webkit-whitespace-16::before):
534 (.webkit-whitespace::before):
536 2013-02-08 Eric Carlson <eric.carlson@apple.com>
538 [Mac] respect in-band caption color
539 https://bugs.webkit.org/show_bug.cgi?id=109203
541 Reviewed by Dean Jackson.
543 Test: media/track/track-in-band-style.html
545 * WebCore.xcodeproj/project.pbxproj: Add HTMLDivElement.h to private headers because it is
546 included by HTMLTextElement, which is included by HTMLMediaElement.h, which is included
547 by files in WebKit/WebKit2.
548 * html/track/InbandTextTrack.cpp:
549 (WebCore::InbandTextTrack::addGenericCue): Set cue colors if necessary.
551 * html/track/TextTrackCue.h:
552 (WebCore::TextTrackCue::element): New, accessor for the cue element so it can be styled.
554 * html/track/TextTrackCueGeneric.cpp:
555 (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set container and cue background
557 (WebCore::TextTrackCueGeneric::operator==): Compare cue colors.
558 * html/track/TextTrackCueGeneric.h:
559 (WebCore::TextTrackCueGeneric::foregroundColor): Add color accessors.
560 (WebCore::TextTrackCueGeneric::setForegroundColor):
561 (WebCore::TextTrackCueGeneric::backgroundColor):
562 (WebCore::TextTrackCueGeneric::setBackgroundColor):
564 * page/CaptionUserPreferencesMac.mm:
565 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Always
566 regenerate override CSS when an element registers for callbacks.
567 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Drive by fix of "window color" padding.
568 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Log the stylesheet generated
569 for easier debugging.
571 * platform/graphics/InbandTextTrackPrivateClient.h:
572 (WebCore::GenericCueData::foregroundColor): Add color getters/setters.
573 (WebCore::GenericCueData::setForegroundColor):
574 (WebCore::GenericCueData::backgroundColor):
575 (WebCore::GenericCueData::setBackgroundColor):
577 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
578 (WebCore::makeRGBA32FromARGBCFArray): Initialize a RGBA32 from a CFArray of color values.
579 (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process cue colors.
581 2013-02-08 Benjamin Poulain <bpoulain@apple.com>
583 Move workerThreadCount from TestRunner to WebCore Internals
584 https://bugs.webkit.org/show_bug.cgi?id=109239
586 Reviewed by Darin Adler.
588 Add the new read-only property workerThreadCount.
590 * testing/Internals.cpp:
591 (WebCore::Internals::workerThreadCount):
593 * testing/Internals.h:
595 * testing/Internals.idl:
597 2013-02-08 Dean Jackson <dino@apple.com>
599 Snapshotted plug-in should use shadow root
600 https://bugs.webkit.org/show_bug.cgi?id=108284
602 Reviewed by Simon Fraser.
604 Take two! This time with updated exports file.
606 A snapshotted plugin needs to indicate to the user that it can be clicked
607 to be restarted. Previously this was done with an image that had embedded
608 text. Instead, we now use an internal shadow root to embed some markup that
609 will display instructions that can be localised.
611 The UA stylesheet for plug-ins provides a default styling for the label, which
612 can be overridden by ports.
614 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
615 since it is only responsible for drawing a paused plug-in. The snapshot creation
616 can work with the default renderer, but a shadow root requires something like
617 RenderBlock in order to draw its children. We swap from one renderer to another when
618 necessary either by creating the shadow root or by explicitly detaching and attaching
621 Unfortunately this is difficult to test, because the snapshotting requires
622 time to execute, and also a PluginView to be instantiated.
624 * WebCore.exp.in: Export the InlineBox interface.
627 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
629 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
630 * platform/LocalizedStrings.h:
631 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
632 * platform/chromium/LocalizedStringsChromium.cpp:
633 * platform/efl/LocalizedStringsEfl.cpp:
634 * platform/gtk/LocalizedStringsGtk.cpp:
635 * platform/qt/LocalizedStringsQt.cpp:
637 * html/HTMLPlugInElement.cpp:
638 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
639 that RenderSnapshottedPlugIn no longer is an embedded object.
641 * html/HTMLPlugInImageElement.cpp:
642 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
643 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
644 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
645 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
646 a renderer, otherwise use the typical plug-in path.
647 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
648 need to give it to the renderer.
649 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
650 * html/HTMLPlugInImageElement.h:
651 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
652 should show immediately.
653 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
654 to swap to the Shadow Root.
655 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
656 in being recreated. Make sure we reattach so that a plugin renderer will be created.
657 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
658 displayState for snapshots.
659 * html/HTMLPlugInImageElement.h:
660 (HTMLPlugInImageElement): The new methods listed above.
661 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
662 a snapshot should be immediately labeled.
664 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
666 * rendering/RenderSnapshottedPlugIn.cpp:
667 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
668 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
669 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
670 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
671 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
672 (WebCore::RenderSnapshottedPlugIn::getCursor):
673 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
674 * rendering/RenderSnapshottedPlugIn.h:
675 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
677 2013-02-08 Dean Jackson <dino@apple.com>
679 Rolling out r142333 and r142337 which broke Mac Release builds.
681 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
683 Unreviewed, rolling out r142337.
684 http://trac.webkit.org/changeset/142337
685 https://bugs.webkit.org/show_bug.cgi?id=109339
687 Breaking Mac release builds (Requested by dino_ on #webkit).
689 * rendering/RenderSnapshottedPlugIn.h:
691 2013-02-08 Dean Jackson <dino@apple.com>
693 Attempted Mac and GTK build fix after r142333.
695 * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
697 2013-02-08 Andy Estes <aestes@apple.com>
699 Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
700 https://bugs.webkit.org/show_bug.cgi?id=109277
702 Reviewed by Simon Fraser.
704 Test: fast/flexbox/line-clamp-link-after-ellipsis.html
706 Roll out r118852. Enough time has passed that this can't be done
707 mechanically, so transcribe the old method definition to current
710 * rendering/EllipsisBox.cpp:
711 (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
712 m_markupBox, so break the logic for finding the markup box from
713 paintMarkupBox() into its own function.
714 (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
715 (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
716 * rendering/EllipsisBox.h:
717 (EllipsisBox): Declare markupBox().
719 2013-02-08 Eric Carlson <eric.carlson@apple.com>
721 [Mac] In-band closed caption tracks are not always initialized correctly
722 https://bugs.webkit.org/show_bug.cgi?id=109323
724 Reviewed by Dean Jackson.
726 No new tests, this fix makes existing tests less flakey.
728 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
729 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
730 here instad of in tracksChanged.
731 (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
732 in-band track support.
733 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to
734 createAVPlayerItem, don't set look at track media type to see if the movie has captions
735 when we have support for in-band captions.
737 2013-02-08 Dean Jackson <dino@apple.com>
739 Snapshotted plug-in should use shadow root
740 https://bugs.webkit.org/show_bug.cgi?id=108284
742 Reviewed by Simon Fraser.
744 A snapshotted plugin needs to indicate to the user that it can be clicked
745 to be restarted. Previously this was done with an image that had embedded
746 text. Instead, we now use an internal shadow root to embed some markup that
747 will display instructions that can be localised.
749 The UA stylesheet for plug-ins provides a default styling for the label, which
750 can be overridden by ports.
752 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
753 since it is only responsible for drawing a paused plug-in. The snapshot creation
754 can work with the default renderer, but a shadow root requires something like
755 RenderBlock in order to draw its children. We swap from one renderer to another when
756 necessary either by creating the shadow root or by explicitly detaching and attaching
759 Unfortunately this is difficult to test, because the snapshotting requires
760 time to execute, and also a PluginView to be instantiated.
763 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
765 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
766 * platform/LocalizedStrings.h:
767 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
768 * platform/chromium/LocalizedStringsChromium.cpp:
769 * platform/efl/LocalizedStringsEfl.cpp:
770 * platform/gtk/LocalizedStringsGtk.cpp:
771 * platform/qt/LocalizedStringsQt.cpp:
773 * html/HTMLPlugInElement.cpp:
774 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
775 that RenderSnapshottedPlugIn no longer is an embedded object.
777 * html/HTMLPlugInImageElement.cpp:
778 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
779 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
780 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
781 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
782 a renderer, otherwise use the typical plug-in path.
783 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
784 need to give it to the renderer.
785 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
786 * html/HTMLPlugInImageElement.h:
787 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
788 should show immediately.
789 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
790 to swap to the Shadow Root.
791 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
792 in being recreated. Make sure we reattach so that a plugin renderer will be created.
793 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
794 displayState for snapshots.
795 * html/HTMLPlugInImageElement.h:
796 (HTMLPlugInImageElement): The new methods listed above.
797 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
798 a snapshot should be immediately labeled.
800 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
802 * rendering/RenderSnapshottedPlugIn.cpp:
803 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
804 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
805 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
806 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
807 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
808 (WebCore::RenderSnapshottedPlugIn::getCursor):
809 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
810 * rendering/RenderSnapshottedPlugIn.h:
811 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
813 2013-02-08 Kentaro Hara <haraken@chromium.org>
815 {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
816 https://bugs.webkit.org/show_bug.cgi?id=109265
818 Reviewed by Dimitri Glazkov.
820 Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
821 We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
823 No tests. No change in behavior.
825 * dom/EventDispatchMediator.cpp:
826 * dom/EventDispatchMediator.h:
827 * dom/FocusEvent.cpp:
828 (WebCore::FocusEventDispatchMediator::create):
830 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
831 (WebCore::FocusEventDispatchMediator::dispatchEvent):
832 (WebCore::BlurEventDispatchMediator::create):
833 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
834 (WebCore::BlurEventDispatchMediator::dispatchEvent):
835 (WebCore::FocusInEventDispatchMediator::create):
836 (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
837 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
838 (WebCore::FocusOutEventDispatchMediator::create):
839 (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
840 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
843 (FocusEventDispatchMediator):
844 (BlurEventDispatchMediator):
845 (FocusInEventDispatchMediator):
846 (FocusOutEventDispatchMediator):
850 2013-02-08 Jer Noble <jer.noble@apple.com>
852 Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
854 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
855 (WebCore::notificationName):
857 2013-02-08 Jer Noble <jer.noble@apple.com>
859 Bring WebKit up to speed with latest Encrypted Media spec.
860 https://bugs.webkit.org/show_bug.cgi?id=97037
862 Reviewed by Eric Carlson.
864 The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
865 HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
866 has been pulled out of the media element, we create a proxy CDM class and factory system for
867 creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
868 into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
869 keymessage events, respectively.
871 Tests: media/encrypted-media/encrypted-media-v2-events.html
872 media/encrypted-media/encrypted-media-v2-syntax.html
874 CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
875 implementation is registered with the CDMFactory and will be created if that implementation supports
876 the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
877 by concrete CDMPrivate subclasses. Its lifetime is owned by MediaKeySession.
878 * Modules/encryptedmedia/CDM.cpp: Added.
879 (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
880 (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
881 (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
882 (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
883 (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
884 (WebCore::CDM::create): Simple constructor wrapper.
885 (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
886 (WebCore::CDM::~CDM): Simple destructor.
887 (WebCore::CDM::createSession): Creates a new CDMSession.
888 * Modules/encryptedmedia/CDM.h: Added.
889 (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
890 (WebCore::CDMSession::CDMSession): Simple constructor.
891 (WebCore::CDMSession::~CDMSession): Simple destructor.
892 * Modules/encryptedmedia/CDMPrivate.h: Added.
893 (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
894 (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
896 The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
897 the original MediaKeyMessageEvent.
898 * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
899 (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
901 (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
902 (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
903 (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
904 * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
905 (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
906 (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
907 (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
908 * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
909 * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
910 (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
911 (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
912 (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
913 (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
914 * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
915 (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
916 (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
917 * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
919 MediaKeySession is a new class that maps keys and key requests to a given session ID:
920 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
921 (WebCore::MediaKeySession::create): Simple construction wrapper.
922 (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
923 (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
924 (WebCore::MediaKeySession::setError): Simple setter for m_error;
925 (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
926 (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
927 (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
928 (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
929 (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
930 * Modules/encryptedmedia/MediaKeySession.h: Added.
931 (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
932 (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
933 (WebCore::MediaKeySession::error): Simple accessor for m_error;
934 * Modules/encryptedmedia/MediaKeySession.idl:
936 MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
937 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
938 (WebCore::MediaKeySession::interfaceName):
939 * Modules/encryptedmedia/MediaKeySession.h: Added.
940 (WebCore::MediaKeySession::refEventTarget):
941 (WebCore::MediaKeySession::derefEventTarget):
942 (WebCore::MediaKeySession::eventTargetData):
943 (WebCore::MediaKeySession::ensureEventTargetData):
944 (WebCore::MediaKeySession::scriptExecutionContext):
946 MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
947 * Modules/encryptedmedia/MediaKeys.cpp: Added.
948 (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
949 and a new MediaKeys session.
950 (WebCore::MediaKeys::MediaKeys): Simple constructor.
951 (WebCore::MediaKeys::~MediaKeys): Simple destructor.
952 (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
953 * Modules/encryptedmedia/MediaKeys.h: Added.
954 * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
956 Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
957 * html/HTMLMediaElement.cpp:
958 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
959 * platform/graphics/MediaPlayer.cpp:
960 (WebCore::MediaPlayer::keyNeeded):
962 MediaKeyError now has a systemCode parameter and member variable.
963 * html/MediaKeyError.h:
964 (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
965 (WebCore::MediaKeyError::MediaKeyError): Ditto.
966 (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
967 * html/MediaKeyError.idl:
969 Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
970 for the MediaKeyNeededEvent.
971 * html/HTMLMediaElement.cpp:
972 (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
973 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
974 than the deprecated version.
975 * html/HTMLMediaElement.h:
976 (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
977 * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
979 Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
981 * html/MediaError.idl:
982 * platform/graphics/MediaPlayer.cpp:
983 (WebCore::bestMediaEngineForTypeAndCodecs):
984 (WebCore::MediaPlayer::supportsType):
985 * platform/graphics/MediaPlayer.h:
986 (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
989 Support the new version of canPlayType which takes an extra parameter:
990 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
991 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
992 (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
993 (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
994 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
995 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
996 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
997 (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
999 Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
1001 * testing/Internals.cpp:
1002 (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
1003 * testing/Internals.h:
1004 * testing/Internals.idl: Add the initializeMockCDM() method.
1005 * testing/MockCDM.cpp: Added.
1006 (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
1007 (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
1008 (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
1009 (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
1010 (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
1011 (WebCore::generateSessionId): Return a monotonically increasing number.
1012 (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
1013 (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
1014 (WebCore::MockCDMSession::releaseKeys): No-op.
1015 (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
1016 * testing/MockCDM.h: Added.
1017 (WebCore::MockCDM::create):
1018 (WebCore::MockCDM::~MockCDM): Simple destructor.
1019 (WebCore::MockCDM::MockCDM): Simple constructor.
1021 Add the new classes to the built system:
1022 * Configurations/FeatureDefines.xcconfig:
1023 * DerivedSources.make:
1025 * WebCore.xcodeproj/project.pbxproj:
1027 Miscelaneous changes:
1028 * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
1029 * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
1030 * page/DOMWindow.idl: Add constructors for the new classes to the window object.
1032 2013-02-08 Chris Fleizach <cfleizach@apple.com>
1034 Refactor platform-specific code in SpeechSynthesis
1035 https://bugs.webkit.org/show_bug.cgi?id=107414
1037 Reviewed by Sam Weinig.
1039 Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
1041 * Modules/speech/DOMWindowSpeechSynthesis.cpp:
1042 (WebCore::DOMWindowSpeechSynthesis::from):
1043 * Modules/speech/SpeechSynthesis.cpp:
1044 (WebCore::SpeechSynthesis::SpeechSynthesis):
1046 (WebCore::SpeechSynthesis::voicesDidChange):
1047 (WebCore::SpeechSynthesis::getVoices):
1048 (WebCore::SpeechSynthesis::pending):
1049 (WebCore::SpeechSynthesis::speaking):
1050 (WebCore::SpeechSynthesis::paused):
1051 (WebCore::SpeechSynthesis::speak):
1052 (WebCore::SpeechSynthesis::cancel):
1053 (WebCore::SpeechSynthesis::pause):
1054 (WebCore::SpeechSynthesis::resume):
1055 * Modules/speech/SpeechSynthesis.h:
1058 (WebCore::SpeechSynthesis::didStartSpeaking):
1059 (WebCore::SpeechSynthesis::didFinishSpeaking):
1060 (WebCore::SpeechSynthesis::speakingErrorOccurred):
1061 * Modules/speech/SpeechSynthesisUtterance.cpp:
1062 (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1063 * Modules/speech/SpeechSynthesisUtterance.h:
1064 (WebCore::SpeechSynthesisUtterance::text):
1065 (WebCore::SpeechSynthesisUtterance::setText):
1066 (WebCore::SpeechSynthesisUtterance::lang):
1067 (WebCore::SpeechSynthesisUtterance::setLang):
1068 (WebCore::SpeechSynthesisUtterance::voiceURI):
1069 (WebCore::SpeechSynthesisUtterance::setVoiceURI):
1070 (WebCore::SpeechSynthesisUtterance::volume):
1071 (WebCore::SpeechSynthesisUtterance::setVolume):
1072 (WebCore::SpeechSynthesisUtterance::rate):
1073 (WebCore::SpeechSynthesisUtterance::setRate):
1074 (WebCore::SpeechSynthesisUtterance::pitch):
1075 (WebCore::SpeechSynthesisUtterance::setPitch):
1076 (SpeechSynthesisUtterance):
1077 (WebCore::SpeechSynthesisUtterance::platformUtterance):
1078 * Modules/speech/SpeechSynthesisVoice.cpp:
1079 (WebCore::SpeechSynthesisVoice::create):
1080 (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
1081 * Modules/speech/SpeechSynthesisVoice.h:
1082 (SpeechSynthesisVoice):
1083 (WebCore::SpeechSynthesisVoice::voiceURI):
1084 (WebCore::SpeechSynthesisVoice::name):
1085 (WebCore::SpeechSynthesisVoice::lang):
1086 (WebCore::SpeechSynthesisVoice::localService):
1087 (WebCore::SpeechSynthesisVoice::isDefault):
1088 * Modules/speech/mac/SpeechSynthesisMac.mm:
1089 * WebCore.xcodeproj/project.pbxproj:
1090 * platform/PlatformSpeechSynthesis.h: Added.
1092 (PlatformSpeechSynthesis):
1093 * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
1095 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
1096 * platform/PlatformSpeechSynthesisUtterance.h: Added.
1098 (PlatformSpeechSynthesisUtteranceClient):
1099 (WebCore::PlatformSpeechSynthesisUtteranceClient::~PlatformSpeechSynthesisUtteranceClient):
1100 (PlatformSpeechSynthesisUtterance):
1101 (WebCore::PlatformSpeechSynthesisUtterance::text):
1102 (WebCore::PlatformSpeechSynthesisUtterance::setText):
1103 (WebCore::PlatformSpeechSynthesisUtterance::lang):
1104 (WebCore::PlatformSpeechSynthesisUtterance::setLang):
1105 (WebCore::PlatformSpeechSynthesisUtterance::voiceURI):
1106 (WebCore::PlatformSpeechSynthesisUtterance::setVoiceURI):
1107 (WebCore::PlatformSpeechSynthesisUtterance::volume):
1108 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
1109 (WebCore::PlatformSpeechSynthesisUtterance::rate):
1110 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
1111 (WebCore::PlatformSpeechSynthesisUtterance::pitch):
1112 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
1113 * platform/PlatformSpeechSynthesisVoice.cpp: Added.
1115 (WebCore::PlatformSpeechSynthesisVoice::create):
1116 (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
1117 * platform/PlatformSpeechSynthesisVoice.h: Added.
1119 (PlatformSpeechSynthesisVoice):
1120 (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
1121 (WebCore::PlatformSpeechSynthesisVoice::name):
1122 (WebCore::PlatformSpeechSynthesisVoice::lang):
1123 (WebCore::PlatformSpeechSynthesisVoice::localService):
1124 (WebCore::PlatformSpeechSynthesisVoice::isDefault):
1125 * platform/PlatformSpeechSynthesizer.cpp: Added.
1127 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1128 * platform/PlatformSpeechSynthesizer.h: Added.
1130 (PlatformSpeechSynthesizerClient):
1131 (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
1132 (PlatformSpeechSynthesizer):
1133 (WebCore::PlatformSpeechSynthesizer::voiceList):
1134 * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
1136 (WebCore::PlatformSpeechSynthesis::create):
1137 (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
1138 (WebCore::PlatformSpeechSynthesis::platformSpeak):
1139 * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
1141 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1142 (WebCore::PlatformSpeechSynthesizer::speak):
1144 2013-02-08 Dean Jackson <dino@apple.com>
1146 Put snapshotting label text into localizable strings
1147 https://bugs.webkit.org/show_bug.cgi?id=108268
1149 Reviewed by Simon Fraser.
1151 In preparation for a snapshotted plug-in using a ShadowRoot, allow
1152 its label to be localized.
1154 * English.lproj/Localizable.strings:
1155 * platform/LocalizedStrings.cpp:
1156 (WebCore::snapshottedPlugInLabelTitle): New method for returning title.
1157 (WebCore::snapshottedPlugInLabelSubtitle): New method for returning subtitle.
1158 * platform/LocalizedStrings.h:
1160 2013-02-08 Dean Jackson <dino@apple.com>
1162 Do not register autostart for plugins from file:// (or nowhere)
1163 https://bugs.webkit.org/show_bug.cgi?id=108271
1165 Reviewed by Tim Horton.
1167 If the page url origin is treated as a local URL, don't attempt
1168 to add it to the auto-start list.
1170 * html/HTMLPlugInImageElement.cpp:
1171 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
1173 2013-02-08 Adam Barth <abarth@webkit.org>
1175 Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
1176 https://bugs.webkit.org/show_bug.cgi?id=107190
1178 Reviewed by Eric Seidel.
1180 This patch replaces the parser map with WeakPtr. We now use WeakPtrs to
1181 communicate from the main thread to the background thread. (We were
1182 already using WeakPtrs to communicate from the background thread to the
1183 main thread.) This change lets us remove a bunch of boilerplate code.
1185 * html/parser/BackgroundHTMLParser.cpp:
1186 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1187 (WebCore::BackgroundHTMLParser::stop):
1189 * html/parser/BackgroundHTMLParser.h:
1190 (WebCore::BackgroundHTMLParser::create):
1191 (BackgroundHTMLParser):
1192 * html/parser/HTMLDocumentParser.cpp:
1193 (WebCore::HTMLDocumentParser::didFailSpeculation):
1194 (WebCore::HTMLDocumentParser::startBackgroundParser):
1195 (WebCore::HTMLDocumentParser::stopBackgroundParser):
1196 (WebCore::HTMLDocumentParser::append):
1197 (WebCore::HTMLDocumentParser::finish):
1198 * html/parser/HTMLDocumentParser.h:
1200 (HTMLDocumentParser):
1202 2013-02-07 Roger Fong <roger_fong@apple.com>
1204 VS2010 WebCore TestSupport project.
1205 https://bugs.webkit.org/show_bug.cgi?id=107034.
1207 Reviewed by Brent Fulgham.
1209 * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
1210 * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
1212 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
1214 [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
1215 https://bugs.webkit.org/show_bug.cgi?id=109304
1217 Reviewed by Gustavo Noronha Silva.
1219 This patch cleans up GraphicsLayerActor functions by using new clutter apis
1220 and makes existing functions simple & readable.
1222 No new tests since no change in functionality
1224 * platform/graphics/clutter/GraphicsLayerActor.cpp:
1225 (_GraphicsLayerActorPrivate):
1226 (graphicsLayerActorApplyTransform):
1227 (graphicsLayerActorPaint):
1228 (graphicsLayerActorDraw):
1229 (graphicsLayerActorUpdateTexture):
1230 (drawLayerContents):
1231 (graphicsLayerActorNew):
1232 (graphicsLayerActorInvalidateRectangle):
1233 (graphicsLayerActorSetTransform):
1234 (graphicsLayerActorSetAnchorPoint):
1235 (graphicsLayerActorGetAnchorPoint):
1236 (graphicsLayerActorSetScrollPosition):
1237 * platform/graphics/clutter/PlatformClutterAnimation.h:
1239 2013-02-08 Harald Alvestrand <hta@google.com>
1241 Fix and test for missing return statement
1243 RTCPeerConnection.getStats() failed when remote stats were instantiated.
1244 https://bugs.webkit.org/show_bug.cgi?id=109292
1246 Reviewed by Adam Barth.
1248 Tested by extending the existing mock's behaviour.
1250 * Modules/mediastream/RTCStatsReport.cpp:
1251 (WebCore::RTCStatsReport::addElement):
1253 2013-02-08 Anton Vayvod <avayvod@chromium.org>
1255 [Text Autosizing] Split isAutosizingCluster into three independent checks
1256 https://bugs.webkit.org/show_bug.cgi?id=109093
1258 Refactoring to create more flexible version of isAutosizingCluster since there're more types
1259 of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
1260 and the one that doesn't depend on the parent cluster.
1262 Reviewed by Kenneth Rohde Christiansen.
1264 Refactoring, no test changes.
1266 * rendering/TextAutosizer.cpp:
1268 (WebCore::TextAutosizer::isNarrowDescendant):
1270 Separate check for the container to be of the narrow-descendant type. Was a part of
1271 isAutosizingCluster().
1273 (WebCore::TextAutosizer::isWiderDescendant):
1275 Separate check for the container to be of the wider-descendant type. Was a part of
1276 isAutosizingCluster().
1278 (WebCore::TextAutosizer::isIndependentDescendant):
1280 Separate check for the container to be autosized separately from the ancestor cluster.
1281 Checks for conditions independent of the aforementioned cluster.
1283 (WebCore::TextAutosizer::isAutosizingCluster):
1285 Handy method to check all separate conditions together.
1287 (WebCore::TextAutosizer::processSubtree):
1288 (WebCore::TextAutosizer::processCluster):
1289 (WebCore::TextAutosizer::processContainer):
1290 (WebCore::TextAutosizer::clusterShouldBeAutosized):
1291 (WebCore::TextAutosizer::measureDescendantTextWidth):
1292 (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
1294 The methods above were updated to use new functions/arguments.
1296 * rendering/TextAutosizer.h:
1298 Updated/added method definitions.
1300 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
1302 Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
1303 https://bugs.webkit.org/show_bug.cgi?id=109301
1305 Reviewed by Alexander Pavlov.
1307 * inspector/front-end/ExtensionServer.js:
1308 (WebInspector.ExtensionServer.prototype._onGetPageResources):
1310 2013-02-04 Yury Semikhatsky <yurys@chromium.org>
1312 Web Inspector: simplify Memory.getDOMNodeCount implementation
1313 https://bugs.webkit.org/show_bug.cgi?id=108821
1315 Reviewed by Alexander Pavlov.
1317 Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
1318 should be used instead.
1320 * inspector/Inspector.json:
1321 * inspector/InspectorMemoryAgent.cpp:
1322 * inspector/InspectorMemoryAgent.h:
1323 (InspectorMemoryAgent):
1325 2013-02-08 Yury Semikhatsky <yurys@chromium.org>
1327 Web Inspector: refactor MemoryStatistics.js
1328 https://bugs.webkit.org/show_bug.cgi?id=109299
1330 Reviewed by Vsevolod Vlasov.
1332 Extracted functionality specific to DOM counter graphs drawing into
1333 separate methods on MemoryStatistics class.
1334 Introduced CounterUIBase base class for DOMCounterUI that contains
1335 functionality which can be shared with native memory graph.
1337 * inspector/front-end/MemoryStatistics.js:
1338 (WebInspector.MemoryStatistics):
1339 (WebInspector.CounterUIBase):
1340 (WebInspector.CounterUIBase.prototype.updateCurrentValue):
1341 (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
1342 (WebInspector.CounterUIBase.prototype.get visible):
1343 (WebInspector.DOMCounterUI):
1344 (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
1345 (WebInspector.MemoryStatistics.prototype._onMouseOut):
1346 (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
1347 (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1348 (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
1349 (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
1350 (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
1351 (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
1352 (WebInspector.MemoryStatistics.prototype._drawMarker):
1353 (WebInspector.MemoryStatistics.prototype._clear):
1354 (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
1356 2013-02-08 Mike West <mkwst@chromium.org>
1358 Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
1359 https://bugs.webkit.org/show_bug.cgi?id=108771
1361 Reviewed by Eric Seidel.
1363 In cases where the ExceptionCode passed into a function is completely
1364 ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
1365 makes our expectations about possible exceptions (or lack thereof)
1366 explicit, rather than relying on implicit assumptions about whether a
1367 variable is intentionally uninitialized or not. It also removes
1368 knowledge about the internals of ExceptionCodes (that they're currently
1369 ints, for instance) from code that shouldn't care, which will help with
1370 future refactorings.
1372 The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
1373 shouldn't have any visible effect on the web. As long as all the
1374 current tests pass, we're good.
1376 * Modules/indexeddb/IDBRequest.cpp:
1377 (WebCore::IDBRequest::dispatchEvent):
1378 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
1379 * Modules/indexeddb/IDBTransaction.cpp:
1380 (WebCore::IDBTransaction::stop):
1381 * Modules/websockets/WebSocketChannel.cpp:
1382 (WebCore::WebSocketChannel::processBuffer):
1384 (WebCore::Document::processHttpEquiv):
1385 * dom/ExceptionCodePlaceholder.h:
1388 (WebCore::Node::normalize):
1390 (WebCore::Text::replaceWholeText):
1391 * editing/AlternativeTextController.cpp:
1392 (WebCore::AlternativeTextController::insertDictatedText):
1393 * editing/AppendNodeCommand.cpp:
1394 (WebCore::AppendNodeCommand::doApply):
1395 (WebCore::AppendNodeCommand::doUnapply):
1396 * editing/CompositeEditCommand.cpp:
1397 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
1398 * editing/DeleteFromTextNodeCommand.cpp:
1399 (WebCore::DeleteFromTextNodeCommand::doUnapply):
1400 * editing/Editor.cpp:
1401 (WebCore::dispatchEditableContentChangedEvents):
1402 (WebCore::Editor::applyEditingStyleToElement):
1403 * editing/EditorCommand.cpp:
1404 (WebCore::executeFormatBlock):
1405 * editing/FormatBlockCommand.cpp:
1406 (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
1407 * editing/InsertIntoTextNodeCommand.cpp:
1408 (WebCore::InsertIntoTextNodeCommand::doApply):
1409 (WebCore::InsertIntoTextNodeCommand::doUnapply):
1410 * editing/InsertListCommand.cpp:
1411 (WebCore::InsertListCommand::doApplyForSingleParagraph):
1412 * editing/InsertNodeBeforeCommand.cpp:
1413 (WebCore::InsertNodeBeforeCommand::doApply):
1414 (WebCore::InsertNodeBeforeCommand::doUnapply):
1415 * editing/RemoveCSSPropertyCommand.cpp:
1416 (WebCore::RemoveCSSPropertyCommand::doApply):
1417 (WebCore::RemoveCSSPropertyCommand::doUnapply):
1418 * editing/RemoveNodeCommand.cpp:
1419 (WebCore::RemoveNodeCommand::doApply):
1420 (WebCore::RemoveNodeCommand::doUnapply):
1421 * editing/ReplaceSelectionCommand.cpp:
1422 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1423 * editing/TextIterator.cpp:
1424 (WebCore::TextIterator::getLocationAndLengthFromRange):
1425 * editing/WrapContentsInDummySpanCommand.cpp:
1426 (WebCore::WrapContentsInDummySpanCommand::executeApply):
1427 (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1428 * editing/htmlediting.cpp:
1429 (WebCore::comparePositions):
1430 * editing/markup.cpp:
1431 (WebCore::highestAncestorToWrapMarkup):
1432 * html/FTPDirectoryDocument.cpp:
1433 (WebCore::FTPDirectoryDocumentParser::appendEntry):
1434 (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
1435 (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
1436 (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
1437 * html/HTMLMediaElement.cpp:
1438 (WebCore::HTMLMediaElement::rewind):
1439 (WebCore::HTMLMediaElement::returnToRealtime):
1440 (WebCore::HTMLMediaElement::playInternal):
1441 (WebCore::HTMLMediaElement::percentLoaded):
1442 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1443 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
1444 (WebCore::HTMLMediaElement::applyMediaFragmentURI):
1445 * html/HTMLOutputElement.cpp:
1446 (WebCore::HTMLOutputElement::setTextContentInternal):
1447 * html/HTMLSelectElement.cpp:
1448 (WebCore::HTMLSelectElement::remove):
1449 * html/HTMLTableElement.cpp:
1450 (WebCore::HTMLTableElement::createTHead):
1451 (WebCore::HTMLTableElement::deleteTHead):
1452 (WebCore::HTMLTableElement::createTFoot):
1453 (WebCore::HTMLTableElement::deleteTFoot):
1454 (WebCore::HTMLTableElement::createCaption):
1455 (WebCore::HTMLTableElement::deleteCaption):
1456 * html/HTMLTextAreaElement.cpp:
1457 (WebCore::HTMLTextAreaElement::setDefaultValue):
1458 * html/ImageDocument.cpp:
1459 (WebCore::ImageDocument::createDocumentStructure):
1460 * html/InputType.cpp:
1461 (WebCore::InputType::stepUpFromRenderer):
1462 * html/MediaController.cpp:
1463 (MediaController::bringElementUpToSpeed):
1464 (MediaController::asyncEventTimerFired):
1465 * html/MediaDocument.cpp:
1466 (WebCore::MediaDocumentParser::createDocumentStructure):
1467 (WebCore::MediaDocument::replaceMediaElementTimerFired):
1468 * html/PluginDocument.cpp:
1469 (WebCore::PluginDocumentParser::createDocumentStructure):
1470 * html/RangeInputType.cpp:
1471 (WebCore::RangeInputType::handleKeydownEvent):
1472 * html/TimeRanges.cpp:
1473 (TimeRanges::contain):
1474 (TimeRanges::nearest):
1475 * html/canvas/CanvasRenderingContext2D.cpp:
1476 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1477 * html/shadow/MediaControlElementTypes.cpp:
1478 (WebCore::MediaControlSeekButtonElement::seekTimerFired):
1479 * html/shadow/MediaControlElements.cpp:
1480 (WebCore::MediaControlPanelElement::setPosition):
1481 (WebCore::MediaControlPanelElement::resetPosition):
1482 (WebCore::MediaControlStatusDisplayElement::update):
1483 (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
1484 (WebCore::MediaControlTimelineElement::defaultEventHandler):
1485 * html/shadow/MediaControls.cpp:
1486 (WebCore::MediaControls::updateCurrentTimeDisplay):
1487 (WebCore::MediaControls::createTextTrackDisplay):
1488 * html/shadow/MediaControlsApple.cpp:
1489 (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
1490 * html/shadow/MediaControlsBlackBerry.cpp:
1491 (WebCore::MediaControlEmbeddedPanelElement::setPosition):
1492 (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
1493 (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
1494 (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
1495 * html/shadow/MediaControlsChromium.cpp:
1496 (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
1497 * html/track/InbandTextTrack.cpp:
1498 (WebCore::InbandTextTrack::addGenericCue):
1499 * inspector/InspectorCSSAgent.cpp:
1500 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1501 * inspector/InspectorHistory.cpp:
1502 (WebCore::InspectorHistory::markUndoableState):
1503 * inspector/InspectorResourceAgent.cpp:
1504 (WebCore::InspectorResourceAgent::replayXHR):
1505 * page/ContextMenuController.cpp:
1506 (WebCore::ContextMenuController::contextMenuItemSelected):
1507 * page/DOMWindow.cpp:
1508 (WebCore::didAddStorageEventListener):
1509 * page/DragController.cpp:
1510 (WebCore::documentFragmentFromDragData):
1511 * page/EventHandler.cpp:
1512 (WebCore::EventHandler::dispatchDragEvent):
1513 (WebCore::EventHandler::keyEvent):
1514 (WebCore::EventHandler::handleTextInputEvent):
1516 (WebCore::Page::findStringMatchingRanges):
1517 * platform/efl/RenderThemeEfl.cpp:
1518 (WebCore::RenderThemeEfl::paintMediaSliderTrack):
1519 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1520 (WebCore::MediaPlayerPrivate::percentLoaded):
1521 * platform/gtk/RenderThemeGtk.cpp:
1522 (WebCore::RenderThemeGtk::paintMediaSliderTrack):
1523 * platform/mac/PasteboardMac.mm:
1524 (WebCore::Pasteboard::getDataSelection):
1525 (WebCore::documentFragmentWithImageResource):
1526 (WebCore::Pasteboard::documentFragment):
1527 * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1528 (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
1529 (-[WebVideoFullscreenHUDWindowController setVolume:]):
1530 * platform/qt/RenderThemeQt.cpp:
1531 (WebCore::RenderThemeQt::paintMediaSliderTrack):
1532 * rendering/RenderNamedFlowThread.cpp:
1533 (WebCore::RenderNamedFlowThread::getRanges):
1534 * rendering/RenderThemeMac.mm:
1535 (WebCore::RenderThemeMac::paintMediaSliderTrack):
1536 * svg/SVGTRefElement.cpp:
1537 (WebCore::SVGTRefElement::detachTarget):
1538 * xml/XMLTreeViewer.cpp:
1539 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1540 * xml/parser/XMLDocumentParserLibxml2.cpp:
1541 (WebCore::XMLDocumentParser::endElementNs):
1542 * xml/parser/XMLDocumentParserQt.cpp:
1543 (WebCore::XMLDocumentParser::parseEndElement):
1545 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
1547 Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
1548 https://bugs.webkit.org/show_bug.cgi?id=109282
1550 Reviewed by Alexander Pavlov.
1552 SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
1553 This is the first step on the way to project-per-domain mode for non file system project types.
1554 Workspace is now partly aware of the possibility that several projects with the same type exist.
1555 Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
1557 * inspector/front-end/DefaultScriptMapping.js:
1558 (WebInspector.DefaultScriptMapping):
1559 (WebInspector.DefaultScriptMapping.prototype.addScript):
1560 * inspector/front-end/ExtensionServer.js:
1561 (WebInspector.ExtensionServer.prototype._onGetPageResources):
1562 * inspector/front-end/FileMapping.js:
1563 (WebInspector.FileMapping.prototype.uriForURL):
1564 * inspector/front-end/FileSystemWorkspaceProvider.js:
1565 (WebInspector.FileSystemWorkspaceProvider.prototype.type):
1566 * inspector/front-end/JavaScriptSourceFrame.js:
1567 (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
1568 * inspector/front-end/LiveEditSupport.js:
1569 (WebInspector.LiveEditSupport):
1570 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1571 * inspector/front-end/ScriptSnippetModel.js:
1572 (WebInspector.ScriptSnippetModel):
1573 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1574 * inspector/front-end/ScriptsNavigator.js:
1575 (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
1576 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
1577 (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
1578 (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1579 * inspector/front-end/ScriptsPanel.js:
1580 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1581 (WebInspector.ScriptsPanel.prototype._projectWillReset):
1582 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1583 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1584 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
1585 * inspector/front-end/SimpleWorkspaceProvider.js:
1586 (WebInspector.SimpleWorkspaceProvider):
1587 (WebInspector.SimpleWorkspaceProvider.uriForURL):
1588 (WebInspector.SimpleWorkspaceProvider.prototype.type):
1589 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
1590 (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
1591 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
1592 (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
1593 * inspector/front-end/Workspace.js:
1594 (WebInspector.WorkspaceProvider.prototype.type):
1595 (WebInspector.Project.prototype.type):
1596 (WebInspector.Project.prototype.isServiceProject):
1597 (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
1598 (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
1599 (WebInspector.Workspace.prototype.projectsForType):
1600 * inspector/front-end/inspector.js:
1602 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
1604 [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
1605 https://bugs.webkit.org/show_bug.cgi?id=109226
1607 Reviewed by Gustavo Noronha Silva.
1609 Clutter has a different coordinate system from mac port's, so we don't need to
1610 recalulate GraphicsLayer position after changing its anchor position.
1612 Covered by existing ac tests.
1614 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1615 (WebCore::GraphicsLayerClutter::updateGeometry):
1617 2013-02-08 Mike West <mkwst@chromium.org>
1619 Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
1620 https://bugs.webkit.org/show_bug.cgi?id=109266
1622 Reviewed by Jochen Eisinger.
1626 ExceptionCode ec = 0;
1627 methodThatGeneratesException(ec);
1630 is more clearly and succinctly written as:
1632 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1634 This patch replaces the occurances of the former in IDB code that never
1635 touch 'ec' again with the latter. No change in behavior should result
1636 from this refactoring.
1638 * Modules/indexeddb/IDBCursor.cpp:
1639 (WebCore::IDBCursor::advance):
1640 (WebCore::IDBCursor::continueFunction):
1641 (WebCore::IDBCursor::deleteFunction):
1642 These methods checked the value of the ExceptionCode without first
1643 initializing it to 0. Now the ExceptionCode is explicitly set to 0
1644 before doing potentially exception-generating work.
1645 (WebCore::IDBCursor::direction):
1646 * Modules/indexeddb/IDBObjectStore.cpp:
1648 * Modules/indexeddb/IDBTransaction.cpp:
1649 (WebCore::IDBTransaction::mode):
1650 Replace the above pattern with ASSERT_NO_EXCEPTION.
1652 2013-02-08 Mike West <mkwst@chromium.org>
1654 Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
1655 https://bugs.webkit.org/show_bug.cgi?id=109267
1657 Reviewed by Jochen Eisinger.
1661 ExceptionCode ec = 0;
1662 methodThatGeneratesException(ec);
1665 is more clearly and succinctly written as:
1667 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1669 This patch replaces the occurances of the former in SVG code that never
1670 touch 'ec' again with the latter. No change in behavior should result
1671 from this refactoring.
1673 * svg/SVGLength.cpp:
1674 (WebCore::SVGLength::SVGLength):
1675 (WebCore::SVGLength::setValue):
1676 This method checked the value of the ExceptionCode without first
1677 initializing it to 0. Now it initializes before doing potentially
1678 exception-generating work.
1679 * rendering/style/SVGRenderStyle.h:
1680 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
1681 (WebCore::SVGRenderStyle::initialKerning):
1682 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
1683 (WebCore::SVGRenderStyle::initialStrokeWidth):
1684 * svg/SVGAnimatedLength.cpp:
1685 (WebCore::sharedSVGLength):
1686 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
1687 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1688 * svg/SVGAnimatedLengthList.cpp:
1689 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1690 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1691 * svg/SVGTextContentElement.cpp:
1692 (WebCore::SVGTextContentElement::textLengthAnimated):
1693 * svg/animation/SVGSMILElement.cpp:
1694 (WebCore::constructQualifiedName):
1695 Replace the above pattern with ASSERT_NO_EXCEPTION.
1697 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
1699 Web Inspector: Replace workspace with project in UISourceCode constructor.
1700 https://bugs.webkit.org/show_bug.cgi?id=109256
1702 Reviewed by Alexander Pavlov.
1704 Replaced workspace with project in UISourceCode constructor since every UISourceCode
1705 operation is delegated to project anyway.
1707 * inspector/front-end/UISourceCode.js:
1708 (WebInspector.UISourceCode):
1709 (WebInspector.UISourceCode.prototype.project):
1710 (WebInspector.UISourceCode.prototype.requestContent):
1711 (WebInspector.UISourceCode.prototype.requestOriginalContent):
1712 (WebInspector.UISourceCode.prototype._commitContent):
1713 (WebInspector.UISourceCode.prototype.searchInContent):
1714 * inspector/front-end/Workspace.js:
1715 (WebInspector.Project.prototype._fileAdded):
1716 (WebInspector.Project.prototype.requestFileContent):
1717 (WebInspector.Project.prototype.setFileContent):
1718 (WebInspector.Project.prototype.searchInFileContent):
1720 2013-02-08 Patrick Gansterer <paroga@webkit.org>
1722 Build fix for Windows after r141981.
1724 * platform/network/win/ResourceHandleWin.cpp:
1725 (WebCore::ResourceHandle::loadResourceSynchronously):
1727 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
1729 Unreviewed, rolling out r141695 and r141697.
1730 http://trac.webkit.org/changeset/141695
1731 http://trac.webkit.org/changeset/141697
1732 https://bugs.webkit.org/show_bug.cgi?id=109279
1734 broke on-disk buffering for http(s) media (Requested by philn
1737 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1738 (WebCore::MediaPlayerPrivateGStreamer::load):
1739 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1740 (MediaPlayerPrivateGStreamer):
1741 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1742 (webKitWebSrcGetProtocols):
1743 (webKitWebSrcSetUri):
1745 2013-02-08 Dan Carney <dcarney@google.com>
1747 [v8] isolate parameter added to all v8::peristent calls
1748 https://bugs.webkit.org/show_bug.cgi?id=109268
1750 Reviewed by Kentaro Hara.
1752 No new tests. No change in functionality.
1754 * bindings/scripts/CodeGeneratorV8.pm:
1755 (GenerateDomainSafeFunctionGetter):
1756 (GenerateNamedConstructorCallback):
1757 (GenerateImplementation):
1758 * bindings/scripts/test/V8/V8Float64Array.cpp:
1759 (WebCore::V8Float64Array::GetRawTemplate):
1760 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1761 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1762 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
1763 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1764 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
1765 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1766 (WebCore::V8TestEventConstructor::GetRawTemplate):
1767 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1768 (WebCore::V8TestEventTarget::GetRawTemplate):
1769 * bindings/scripts/test/V8/V8TestException.cpp:
1770 (WebCore::V8TestException::GetRawTemplate):
1771 * bindings/scripts/test/V8/V8TestInterface.cpp:
1772 (WebCore::V8TestInterface::GetRawTemplate):
1773 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1774 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1775 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1776 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1777 (WebCore::V8TestNamedConstructor::GetRawTemplate):
1778 * bindings/scripts/test/V8/V8TestNode.cpp:
1779 (WebCore::V8TestNode::GetRawTemplate):
1780 * bindings/scripts/test/V8/V8TestObj.cpp:
1781 (WebCore::V8TestObj::GetRawTemplate):
1782 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1783 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
1784 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1785 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
1786 * bindings/v8/DOMWrapperMap.h:
1787 (WebCore::DOMWrapperMap::clear):
1788 * bindings/v8/DOMWrapperWorld.cpp:
1789 (WebCore::isolatedWorldWeakCallback):
1790 (WebCore::DOMWrapperWorld::makeContextWeak):
1791 * bindings/v8/NPV8Object.cpp:
1792 (WebCore::freeV8NPObject):
1793 (WebCore::npCreateV8ScriptObject):
1794 * bindings/v8/ScheduledAction.cpp:
1795 (WebCore::ScheduledAction::ScheduledAction):
1796 (WebCore::ScheduledAction::~ScheduledAction):
1797 * bindings/v8/ScopedPersistent.h:
1798 (WebCore::ScopedPersistent::ScopedPersistent):
1799 (WebCore::ScopedPersistent::set):
1800 (WebCore::ScopedPersistent::clear):
1801 * bindings/v8/ScriptWrappable.h:
1802 (WebCore::ScriptWrappable::setWrapper):
1803 (WebCore::ScriptWrappable::disposeWrapper):
1804 (WebCore::ScriptWrappable::weakCallback):
1805 * bindings/v8/V8Binding.cpp:
1806 (WebCore::createRawTemplate):
1807 * bindings/v8/V8Binding.h:
1809 * bindings/v8/V8GCController.cpp:
1811 (WebCore::V8GCController::gcPrologue):
1812 (WebCore::V8GCController::minorGCPrologue):
1813 * bindings/v8/V8GCController.h:
1815 * bindings/v8/V8HiddenPropertyName.cpp:
1816 (WebCore::V8HiddenPropertyName::createString):
1817 * bindings/v8/V8LazyEventListener.cpp:
1818 (WebCore::V8LazyEventListener::prepareListenerObject):
1819 * bindings/v8/V8NPObject.cpp:
1820 (WebCore::V8NPTemplateMap::dispose):
1821 (WebCore::npObjectGetProperty):
1822 (WebCore::createV8ObjectForNPObject):
1823 * bindings/v8/V8PerContextData.cpp:
1824 (WebCore::V8PerContextData::dispose):
1825 (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
1826 (WebCore::V8PerContextData::constructorForTypeSlowCase):
1827 * bindings/v8/V8ValueCache.cpp:
1828 (WebCore::makeExternalString):
1829 * bindings/v8/WrapperTypeInfo.h:
1830 (WebCore::WrapperConfiguration::configureWrapper):
1831 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1832 (WebCore::V8HTMLDocument::wrapInShadowObject):
1833 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1834 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1835 * bindings/v8/custom/V8InjectedScriptManager.cpp:
1836 (WebCore::WeakReferenceCallback):
1837 (WebCore::createInjectedScriptHostV8Wrapper):
1838 * bindings/v8/custom/V8LocationCustom.cpp:
1839 (WebCore::V8Location::reloadAccessorGetter):
1840 (WebCore::V8Location::replaceAccessorGetter):
1841 (WebCore::V8Location::assignAccessorGetter):
1843 2013-02-08 Kent Tamura <tkent@chromium.org>
1845 Adjust usage of ENABLE flags to enable whole content
1846 https://bugs.webkit.org/show_bug.cgi?id=109270
1848 Reviewed by Eric Seidel.
1850 Our common usage of ENABLE flags to enable whole content of files is:
1862 Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
1863 it generates the common pattern. Note that CodeGeneratorJS.pm already
1864 generates code in this order.
1866 * bindings/scripts/CodeGeneratorV8.pm:
1867 (GenerateHeaderContentHeader):
1868 (GenerateImplementationContentHeader):
1869 * bindings/scripts/test/V8/V8TestCallback.cpp:
1870 * bindings/scripts/test/V8/V8TestCallback.h:
1871 * bindings/scripts/test/V8/V8TestInterface.cpp:
1872 * bindings/scripts/test/V8/V8TestInterface.h:
1873 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1874 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1875 * html/BaseMultipleFieldsDateAndTimeInputType.h:
1876 * html/ColorInputType.cpp:
1877 * html/ColorInputType.h:
1878 * html/DateInputType.cpp:
1879 * html/DateTimeInputType.cpp:
1880 * html/DateTimeInputType.h:
1881 * html/DateTimeLocalInputType.cpp:
1882 * html/HTMLAudioElement.cpp:
1883 * html/HTMLAudioElement.h:
1884 * html/HTMLDataListElement.cpp:
1885 * html/HTMLDialogElement.cpp:
1886 * html/HTMLDialogElement.h:
1887 * html/HTMLMediaElement.cpp:
1888 * html/HTMLMediaElement.h:
1889 * html/HTMLMeterElement.cpp:
1890 * html/HTMLProgressElement.cpp:
1891 * html/HTMLSourceElement.cpp:
1892 * html/HTMLSourceElement.h:
1893 * html/HTMLTrackElement.cpp:
1894 * html/HTMLTrackElement.h:
1895 * html/HTMLVideoElement.cpp:
1896 * html/HTMLVideoElement.h:
1897 * html/MonthInputType.cpp:
1898 * html/TimeInputType.cpp:
1899 * html/WeekInputType.cpp:
1900 * html/shadow/DateTimeFieldElement.h:
1901 * html/shadow/DetailsMarkerControl.cpp:
1902 * html/shadow/MeterShadowElement.cpp:
1903 * html/shadow/ProgressShadowElement.cpp:
1904 * rendering/RenderDetailsMarker.cpp:
1905 * rendering/RenderInputSpeech.cpp:
1906 * rendering/RenderMeter.cpp:
1907 * rendering/RenderProgress.cpp:
1909 2013-02-08 Mike West <mkwst@chromium.org>
1911 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1912 https://bugs.webkit.org/show_bug.cgi?id=109044
1914 Reviewed by Darin Adler.
1918 ExceptionCode ec = 0;
1919 methodThatGeneratesException(ec);
1922 is more clearly and succinctly written as:
1924 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1926 This patch replaces the occurances of the former that never touch 'ec'
1927 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
1928 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
1929 where it does indeed matter that 'ec' get set properly.
1931 No change in behavior should result from this refactoring.
1933 * dom/ContainerNode.cpp:
1934 (WebCore::ContainerNode::takeAllChildrenFrom):
1936 (WebCore::Document::setTitle):
1937 * dom/MessagePort.cpp:
1938 (WebCore::MessagePort::dispatchMessages):
1939 (WebCore::MessagePort::disentanglePorts):
1940 * editing/DeleteButtonController.cpp:
1941 (WebCore::enclosingDeletableElement):
1942 (WebCore::DeleteButtonController::createDeletionUI):
1943 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1944 (WebCore::DeleteButtonController::show):
1945 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1946 * editing/EditorCommand.cpp:
1947 (WebCore::unionDOMRanges):
1948 * editing/ReplaceNodeWithSpanCommand.cpp:
1949 (WebCore::swapInNodePreservingAttributesAndChildren):
1950 * editing/ReplaceSelectionCommand.cpp:
1951 (WebCore::ReplacementFragment::ReplacementFragment):
1952 (WebCore::ReplacementFragment::removeNode):
1953 (WebCore::ReplacementFragment::insertNodeBefore):
1954 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1955 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1956 (WebCore::ReplaceSelectionCommand::insertAsListItems):
1957 * editing/SplitTextNodeCommand.cpp:
1958 (WebCore::SplitTextNodeCommand::doUnapply):
1959 * editing/TextIterator.cpp:
1960 (WebCore::CharacterIterator::range):
1961 (WebCore::BackwardsCharacterIterator::range):
1962 (WebCore::TextIterator::rangeFromLocationAndLength):
1963 (WebCore::collapsedToBoundary):
1964 * editing/htmlediting.cpp:
1965 (WebCore::createTabSpanElement):
1966 * editing/mac/EditorMac.mm:
1967 (WebCore::Editor::fontForSelection):
1968 (WebCore::Editor::fontAttributesForSelectionStart):
1969 * editing/markup.cpp:
1970 (WebCore::createMarkup):
1971 (WebCore::trimFragment):
1972 (WebCore::createFragmentFromMarkupWithContext):
1973 (WebCore::fillContainerFromString):
1974 (WebCore::createFragmentFromText):
1975 (WebCore::createFragmentFromNodes):
1976 * html/ColorInputType.cpp:
1977 (WebCore::ColorInputType::createShadowSubtree):
1978 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1979 * html/HTMLOptionsCollection.cpp:
1980 (WebCore::HTMLOptionsCollection::add):
1981 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1982 * html/HTMLTextAreaElement.cpp:
1983 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1984 * html/HTMLTextFormControlElement.cpp:
1985 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1986 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1987 * html/TextFieldInputType.cpp:
1988 (WebCore::TextFieldInputType::updatePlaceholderText):
1989 * html/ValidationMessage.cpp:
1990 (WebCore::ValidationMessage::buildBubbleTree):
1991 * html/shadow/MediaControlElementTypes.cpp:
1992 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1993 * inspector/InspectorPageAgent.cpp:
1994 (WebCore::InspectorPageAgent::getCookies):
1995 * inspector/InspectorStyleSheet.cpp:
1996 (WebCore::InspectorStyleSheet::addRule):
1997 * loader/appcache/ApplicationCacheHost.cpp:
1998 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1999 * page/DOMSelection.cpp:
2000 (WebCore::DOMSelection::deleteFromDocument):
2001 * page/DragController.cpp:
2002 (WebCore::prepareClipboardForImageDrag):
2003 * rendering/RenderTextControl.cpp:
2004 (WebCore::RenderTextControl::visiblePositionForIndex):
2005 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2007 2013-02-08 Alexei Filippov <alph@chromium.org>
2009 Web Inspector: disable profile type switching while profile in progress
2010 https://bugs.webkit.org/show_bug.cgi?id=109178
2012 Reviewed by Yury Semikhatsky.
2014 Disables profile type selection controls when a profiling session
2017 * inspector/front-end/HeapSnapshotView.js:
2018 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2019 * inspector/front-end/ProfileLauncherView.js:
2020 (WebInspector.ProfileLauncherView.prototype._updateControls):
2021 * inspector/front-end/ProfilesPanel.js:
2022 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2024 2013-02-08 Ilya Tikhonovsky <loislo@chromium.org>
2026 Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
2027 https://bugs.webkit.org/show_bug.cgi?id=109263
2029 Reviewed by Yury Semikhatsky.
2031 The chunk size is changed from 100 to 10000.
2032 addString counts only first 256 symbols of the string.o
2034 * inspector/HeapGraphSerializer.cpp:
2035 (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
2036 (WebCore::HeapGraphSerializer::addString):
2037 * inspector/front-end/NativeMemorySnapshotView.js:
2039 2013-02-08 Kentaro Hara <haraken@chromium.org>
2041 Support a relatedTarget attribute on focus/blur events
2042 https://bugs.webkit.org/show_bug.cgi?id=109176
2044 Reviewed by Ojan Vafai.
2046 In bug 76216, we supported a relatedTarget attribute on
2047 focusin/focusout events. We should also support it on focus/blur events.
2049 See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
2050 for the www-dom discussion.
2052 Test: fast/dom/shadow/shadow-boundary-events.html
2053 fast/events/related-target-focusevent.html
2055 * dom/EventDispatchMediator.cpp:
2056 (WebCore::FocusEventDispatchMediator::create):
2057 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2058 (WebCore::BlurEventDispatchMediator::create):
2059 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2060 * dom/EventDispatchMediator.h:
2061 (FocusEventDispatchMediator):
2062 (BlurEventDispatchMediator):
2064 (WebCore::Node::dispatchFocusInEvent):
2065 (WebCore::Node::dispatchFocusOutEvent):
2066 (WebCore::Node::dispatchFocusEvent):
2067 (WebCore::Node::dispatchBlurEvent):
2069 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
2071 Web Inspector: reduce number of native memory instrumentation categories
2072 https://bugs.webkit.org/show_bug.cgi?id=109146
2074 Reviewed by Pavel Feldman.
2076 Merged some of memory instrumentation categories.
2078 * dom/WebCoreMemoryInstrumentation.cpp:
2080 * inspector/front-end/NativeMemorySnapshotView.js:
2081 (WebInspector.MemoryBlockViewProperties._initialize):
2082 * platform/PlatformMemoryInstrumentation.cpp:
2085 2013-02-07 Mike West <mkwst@chromium.org>
2087 <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
2088 https://bugs.webkit.org/show_bug.cgi?id=87707
2090 Reviewed by Eric Seidel.
2092 Seamless documents currently render incorrectly when their content fills
2093 the width of the container into which they're placed. Because FrameView
2094 assumes that the container's size is properly set before the first pass
2095 of layout, vertical scrollbars are incorrectly forced onto seamless
2096 content, because seamless sets the container's height to 0 before
2097 handing it off to FrameView for layout. The scrollbars make the
2098 available width for the seamless document ~15px smaller than it should
2099 be, resulting in content getting bumped to the next line.
2101 This patch special-cases FrameView::calculateScrollbarModesForLayout in
2102 order to force scrollbars off for seamless documents with a full visible
2103 height of 0px. Once the layout pass has grabbed the content height and
2104 applied it to the visible height, scrollbars will again be applicable.
2106 The change should be covered by rebaselines for the newly-passing
2107 results in fast/frame/seamless-{float,inline}.html
2109 * page/FrameView.cpp:
2110 (WebCore::FrameView::calculateScrollbarModesForLayout):
2111 If we're rendering a seamless document, and the full visible height
2112 is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
2113 then force ScrollbarAlwaysOff.
2115 2013-02-07 Kent Tamura <tkent@chromium.org>
2117 document.activeElement should not return a non-focusable element
2118 https://bugs.webkit.org/show_bug.cgi?id=86707
2120 Reviewed by Hajime Morita.
2122 This is based on a patch by Arpita Bahuguna.
2124 Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
2127 (WebCore::Document::setFocusedNode):
2128 Added check for verifying that the node to be focused is
2129 focusable. However, this check should be skipped for HTMLPlugInElement
2130 because it has special behavior.
2132 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
2134 Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
2135 https://bugs.webkit.org/show_bug.cgi?id=109259
2137 Reviewed by Vsevolod Vlasov.
2139 * inspector/front-end/DOMBreakpointsSidebarPane.js:
2140 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
2141 * inspector/front-end/SidebarPane.js:
2143 2013-02-07 Kentaro Hara <haraken@chromium.org>
2145 [V8] enum V8HiddenPropertyCreationType is not used
2146 https://bugs.webkit.org/show_bug.cgi?id=109250
2148 Reviewed by Adam Barth.
2150 V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
2152 No tests. No change in behavior.
2154 * bindings/v8/V8HiddenPropertyName.cpp:
2155 (WebCore::hiddenReferenceName):
2156 * bindings/v8/V8HiddenPropertyName.h:
2159 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2161 Unreviewed, rolling out r142212.
2162 http://trac.webkit.org/changeset/142212
2163 https://bugs.webkit.org/show_bug.cgi?id=109255
2165 Causes ASSERT(!m_installed) on launch (Requested by smfr on
2169 * platform/MemoryPressureHandler.cpp:
2171 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2172 * platform/MemoryPressureHandler.h:
2173 (MemoryPressureHandler):
2174 * platform/mac/MemoryPressureHandlerMac.mm:
2175 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2177 2013-02-07 Hanyee Kim <choco@company100.net>
2179 NamedFlowCollection should be a ContextDestructionObserver
2180 https://bugs.webkit.org/show_bug.cgi?id=99239
2182 Reviewed by Adam Barth
2184 This patch removes the raw pointer of Document in NamedFlowCollection.
2185 It could be replaced with ContextDestructionObserver.
2186 ContextDestructionObserver has the pointer and clears the pointer
2187 automatically when the document is destroyed.
2190 (WebCore::Document::~Document):
2191 * dom/NamedFlowCollection.cpp:
2192 (WebCore::NamedFlowCollection::NamedFlowCollection):
2193 (WebCore::NamedFlowCollection::ensureFlowWithName):
2194 (WebCore::NamedFlowCollection::discardNamedFlow):
2195 (WebCore::NamedFlowCollection::document):
2197 * dom/NamedFlowCollection.h:
2198 (NamedFlowCollection):
2200 2013-02-07 Dean Jackson <dino@apple.com>
2202 Followup review suggestions from Alexey Proskuryakov on
2203 https://bugs.webkit.org/show_bug.cgi?id=109215
2205 Don't provide a charset on embedded SVG, especially
2206 with incorrect syntax :)
2208 * css/mediaControlsQuickTime.css:
2209 (video::-webkit-media-controls-toggle-closed-captions-button):
2210 (video::-webkit-media-controls-closed-captions-track-list li.selected):
2211 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
2213 2013-02-07 Seulgi Kim <seulgikim@company100.net>
2215 [Gtk] RunLoop::run shuold run current thread's run loop.
2216 https://bugs.webkit.org/show_bug.cgi?id=107887
2218 Reviewed by Martin Robinson.
2220 Currently, RunLoop in Gtk can use just main thread's event loop.
2221 But the other ports are implemented to use RunLoop in sub threads.
2223 This patch makes RunLoop constructor create new context, not use default
2225 But in the main thread still uses default context to use main event loop
2226 since there is some codes using glib directly (e.g. in
2227 LayerTreeHostGtk::scheduleLayerFlush).
2229 No new tests. There is no case that uses RunLoop in off the main thread
2232 * platform/gtk/RunLoopGtk.cpp:
2233 (WebCore::RunLoop::RunLoop):
2234 (WebCore::RunLoop::run):
2236 2013-02-07 Kentaro Hara <haraken@chromium.org>
2238 [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
2239 https://bugs.webkit.org/show_bug.cgi?id=109186
2241 Reviewed by Adam Barth.
2243 V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
2245 No tests. No change in behavior.
2247 * bindings/scripts/CodeGeneratorV8.pm:
2248 (GenerateNormalAttrGetter):
2249 * bindings/scripts/test/V8/V8TestObj.cpp:
2250 (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
2251 * bindings/v8/V8DOMWrapper.cpp:
2252 * bindings/v8/V8DOMWrapper.h:
2254 * bindings/v8/V8HiddenPropertyName.cpp:
2255 (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2256 (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
2258 * bindings/v8/V8HiddenPropertyName.h:
2259 (V8HiddenPropertyName):
2260 (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
2261 * bindings/v8/custom/V8MessageChannelCustom.cpp:
2262 (WebCore::V8MessageChannel::constructorCallbackCustom):
2263 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2264 (WebCore::toV8Object):
2266 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
2268 getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
2269 https://bugs.webkit.org/show_bug.cgi?id=106535
2271 Reviewed by Ojan Vafai.
2273 Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
2274 should use the PseudoElement and it's renderer if they exist so that
2275 querying the computed style while an animation is running returns
2276 the intermediate values.
2278 No new tests, updated existing tests.
2280 * css/CSSComputedStyleDeclaration.cpp:
2281 (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
2282 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
2283 * css/CSSComputedStyleDeclaration.h:
2284 (CSSComputedStyleDeclaration):
2286 (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
2287 * dom/ElementRareData.h:
2288 (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
2290 2013-02-07 Mark Lam <mark.lam@apple.com>
2292 Add a comment about how the SQLTransaction state machine works.
2293 https://bugs.webkit.org/show_bug.cgi?id=109243.
2295 Rubber stamped by Anders Carlsson.
2299 * Modules/webdatabase/SQLTransactionBackend.cpp:
2301 2013-02-06 Gavin Barraclough <barraclough@apple.com>
2303 PluginProcess should quit immediately if idle in response to low-memory notifications
2304 https://bugs.webkit.org/show_bug.cgi?id=109103
2305 <rdar://problem/12679827>
2307 Reviewed by Darin Adler.
2309 This patch allows a process to set a custom callback for low memory warnings
2310 (defaulting to the current behaviour, as implemented in releaseMemory).
2312 MemoryPressureHandler::install is currently used for two purposes - it is
2313 called when first initializing a low memory handler for a process, and also
2314 used to reinstall the handler (on a delay) after the notification has occured.
2315 Since reinstallation doesn't change the callback, split these behaviours out -
2316 MemoryPressureHandler::initialize is added to initialization, and accepts a
2317 custom callback, install in made private.
2320 - Added export for releaseMemory.
2321 * platform/MemoryPressureHandler.cpp:
2322 (WebCore::MemoryPressureHandler::releaseMemory):
2323 - Added null implementation for non-Mac builds.
2324 * platform/MemoryPressureHandler.h:
2325 (WebCore::MemoryPressureHandler::initialize):
2326 - distinguish initialization from reinstallations, allow handler to be set.
2327 (MemoryPressureHandler):
2328 - Added m_lowMemoryHandler function pointer member variable.
2329 * platform/mac/MemoryPressureHandlerMac.mm:
2330 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2331 - Call m_lowMemoryHandler instead of releaseMemory.
2333 2013-02-07 Kentaro Hara <haraken@chromium.org>
2335 [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
2336 https://bugs.webkit.org/show_bug.cgi?id=109167
2338 Reviewed by Andreas Kling.
2340 Given that assertContextHasCorrectPrototype() is anyway empty in a release
2341 build, we don't need to surround it with #ifndef NDEBUG.
2343 No tests. No change in behavior.
2345 * bindings/v8/DOMWrapperWorld.cpp:
2346 (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
2347 * bindings/v8/DOMWrapperWorld.h:
2349 (WebCore::DOMWrapperWorld::isolated):
2351 2013-02-07 Alexei Svitkine <asvitkine@chromium.org>
2353 Chromium: Hang parsing bidi control chars on Mac OS X 10.6
2354 https://bugs.webkit.org/show_bug.cgi?id=108877
2356 This was broken a while ago by:
2357 https://bugs.webkit.org/show_bug.cgi?id=83045
2359 On 10.6, CoreText will not produce any runs covering the
2360 Unicode BiDi RTL mark control char, which causes an infinite
2361 loop in ComplexTextController::indexOfCurrentRun() due to no
2362 run covering the character at offset 0.
2364 This patch fixes that issue by finding the earliest run
2365 explicitly via the minimum stringBegin() index instead of
2366 relying on a run existing that covers offset 0.
2368 Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
2369 Chromium bug: http://crbug.com/167844
2371 New test in the same style as the harfbuzz-buffer-overrun.html
2372 test (in the same folder).
2374 Reviewed by Eric Seidel.
2376 Test: fast/text/international/rtl-mark.html
2378 * platform/graphics/mac/ComplexTextController.cpp:
2379 (WebCore::ComplexTextController::indexOfCurrentRun):
2381 2013-02-07 Kentaro Hara <haraken@chromium.org>
2383 Implement FocusEvent constructor
2384 https://bugs.webkit.org/show_bug.cgi?id=109170
2386 Reviewed by Adam Barth.
2388 Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
2390 FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
2391 flag, which is enabled on Chromium and Safari.
2393 Test: fast/events/constructors/focus-event-constructor.html
2395 * dom/FocusEvent.cpp:
2396 (WebCore::FocusEventInit::FocusEventInit):
2398 (WebCore::FocusEvent::FocusEvent):
2402 (WebCore::FocusEvent::create):
2404 * dom/FocusEvent.idl:
2405 * page/DOMWindow.idl:
2407 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
2409 HTML parser should queue MutationRecords for its operations
2410 https://bugs.webkit.org/show_bug.cgi?id=89351
2412 Reviewed by Eric Seidel.
2414 Generate mutation records inside the parser. This is done by using a
2415 ChildListMutationScope in the ContainerNode::parser* methods and then
2416 adding delivery before each <script> element would be processed by
2419 Test: fast/dom/MutationObserver/parser-mutations.html
2421 * dom/ContainerNode.cpp:
2422 (WebCore::ContainerNode::takeAllChildrenFrom):
2423 (WebCore::ContainerNode::parserInsertBefore):
2424 (WebCore::ContainerNode::parserRemoveChild):
2425 (WebCore::ContainerNode::parserAppendChild):
2426 * html/parser/HTMLScriptRunner.cpp:
2427 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
2428 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
2429 (WebCore::HTMLScriptRunner::execute):
2430 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
2431 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
2432 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
2433 (WebCore::HTMLScriptRunner::runScript):
2435 2013-02-07 Kentaro Hara <haraken@chromium.org>
2437 Fix FIXMEs in WindowFeatures.h
2438 https://bugs.webkit.org/show_bug.cgi?id=109151
2440 Reviewed by Adam Barth.
2442 1. // FIXME: We can delete this constructor once V8 showModalDialog is
2443 // changed to use DOMWindow.
2445 This FIXME is not right. The WindowFeatures() constructor is used by
2446 other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
2447 So we should remove the FIXME.
2449 2. // FIXME: We can make these functions private non-member functions
2450 // once V8 showModalDialog is changed to use DOMWindow.
2452 Given that V8 now uses DOMWindow in showModalDialog(), we can make the
2455 No tests. No change in behavior.
2457 * page/WindowFeatures.h:
2459 (WebCore::WindowFeatures::WindowFeatures):
2462 2013-02-07 Adam Barth <abarth@webkit.org>
2464 fast/parser/document-write-noscript.html fails for threaded HTML parser
2465 https://bugs.webkit.org/show_bug.cgi?id=109237
2467 Reviewed by Eric Seidel.
2469 If there are multiple calls to document.write in an external script, we
2470 need to wait for them all to complete before invalidating the
2471 speculative tokens. Instead of doing this when we unwind the
2472 document.write call stack, we do this when we're about to resume
2473 parsing after script execution.
2475 Test: fast/parser/document-write-basic.html
2477 * html/parser/HTMLDocumentParser.cpp:
2478 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2479 (WebCore::HTMLDocumentParser::insert):
2480 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2482 2013-02-07 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
2484 Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
2485 https://bugs.webkit.org/show_bug.cgi?id=109217
2487 Reviewed by Benjamin Poulain.
2489 * css/InspectorCSSOMWrappers.cpp:
2490 (WebCore::InspectorCSSOMWrappers::collect):
2492 2013-02-07 Keishi Hattori <keishi@webkit.org>
2494 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
2495 https://bugs.webkit.org/show_bug.cgi?id=109136
2497 Reviewed by Kent Tamura.
2499 Calendar picker was using the "Clear" button to calculate the window width.
2500 Since it doesn't exist when the input element has a required attribute,
2501 it was throwing an error. This patch fixes the width calculating logic.
2503 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
2504 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
2506 * Resources/pagepopups/calendarPicker.css:
2507 (.today-clear-area):
2508 * Resources/pagepopups/calendarPicker.js:
2509 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
2510 the width. We don't want to use clear button because it doesn't exist
2511 when a value is required.
2513 2013-02-07 Terry Anderson <tdanderson@chromium.org>
2515 Non-scrollable divs and non-scrollable iframes can scroll with touch
2516 https://bugs.webkit.org/show_bug.cgi?id=109087
2518 Reviewed by Eric Seidel.
2520 Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
2521 fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
2523 When finding a candidate for a scrollable node in
2524 EventHandler::handleGestureScrollUpdate(), select the document node
2525 if it is reached before any scrollable element when walking up the DOM
2526 tree. Also ensure that calling RenderLayer::scrollBy() for a document
2527 node does not result in scrolling if the element is not scrollable.
2529 * page/EventHandler.cpp:
2530 (WebCore::closestScrollableNodeCandidate):
2531 (WebCore::EventHandler::handleGestureScrollUpdate):
2532 * rendering/RenderLayer.cpp:
2533 (WebCore::RenderLayer::scrollBy):
2535 2013-02-07 Mark Lam <mark.lam@apple.com>
2537 Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
2538 https://bugs.webkit.org/show_bug.cgi?id=109109.
2540 Reviewed by Anders Carlsson.
2542 Adding back the new SQLTransaction and SQLTransactionSync files.
2546 * Modules/webdatabase/SQLTransaction.cpp: Added.
2547 (WebCore::SQLTransaction::create):
2548 (WebCore::SQLTransaction::SQLTransaction):
2549 (WebCore::SQLTransaction::from):
2550 * Modules/webdatabase/SQLTransaction.h: Added.
2552 * Modules/webdatabase/SQLTransactionSync.cpp: Added.
2553 (WebCore::SQLTransactionSync::create):
2554 (WebCore::SQLTransactionSync::SQLTransactionSync):
2555 (WebCore::SQLTransactionSync::from):
2556 * Modules/webdatabase/SQLTransactionSync.h: Added.
2557 (SQLTransactionSync):
2559 2013-02-07 Mark Lam <mark.lam@apple.com>
2561 Introduce SQLTransactionBackend and SQLTransactionBackendSync.
2562 https://bugs.webkit.org/show_bug.cgi?id=109109.
2564 Reviewed by Anders Carlsson.
2566 - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
2567 and SQLTransactionBackendSync respectively.
2568 - Added back SQLTransaction and SQLTransactionSync as new files, and have
2569 their classes extends their respective backends. This is a stop gap
2570 measure to keep things working until the front-end and back-end can be
2572 Note: these files will be committed in a subsequent commit to ensure
2573 that the patching goes smoothly.
2574 - Where needed, I made use of new SQLTransaction::from() and
2575 SQLTransactionSync::from() static methods that "get" the front-end
2576 transactions from the back-ends. This is also a stop gap measure to
2577 keep things working until the proper refactoring is complete.
2578 - Fixed up pre-existing style checker violations that are now detected
2579 on code that were touched during my renaming.
2580 - Added the back-end files to all the build files.
2585 * GNUmakefile.list.am:
2586 * Modules/webdatabase/Database.cpp:
2587 (WebCore::Database::scheduleTransactionStep):
2588 * Modules/webdatabase/Database.h:
2590 * Modules/webdatabase/DatabaseBackend.h:
2592 * Modules/webdatabase/DatabaseTask.cpp:
2593 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
2594 * Modules/webdatabase/DatabaseTask.h:
2595 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
2596 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
2597 (DatabaseBackendAsync::DatabaseTransactionTask):
2598 * Modules/webdatabase/SQLTransaction.cpp: Removed.
2599 * Modules/webdatabase/SQLTransaction.h: Removed.
2600 * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
2601 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
2602 (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
2603 (WebCore::SQLTransactionBackend::executeSQL):
2604 (WebCore::SQLTransactionBackend::enqueueStatement):
2605 (WebCore::SQLTransactionBackend::debugStepName):
2606 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
2607 (WebCore::SQLTransactionBackend::performNextStep):
2608 (WebCore::SQLTransactionBackend::performPendingCallback):
2609 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
2610 (WebCore::SQLTransactionBackend::acquireLock):
2611 (WebCore::SQLTransactionBackend::lockAcquired):
2612 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2613 (WebCore::SQLTransactionBackend::deliverTransactionCallback):
2614 (WebCore::SQLTransactionBackend::scheduleToRunStatements):
2615 (WebCore::SQLTransactionBackend::runStatements):
2616 (WebCore::SQLTransactionBackend::getNextStatement):
2617 (WebCore::SQLTransactionBackend::runCurrentStatement):
2618 (WebCore::SQLTransactionBackend::handleCurrentStatementError):
2619 (WebCore::SQLTransactionBackend::deliverStatementCallback):
2620 (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
2621 (WebCore::SQLTransactionBackend::postflightAndCommit):
2622 (WebCore::SQLTransactionBackend::deliverSuccessCallback):
2623 (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
2624 (WebCore::SQLTransactionBackend::handleTransactionError):
2625 (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
2626 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2627 * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
2628 (SQLTransactionBackend):
2629 * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
2630 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
2631 (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
2632 (WebCore::SQLTransactionBackendSync::executeSQL):
2633 (WebCore::SQLTransactionBackendSync::begin):
2634 (WebCore::SQLTransactionBackendSync::execute):
2635 (WebCore::SQLTransactionBackendSync::commit):
2636 (WebCore::SQLTransactionBackendSync::rollback):
2637 * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
2638 (SQLTransactionBackendSync):
2639 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2640 (WebCore::getDatabaseIdentifier):
2641 (WebCore::SQLTransactionCoordinator::processPendingTransactions):
2642 (WebCore::SQLTransactionCoordinator::acquireLock):
2643 (WebCore::SQLTransactionCoordinator::releaseLock):
2644 (WebCore::SQLTransactionCoordinator::shutdown):
2645 * Modules/webdatabase/SQLTransactionCoordinator.h:
2646 (SQLTransactionCoordinator):
2647 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
2649 * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
2650 * Modules/webdatabase/SQLTransactionSync.h: Removed.
2653 * WebCore.vcproj/WebCore.vcproj:
2654 * WebCore.vcxproj/WebCore.vcxproj:
2655 * WebCore.vcxproj/WebCore.vcxproj.filters:
2656 * WebCore.xcodeproj/project.pbxproj:
2658 2013-02-07 Dean Jackson <dino@apple.com>
2660 Use new speech bubble artwork for captions menu button
2661 https://bugs.webkit.org/show_bug.cgi?id=109215
2663 Reviewed by Eric Carlson.
2665 Rather than call into RenderTheme to display this button, embed artwork
2666 into the CSS. This means we can remove some uncalled methods in
2669 * css/mediaControlsQuickTime.css:
2670 (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
2671 * rendering/RenderTheme.cpp:
2672 (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
2673 * rendering/RenderTheme.h: Remove unused function.
2674 * rendering/RenderThemeMac.h: Ditto.
2675 * rendering/RenderThemeMac.mm: Ditto.
2677 2013-02-07 Michelangelo De Simone <michelangelo@webkit.org>
2679 [CSS Shaders] Add the last blending step
2680 https://bugs.webkit.org/show_bug.cgi?id=104012
2682 The resulting blended color in mix() is now weighted according to
2683 the original element's backdrop alpha value.
2685 Reviewed by Dean Jackson.
2687 Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
2689 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2690 (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
2692 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2694 Fix two exports of WebCore symbols on iOS
2695 https://bugs.webkit.org/show_bug.cgi?id=109238
2697 Reviewed by David Kilzer.
2699 * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
2700 wkCGContextDrawsWithCorrectShadowOffsets on iOS.
2702 2013-02-07 Hans Muller <hmuller@adobe.com>
2704 [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
2705 https://bugs.webkit.org/show_bug.cgi?id=107566
2707 Reviewed by David Hyatt.
2709 Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
2710 creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
2711 line. In other words, don't bother creating offset edges that can't define the polygon's
2714 Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
2716 * rendering/ExclusionPolygon.cpp:
2717 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
2719 2013-02-07 Jer Noble <jer.noble@apple.com>
2721 Improve logging of MediaPlayerPrivateAVFoundation Notifications.
2722 https://bugs.webkit.org/show_bug.cgi?id=109223
2724 Reviewed by Eric Carlson.
2726 Convert the existing Notification enum to an expandable macro. Then add a
2727 Logging-only function which stringifies the enums.
2729 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2731 (WebCore::notificationName):
2732 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2733 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2734 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2736 2013-02-07 Martin Robinson <mrobinson@igalia.com>
2738 [GTK] Cleanup command-line defines
2739 https://bugs.webkit.org/show_bug.cgi?id=109213
2741 Reviewed by Xan Lopez.
2743 * GNUmakefile.am: Remove references to flags that are now handled
2744 via autotoolsconfig.h.
2746 2013-02-07 Tom Sepez <tsepez@chromium.org>
2748 [V8] Binding Integrity crash in V8MediaStream::createWrapper
2749 https://bugs.webkit.org/show_bug.cgi?id=109211
2751 Reviewed by Adam Barth.
2753 Patch suppresses a chrome crasher.
2755 * Modules/mediastream/MediaStream.idl:
2757 2013-02-07 Eric Carlson <eric.carlson@apple.com>
2759 [Mac] decrease in-band caption advance notice interval
2760 https://bugs.webkit.org/show_bug.cgi?id=109190
2762 Reviewed by Simon Fraser.
2764 No new tests, no observable change in behavior.
2766 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2767 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
2769 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
2771 [GTK][AC] Clutter required version up to 1.12
2772 https://bugs.webkit.org/show_bug.cgi?id=109037
2774 Reviewed by Martin Robinson.
2776 Replace deprecated clutter apis with new ones.
2778 No new tests, since this patch is minor refactoring.
2780 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2781 (graphicsLayerActorSetAnchorPoint):
2782 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2783 (WebCore::idleDestroy):
2784 (WebCore::GraphicsLayerClutter::updateSublayerList):
2786 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2788 Move pauseAnimation/pauseTransition from TestRunner to Internals
2789 https://bugs.webkit.org/show_bug.cgi?id=109107
2791 Reviewed by Anders Carlsson.
2793 Tests: animations/animation-internals-api-multiple-keyframes.html
2794 animations/animation-internals-api.html
2796 * testing/Internals.cpp:
2797 (WebCore::Internals::pauseAnimationAtTimeOnElement):
2799 (WebCore::Internals::pauseTransitionAtTimeOnElement):
2800 * testing/Internals.h:
2802 * testing/Internals.idl:
2804 2013-02-07 Gavin Peters <gavinp@chromium.org>
2806 Unreviewed, rolling out r142155.
2807 http://trac.webkit.org/changeset/142155
2808 https://bugs.webkit.org/show_bug.cgi?id=82888
2812 * bindings/js/JSClipboardCustom.cpp:
2813 (WebCore::JSClipboard::types):
2814 * bindings/v8/custom/V8ClipboardCustom.cpp:
2815 (WebCore::V8Clipboard::typesAccessorGetter):
2818 * platform/blackberry/ClipboardBlackBerry.cpp:
2819 (WebCore::ClipboardBlackBerry::types):
2820 * platform/blackberry/ClipboardBlackBerry.h:
2821 (ClipboardBlackBerry):
2822 * platform/chromium/ChromiumDataObject.cpp:
2823 (WebCore::ChromiumDataObject::types):
2824 * platform/chromium/ChromiumDataObject.h:
2825 (ChromiumDataObject):
2826 * platform/chromium/ClipboardChromium.cpp:
2827 (WebCore::ClipboardChromium::types):
2828 * platform/chromium/ClipboardChromium.h:
2829 (ClipboardChromium):
2830 * platform/efl/ClipboardEfl.cpp:
2831 (WebCore::ClipboardEfl::types):
2832 * platform/efl/ClipboardEfl.h:
2834 * platform/gtk/ClipboardGtk.cpp:
2835 (WebCore::ClipboardGtk::types):
2836 * platform/gtk/ClipboardGtk.h:
2838 * platform/mac/ClipboardMac.h:
2840 * platform/mac/ClipboardMac.mm:
2841 (WebCore::addHTMLClipboardTypesForCocoaType):
2842 (WebCore::ClipboardMac::types):
2843 * platform/qt/ClipboardQt.cpp:
2844 (WebCore::ClipboardQt::types):
2845 * platform/qt/ClipboardQt.h:
2847 * platform/win/ClipboardWin.cpp:
2848 (WebCore::addMimeTypesForFormat):
2849 (WebCore::ClipboardWin::types):
2850 * platform/win/ClipboardWin.h:
2853 2013-02-07 Rik Cabanier <cabanier@adobe.com>
2855 Add support for parsing of -webkit-background-blend-mode
2856 https://bugs.webkit.org/show_bug.cgi?id=108547
2858 Reviewed by David Hyatt.
2860 Added parsing and general CSS handling of -webkit-background-blend-mode per
2861 https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
2863 Tests: css3/compositing/background-blend-mode-property-parsing.html
2864 css3/compositing/background-blend-mode-property.html
2866 * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
2868 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2869 * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
2870 (WebCore::CSSParser::parseValue):
2871 (WebCore::CSSParser::parseFillProperty):
2872 * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
2873 (WebCore::CSSProperty::isInheritedProperty):
2874 * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
2875 * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
2876 (WebCore::CSSToStyleMap::mapFillBlendMode):
2878 * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
2880 * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
2881 (WebCore::StyleBuilder::StyleBuilder):
2882 * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
2883 (WebCore::FillLayer::FillLayer):
2884 (WebCore::FillLayer::operator=):
2885 (WebCore::FillLayer::operator==):
2886 (WebCore::FillLayer::fillUnsetProperties):
2887 * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
2888 (WebCore::FillLayer::blendMode):
2889 (WebCore::FillLayer::isBlendModeSet):
2890 (WebCore::FillLayer::setBlendMode):
2891 (WebCore::FillLayer::clearBlendMode):
2892 (WebCore::FillLayer::initialFillBlendMode):
2895 2013-02-07 Gavin Peters <gavinp@chromium.org>
2897 Unreviewed, rolling out r142142.
2898 http://trac.webkit.org/changeset/142142
2899 https://bugs.webkit.org/show_bug.cgi?id=109154
2901 Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2904 * inspector/front-end/DefaultTextEditor.js:
2905 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2907 2013-02-07 Gavin Peters <gavinp@chromium.org>
2909 Unreviewed, rolling out r142081.
2910 http://trac.webkit.org/changeset/142081
2911 https://bugs.webkit.org/show_bug.cgi?id=109146
2913 The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
2915 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2917 * dom/WebCoreMemoryInstrumentation.cpp:
2919 * inspector/front-end/NativeMemorySnapshotView.js:
2920 (WebInspector.MemoryBlockViewProperties._initialize):
2921 * platform/PlatformMemoryInstrumentation.cpp:
2924 2013-02-07 Bear Travis <betravis@adobe.com>
2926 [CSS Exclusions] shape-inside does not properly handle padding or border
2927 https://bugs.webkit.org/show_bug.cgi?id=102715
2929 Reviewed by David Hyatt.
2931 This patch positions the exclusion shape based on the value of the css box sizing
2932 property. Geometry calculations happen in the shape coordinate space. For layout,
2933 these coordinates are translated to the border-box coordinate system by adding
2934 the appropriate offsets.
2936 Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
2938 * rendering/ExclusionShapeInfo.cpp:
2939 (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
2941 * rendering/ExclusionShapeInfo.h:
2942 (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
2943 shape dimensions when checking to see if the shape geometry must be recalculated.
2944 (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
2945 (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
2946 (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
2947 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
2948 (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
2949 top of the border box to the logical top of the shape.
2950 (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
2951 left of the border box to the logical left of the shape.
2952 (ExclusionShapeInfo):
2953 * rendering/ExclusionShapeInsideInfo.cpp:
2954 (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
2955 be in shape coordinates.
2956 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
2957 * rendering/ExclusionShapeInsideInfo.h:
2958 (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
2959 coordinate system (border box) to test for whether a line overlaps a shape.
2960 (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
2961 from the border box.
2962 (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
2964 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2966 Upstream iOS isWebThread() and isUIThread()
2967 https://bugs.webkit.org/show_bug.cgi?id=109130
2969 Reviewed by Sam Weinig.
2971 * bindings/objc/WebScriptObject.mm:
2972 (+[WebScriptObject initialize]):
2973 * platform/mac/SharedBufferMac.mm:
2974 (+[WebCoreSharedBufferData initialize]):
2975 #ifdef out the legacy initialization as it is not correct when
2978 2013-02-07 Vivek Galatage <vivek.vg@samsung.com>
2980 Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
2981 https://bugs.webkit.org/show_bug.cgi?id=107937
2983 Reviewed by Yury Semikhatsky.
2985 The DOM storage agent will fire an event to the frontend based on the action
2986 performed on the storage. Based on this action, the front-end will just add/update/remove
2987 the entry in the view. This enhances the front-end responsiveness as the round trip
2988 for fetching the storage entries has been eliminated.
2990 Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
2992 * inspector/Inspector.json:
2993 * inspector/InspectorDOMStorageAgent.cpp:
2994 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2995 * inspector/front-end/DOMStorage.js:
2996 (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2997 (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2998 (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2999 (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
3000 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
3001 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
3002 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
3003 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
3004 * inspector/front-end/DOMStorageItemsView.js:
3005 (WebInspector.DOMStorageItemsView):
3006 (WebInspector.DOMStorageItemsView.prototype.wasShown):
3007 (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
3008 (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
3009 (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
3010 (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
3011 (WebInspector.DOMStorageItemsView.prototype._update):
3012 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
3013 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
3014 (WebInspector.DOMStorageItemsView.prototype._editingCallback):
3015 (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
3016 * inspector/front-end/ResourcesPanel.js:
3017 (WebInspector.ResourcesPanel):
3018 (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
3019 (WebInspector.ResourcesPanel.prototype._showDOMStorage):
3021 2013-02-07 Dan Carney <dcarney@google.com>
3023 [v8] move persistent::new and ::dispose into same class
3024 https://bugs.webkit.org/show_bug.cgi?id=109065
3026 Reviewed by Adam Barth.
3028 No new tests. No change in functionality.
3030 * bindings/scripts/CodeGeneratorV8.pm:
3031 (GenerateSingleConstructorCallback):
3032 (GenerateEventConstructorCallback):
3033 (GenerateNamedConstructorCallback):
3034 (GenerateToV8Converters):
3035 * bindings/scripts/test/V8/V8Float64Array.cpp:
3036 (WebCore::V8Float64Array::createWrapper):
3037 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3038 (WebCore::V8TestActiveDOMObject::createWrapper):
3039 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3040 (WebCore::V8TestCustomNamedGetter::createWrapper):
3041 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3042 (WebCore::V8TestEventConstructor::constructorCallback):
3043 (WebCore::V8TestEventConstructor::createWrapper):
3044 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3045 (WebCore::V8TestEventTarget::createWrapper):
3046 * bindings/scripts/test/V8/V8TestException.cpp:
3047 (WebCore::V8TestException::createWrapper):
3048 * bindings/scripts/test/V8/V8TestInterface.cpp:
3049 (WebCore::V8TestInterface::constructorCallback):
3050 (WebCore::V8TestInterface::createWrapper):
3051 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3052 (WebCore::V8TestMediaQueryListListener::createWrapper):
3053 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3054 (WebCore::V8TestNamedConstructorConstructorCallback):
3055 (WebCore::V8TestNamedConstructor::createWrapper):
3056 * bindings/scripts/test/V8/V8TestNode.cpp:
3057 (WebCore::V8TestNode::constructorCallback):
3058 (WebCore::V8TestNode::createWrapper):
3059 * bindings/scripts/test/V8/V8TestObj.cpp:
3060 (WebCore::V8TestObj::constructorCallback):
3061 (WebCore::V8TestObj::createWrapper):
3062 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3063 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
3064 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
3065 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
3066 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
3067 (WebCore::V8TestOverloadedConstructors::createWrapper):
3068 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3069 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3070 (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
3071 * bindings/v8/DOMDataStore.cpp:
3072 * bindings/v8/DOMDataStore.h:
3073 (WebCore::DOMDataStore::setWrapper):
3075 (WebCore::DOMDataStore::set):
3076 (WebCore::DOMDataStore::setWrapperInObject):
3077 * bindings/v8/DOMWrapperMap.h:
3078 (WebCore::DOMWrapperMap::get):
3079 (WebCore::DOMWrapperMap::set):
3080 (WebCore::DOMWrapperMap::removeAndDispose):
3081 (WebCore::DOMWrapperMap::defaultWeakCallback):
3082 * bindings/v8/ScriptWrappable.h:
3083 (WebCore::ScriptWrappable::wrapper):
3084 (WebCore::ScriptWrappable::setWrapper):
3085 (WebCore::ScriptWrappable::reportMemoryUsage):
3087 (WebCore::ScriptWrappable::disposeWrapper):
3088 (WebCore::ScriptWrappable::weakCallback):
3089 * bindings/v8/V8DOMWindowShell.cpp:
3090 (WebCore::V8DOMWindowShell::installDOMWindow):
3091 * bindings/v8/V8DOMWrapper.h:
3093 (WebCore::V8DOMWrapper::associateObjectWithWrapper):
3094 * bindings/v8/V8NPObject.cpp:
3095 (WebCore::weakNPObjectCallback):
3096 (WebCore::createV8ObjectForNPObject):
3097 (WebCore::forgetV8ObjectForNPObject):
3098 * bindings/v8/WorkerScriptController.cpp:
3099 (WebCore::WorkerScriptController::initializeContextIfNeeded):
3100 * bindings/v8/WrapperTypeInfo.h:
3102 (WrapperConfiguration):
3103 (WebCore::WrapperConfiguration::configureWrapper):
3104 (WebCore::buildWrapperConfiguration):
3105 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3106 (WebCore::V8ArrayBuffer::constructorCallbackCustom):
3107 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3108 (WebCore::wrapArrayBufferView):
3109 (WebCore::constructWebGLArray):
3110 * bindings/v8/custom/V8AudioContextCustom.cpp:
3111 (WebCore::V8AudioContext::constructorCallbackCustom):
3112 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3113 (WebCore::V8DOMFormData::constructorCallbackCustom):
3114 * bindings/v8/custom/V8DataViewCustom.cpp:
3115 (WebCore::V8DataView::constructorCallbackCustom):
3116 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3117 (WebCore::v8HTMLImageElementConstructorCallback):
3118 * bindings/v8/custom/V8IntentCustom.cpp:
3119 (WebCore::V8Intent::constructorCallbackCustom):
3120 * bindings/v8/custom/V8MessageChannelCustom.cpp:
3121 (WebCore::V8MessageChannel::constructorCallbackCustom):
3122 * bindings/v8/custom/V8MutationObserverCustom.cpp:
3123 (WebCore::V8MutationObserver::constructorCallbackCustom):
3124 * bindings/v8/custom/V8WebKitPointCustom.cpp:
3125 (WebCore::V8WebKitPoint::constructorCallbackCustom):
3126 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3127 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
3129 2013-02-07 Zan Dobersek <zdobersek@igalia.com>
3131 [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
3132 https://bugs.webkit.org/show_bug.cgi?id=109198
3134 Reviewed by Martin Robinson.
3136 * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
3138 2013-02-07 Vineet Chaudhary <rgf748@motorola.com>
3140 Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
3141 https://bugs.webkit.org/show_bug.cgi?id=82888
3143 Reviewed by Kentaro Hara.
3145 As part of removing custom bindings of types Array Clipboard::types() needs to return
3146 Vector<String> than ListHashSet<String>
3148 No new tests. Existing test should pass with this change as no behavoural changes.
3150 * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
3151 (WebCore::JSClipboard::types):
3152 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
3153 (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
3154 * dom/Clipboard.h: Ditto.
3155 * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
3156 (WebCore::ClipboardBlackBerry::types):
3157 * platform/blackberry/ClipboardBlackBerry.h: Ditto.
3158 * platform/chromium/ChromiumDataObject.cpp: Ditto.
3159 (WebCore::ChromiumDataObject::types):
3160 * platform/chromium/ChromiumDataObject.h: Ditto.
3161 * platform/chromium/ClipboardChromium.cpp: Ditto.
3162 (WebCore::ClipboardChromium::types):
3163 * platform/chromium/ClipboardChromium.h: Ditto.
3164 * platform/efl/ClipboardEfl.cpp: Ditto.
3165 (WebCore::ClipboardEfl::types):
3166 * platform/efl/ClipboardEfl.h: Ditto.
3167 * platform/gtk/ClipboardGtk.cpp: Ditto.
3168 (WebCore::ClipboardGtk::types):
3169 * platform/gtk/ClipboardGtk.h: Ditto.
3170 * platform/mac/ClipboardMac.h: Ditto.
3171 * platform/mac/ClipboardMac.mm: Ditto.
3172 (WebCore::addHTMLClipboardTypesForCocoaType):
3173 (WebCore::ClipboardMac::types):
3174 * platform/qt/ClipboardQt.cpp: Ditto.
3175 (WebCore::ClipboardQt::types):
3176 * platform/qt/ClipboardQt.h: Ditto.
3177 * platform/win/ClipboardWin.cpp: Ditto.
3178 (WebCore::addMimeTypesForFormat):
3179 (WebCore::ClipboardWin::types):
3180 * platform/win/ClipboardWin.h: Ditto.
3182 2013-02-07 Kentaro Hara <haraken@chromium.org>
3184 [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
3185 https://bugs.webkit.org/show_bug.cgi?id=109123
3187 Reviewed by Adam Barth.
3189 Currently StringCache::m_stringCache is implemented as
3190 HashMap<StringImpl*, v8::String*>. Given that v8::String*
3191 can change when a GC is triggered, it is dangerous to store a raw pointer.
3192 We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
3194 This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
3195 although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
3197 No tests. This change highly depends on GC behavior and thus it is
3198 difficult to make a reliable test case.
3200 * bindings/v8/V8ValueCache.cpp:
3201 (WebCore::makeExternalString):
3202 * bindings/v8/V8ValueCache.h:
3205 2013-01-27 Robert Hogan <robert@webkit.org>
3207 CSS 2.1 failure: floats-149 fails
3208 https://bugs.webkit.org/show_bug.cgi?id=95772
3210 Reviewed by David Hyatt.
3212 Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
3214 Tests: fast/inline/inline-with-empty-inline-children.html
3215 css2.1/20110323/floats-149.htm
3217 * rendering/InlineIterator.h:
3218 (WebCore::isEmptyInline):
3219 * rendering/RenderBlockLineLayout.cpp:
3220 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
3221 objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping
3222 through leading whitespace.
3224 2013-02-07 peavo@outlook.com <peavo@outlook.com>
3226 [WinCairo] Compile fix after r141981
3227 https://bugs.webkit.org/show_bug.cgi?id=109184
3229 Reviewed by Brent Fulgham.
3231 * platform/network/curl/ResourceHandleCurl.cpp:
3232 (WebCore::ResourceHandle::loadResourceSynchronously):
3234 2013-02-07 Otto Derek Cheung <otcheung@rim.com>
3236 [BlackBerry] Cookie database isn't loaded into memory in some rare cases
3237 https://bugs.webkit.org/show_bug.cgi?id=109202
3240 Reviewed by Yong Li.
3241 Internally Reviewed by Konrad Piascik.
3243 If a get/setCookie call is made before the database is loaded, or if there's some
3244 kind of error that causes the loading of the database to fail in the constructor
3245 of CookieManager, the browser will get into a state where it seems like cookie is
3246 permanenty disabled.
3248 Instead of logging the errors and redispatching the setCookie, we should do a force sync
3249 to load the cookie database before continuing.
3251 Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
3252 to make sure the code path is correct:
3253 1) Make sure original implementation is retained - open and loading done in the constructor
3254 2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
3255 an initial lag because we are blocking WKT while performing SQLite options).
3256 3) Removed loading in constructor, the new calls loaded the db just fine.
3258 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3259 (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
3261 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3262 (CookieDatabaseBackingStore):
3263 * platform/blackberry/CookieManager.cpp:
3264 (WebCore::CookieManager::setCookies):
3265 (WebCore::CookieManager::getCookie):
3266 (WebCore::CookieManager::generateHtmlFragmentForCookies):
3267 (WebCore::CookieManager::getRawCookies):
3269 2013-02-07 Max Vujovic <mvujovic@adobe.com>
3271 [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
3272 https://bugs.webkit.org/show_bug.cgi?id=109082
3274 Reviewed by Dean Jackson.
3276 Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
3278 Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
3279 css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
3281 * page/DOMWindow.idl:
3283 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
3285 Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
3286 https://bugs.webkit.org/show_bug.cgi?id=109201
3288 Reviewed by Pavel Feldman.
3290 * inspector/front-end/NetworkUISourceCodeProvider.js:
3291 (WebInspector.NetworkUISourceCodeProvider):
3292 * inspector/front-end/inspector.js:
3294 2013-02-07 Jessie Berlin <jberlin@apple.com>
3296 REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
3298 https://bugs.webkit.org/show_bug.cgi?id=109196
3300 Reviewed by Eric Carlson.
3302 * English.lproj/Localizable.strings:
3303 Updated for the changes.
3304 * platform/LocalizedStrings.cpp:
3305 (WebCore::unknownFileSizeText):
3307 (WebCore::textTrackNoLabelText):
3310 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
3312 Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
3313 https://bugs.webkit.org/show_bug.cgi?id=109197
3315 Reviewed by Pavel Feldman.
3317 Javascript syntax errors in console are now linkified so that they show sources panel by default.
3319 * inspector/front-end/ResourceUtils.js:
3320 (WebInspector.linkifyResourceAsNode):
3322 2013-02-07 Eberhard Graether <egraether@google.com>
3324 Web Inspector: Add settings checkbox for composited layer borders
3325 https://bugs.webkit.org/show_bug.cgi?id=109096
3327 Reviewed by Pavel Feldman.
3329 This change adds a checkbox to show composited layer borders to the WebInspector's
3330 rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
3331 is visible if InspectorClient::canShowDebugBorders() returns true.
3335 * English.lproj/localizedStrings.js:
3336 * inspector/Inspector.json:
3337 * inspector/InspectorClient.h:
3338 (WebCore::InspectorClient::canShowDebugBorders):
3339 (WebCore::InspectorClient::setShowDebugBorders):
3341 * inspector/InspectorPageAgent.cpp:
3343 (WebCore::InspectorPageAgent::restore):
3344 (WebCore::InspectorPageAgent::disable):
3345 (WebCore::InspectorPageAgent::canShowDebugBorders):
3347 (WebCore::InspectorPageAgent::setShowDebugBorders):
3348 * inspector/InspectorPageAgent.h:
3349 * inspector/front-end/Settings.js:
3350 * inspector/front-end/SettingsScreen.js:
3351 (WebInspector.GenericSettingsTab):
3352 (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
3353 * inspector/front-end/inspector.js:
3354 (WebInspector.doLoadedDone):
3356 2013-02-07 Gavin Peters <gavinp@chromium.org>
3358 Unreviewed, rolling out r142141.
3359 http://trac.webkit.org/changeset/142141
3360 https://bugs.webkit.org/show_bug.cgi?id=108990
3362 Reland r142112, will update Chromium expectations and create a
3363 Chromium bug instead for the crash.
3368 * page/scrolling/ScrollingCoordinator.cpp:
3369 (WebCore::ScrollingCoordinator::create):
3370 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
3372 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3373 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
3374 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
3376 (ScrollingCoordinatorCoordinatedGraphics):
3377 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3378 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
3380 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3381 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3382 (CoordinatedGraphicsLayerClient):
3383 (CoordinatedGraphicsLayer):
3385 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
3387 Web Inspector: home button behaviour is wrong in DTE
3388 https://bugs.webkit.org/show_bug.cgi?id=109154
3390 Reviewed by Vsevolod Vlasov.
3392 Handle home key shortcut explicitly in TextEditorMainPanel.
3394 New test: inspector/editor/text-editor-home-button.html
3396 * inspector/front-end/DefaultTextEditor.js:
3397 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
3398 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
3400 2013-02-07 Gavin Peters <gavinp@chromium.org>
3402 Unreviewed, rolling out r142112.
3403 http://trac.webkit.org/changeset/142112
3404 https://bugs.webkit.org/show_bug.cgi?id=108990
3406 The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
3408 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
3413 * page/scrolling/ScrollingCoordinator.cpp:
3414 (WebCore::ScrollingCoordinator::create):
3415 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
3416 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
3417 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3418 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3419 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3420 (CoordinatedGraphicsLayerClient):
3421 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
3423 2013-02-07 Allan Sandfeld Jensen <allan.jensen@digia.com>
3425 Scrollbars misplaced with accelerated compositing for overflow scroll
3426 https://bugs.webkit.org/show_bug.cgi?id=108625
3428 Reviewed by Simon Fraser.
3430 Scrollbars require their own layer if overflow scroll is composited,
3431 otherwise the scrollbars would be rendered on the content layer and
3432 not fixed to the viewport.
3434 * rendering/RenderLayerBacking.cpp:
3435 (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
3436 (WebCore::RenderLayerBacking::requiresVerticalScrollbarL