1 2013-02-11 John J. Barton <johnjbarton@chromium.org>
3 Web Inspector: Don't throw exceptions in WebInspector.Color
4 https://bugs.webkit.org/show_bug.cgi?id=104835
6 Reviewed by Vsevolod Vlasov.
8 WebInspector.Color.parse() returns a Color from a string, or null;
9 Ctor calls now call parse();
10 In the StylesSideBarPane, test null rather than catch(e).
12 Added case to inspector/styles/styles-invalid-color-values.html
14 * inspector/front-end/Color.js:
16 (WebInspector.Color.parse):
17 (WebInspector.Color.fromRGBA):
18 (WebInspector.Color.fromRGB):
19 (WebInspector.Color.prototype.toString):
20 (WebInspector.Color.prototype._parse.this.alpha.set 0):
21 (WebInspector.Color.prototype._parse.this.nickname.set 2):
22 (WebInspector.Color.prototype._parse.this.hsla.set 1):
23 (WebInspector.Color.prototype._parse.this.rgba.set 0):
24 (WebInspector.Color.prototype._parse.set WebInspector):
25 (WebInspector.Color.prototype._parse):
26 * inspector/front-end/Spectrum.js:
27 (WebInspector.Spectrum.prototype.get color):
28 * inspector/front-end/StylesSidebarPane.js:
30 2013-02-11 Andrey Lushnikov <lushnikov@chromium.org>
32 Web Inspector: home button behaviour is wrong in DTE
33 https://bugs.webkit.org/show_bug.cgi?id=109154
35 Reviewed by Vsevolod Vlasov.
37 Handle home key shortcut explicitly in TextEditorMainPanel.
39 New test: inspector/editor/text-editor-home-button.html
41 * inspector/front-end/DefaultTextEditor.js:
42 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
43 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
45 2013-02-11 Abhishek Arya <inferno@chromium.org>
47 Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
48 https://bugs.webkit.org/show_bug.cgi?id=108981
50 Reviewed by Eric Seidel.
52 * Modules/mediastream/RTCStatsResponse.cpp:
53 (WebCore::RTCStatsResponse::addElement):
54 (WebCore::RTCStatsResponse::addStatistic):
55 * Modules/websockets/WebSocketChannel.cpp:
56 (WebCore::WebSocketChannel::skipBuffer):
57 * css/CSSCalculationValue.cpp:
58 (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
59 (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
60 * css/WebKitCSSTransformValue.cpp:
61 (WebCore::transformValueToCssString):
62 * editing/TextIterator.cpp:
63 (WebCore::SearchBuffer::search):
64 * html/HTMLElement.cpp:
65 (WebCore::parseColorStringWithCrazyLegacyRules):
67 (WebCore::ImageData::ImageData):
68 * html/shadow/DateTimeSymbolicFieldElement.cpp:
69 (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
70 * html/track/TextTrackCueList.cpp:
71 (WebCore::TextTrackCueList::add):
72 * platform/SharedBuffer.cpp:
73 (WebCore::SharedBuffer::getSomeData):
74 * platform/SharedBufferChunkReader.cpp:
75 (WebCore::SharedBufferChunkReader::nextChunk):
76 * platform/audio/HRTFDatabase.cpp:
77 (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
78 * platform/graphics/GlyphPageTreeNode.cpp:
79 (WebCore::GlyphPageTreeNode::initializePage):
80 * platform/graphics/Region.cpp:
81 (WebCore::Region::Shape::segments_end):
82 * platform/graphics/filters/FEComponentTransfer.cpp:
83 (WebCore::FEComponentTransfer::getValues):
84 * platform/graphics/filters/FilterEffect.cpp:
85 (WebCore::FilterEffect::inputEffect):
86 * platform/text/TextCodecUTF8.cpp:
87 (WebCore::TextCodecUTF8::decode):
88 * platform/text/mac/TextCodecMac.cpp:
89 (WebCore::TextCodecMac::decode):
90 * rendering/RenderBlockLineLayout.cpp:
91 (WebCore::RenderBlock::checkFloatsInCleanLine):
92 * svg/SVGAnimatedTypeAnimator.h:
93 (WebCore::SVGAnimatedTypeAnimator::executeAction):
94 * svg/SVGAnimationElement.cpp:
95 (WebCore::SVGAnimationElement::calculatePercentForSpline):
96 * svg/animation/SVGSMILElement.cpp:
97 (WebCore::SVGSMILElement::findInstanceTime):
99 2013-02-10 Chris Fleizach <cfleizach@apple.com>
101 WebSpeech: Implement basic speaking/finished speaking behavior
102 https://bugs.webkit.org/show_bug.cgi?id=107135
104 Reviewed by Sam Weinig.
106 Implements the basic functionality of speaking utterances.
108 In the WebCore side, it manages the speech queue the way the spec defines
109 (that is, new jobs are appended to a queue and wait for other jobs to finish).
111 On the Mac side, it instantiates a synthesizer and handles the callbacks for when
112 jobs are finished. It sends those jobs back to WebCore to dispatch the right events.
114 Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html
116 * Modules/speech/SpeechSynthesis.cpp:
117 (WebCore::SpeechSynthesis::SpeechSynthesis):
118 (WebCore::SpeechSynthesis::paused):
119 (WebCore::SpeechSynthesis::startSpeakingImmediately):
120 (WebCore::SpeechSynthesis::speak):
122 (WebCore::SpeechSynthesis::fireEvent):
123 (WebCore::SpeechSynthesis::handleSpeakingCompleted):
124 (WebCore::SpeechSynthesis::didStartSpeaking):
125 (WebCore::SpeechSynthesis::didFinishSpeaking):
126 (WebCore::SpeechSynthesis::speakingErrorOccurred):
127 * Modules/speech/SpeechSynthesis.h:
129 (WebCore::SpeechSynthesis::speaking):
131 * Modules/speech/SpeechSynthesisEvent.cpp:
132 (WebCore::SpeechSynthesisEvent::create):
134 (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
135 * Modules/speech/SpeechSynthesisEvent.h:
136 (SpeechSynthesisEvent):
137 (WebCore::SpeechSynthesisEvent::interfaceName):
138 * Modules/speech/SpeechSynthesisUtterance.h:
139 (WebCore::SpeechSynthesisUtterance::startTime):
140 (WebCore::SpeechSynthesisUtterance::setStartTime):
141 (SpeechSynthesisUtterance):
142 * platform/PlatformSpeechSynthesisUtterance.cpp:
143 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
144 * platform/PlatformSpeechSynthesisUtterance.h:
145 (PlatformSpeechSynthesisUtterance):
146 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
147 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
148 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
149 (WebCore::PlatformSpeechSynthesisUtterance::startTime):
150 (WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
151 (WebCore::PlatformSpeechSynthesisUtterance::client):
152 * platform/PlatformSpeechSynthesizer.cpp:
153 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
154 * platform/PlatformSpeechSynthesizer.h:
155 (PlatformSpeechSynthesizerClient):
156 (WebCore::PlatformSpeechSynthesizer::client):
157 (PlatformSpeechSynthesizer):
158 * platform/mac/PlatformSpeechSynthesizerMac.mm:
159 (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
160 (-[WebSpeechSynthesisWrapper dealloc]):
161 (-[WebSpeechSynthesisWrapper convertRateToWPM:]):
162 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
163 (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
164 (WebCore::PlatformSpeechSynthesizer::speak):
166 2013-02-10 Eric Seidel <eric@webkit.org>
168 Make the existing HTMLPreloadScanner threading-aware
169 https://bugs.webkit.org/show_bug.cgi?id=107807
171 Reviewed by Adam Barth.
173 The HTMLPreloadScanner and CSSPreloadScanner do a number of things.
174 CSSPreloadScanner is mostly just a helper class for HTMLPreloadScanner.
175 HTMLPreloadScanner runs its own copy of the HTMLTokenizer and uses
176 HTMLTokenizer::updateStateFor to emulate enough of the TreeBuilder
177 to get a realistic stream of tokens. It does some additional TreeBuilder
178 emulation, including tracking template tags and base tags, but mostly
179 just scans the token stream for start-tags and looks for URLs in them.
180 It tracks when it has seen a <style> tag and starts sending all character tokens
181 to the CSSPreloadScanner until a </style> tag is seen.
182 It also (unfortunately) knows some about the loader guts and how to construct
183 a proper CachedResourcRequest and issue a preload.
185 This patch changes the model so that the preload scanners only know how to produce
186 PreloadRequest objects and append them to a passed-in vector.
188 This changes the preload-scanner behavior so that preloads are now all issued in one large
189 batch at the end of scanning, instead of as we hit each resource. It's possible that
190 we'll wait to instead check for preload requests more often, at a possible tradeoff
193 An alternate approach might be to pass in a preload-delegate of sorts which knew how
194 to either build a vector, or send requests immediately. For now the build-a-vector-always
195 approach seems clean, and does not seem to slow down our PerformanceTest microbenchmarks at least.
197 This patch has 2 main pieces:
198 - Remove Document and (and loader) dependencies from HTMLPreloadScanner/CSSPreloadScanner
199 This is done through introduction of a new HTMLResourcePreloader class which holds
200 a Document* and knows how to talk to the CachedResourceLoader.
201 - Clean-up HTMLPreloadScanners token-loop to not be tied to having a Tokenizer.
202 (On a background thead, the HTMLPreloadScanner won't own the tokenizer, it will just
203 be passed in tokens and expected to issue loads if necessary.)
205 This passes all of the LayoutTests using the main thread parser.
207 This patch does not make the HTMLPreloadScanner 100% ready for threading
208 (it still uses AtomicString which is currently not-OK on the parser thread)
209 but it's very close. Two further (already written) patches will complete this.
212 * GNUmakefile.list.am:
215 * WebCore.vcproj/WebCore.vcproj:
216 * WebCore.vcxproj/WebCore.vcxproj:
217 * WebCore.xcodeproj/project.pbxproj:
218 * html/parser/CSSPreloadScanner.cpp:
219 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
220 (WebCore::CSSPreloadScanner::scan):
221 (WebCore::CSSPreloadScanner::emitRule):
222 * html/parser/CSSPreloadScanner.h:
224 * html/parser/HTMLDocumentParser.cpp:
225 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
226 (WebCore::HTMLDocumentParser::pumpTokenizer):
227 (WebCore::HTMLDocumentParser::insert):
228 (WebCore::HTMLDocumentParser::append):
229 (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
230 * html/parser/HTMLDocumentParser.h:
231 (HTMLDocumentParser):
232 * html/parser/HTMLPreloadScanner.cpp:
233 (WebCore::isStartTag):
235 (WebCore::isStartOrEndTag):
236 (WebCore::PreloadTask::processAttributes):
237 (WebCore::PreloadTask::charset):
239 (WebCore::PreloadTask::resourceType):
240 (WebCore::PreloadTask::shouldPreload):
241 (WebCore::PreloadTask::createPreloadRequest):
242 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
243 (WebCore::HTMLPreloadScanner::scan):
244 (WebCore::HTMLPreloadScanner::processPossibleTemplateTag):
245 (WebCore::HTMLPreloadScanner::processPossibleStyleTag):
246 (WebCore::HTMLPreloadScanner::processPossibleBaseTag):
247 (WebCore::HTMLPreloadScanner::processToken):
248 * html/parser/HTMLPreloadScanner.h:
249 (HTMLPreloadScanner):
250 * html/parser/HTMLResourcePreloader.cpp: Added.
252 (WebCore::isStringSafeToSendToAnotherThread):
253 (WebCore::PreloadRequest::isSafeToSendToAnotherThread):
254 (WebCore::PreloadRequest::completeURL):
255 (WebCore::PreloadRequest::resourceRequest):
256 (WebCore::HTMLResourcePreloader::preload):
257 * html/parser/HTMLResourcePreloader.h: Added.
260 (WebCore::PreloadRequest::create):
261 (WebCore::PreloadRequest::PreloadRequest):
262 (HTMLResourcePreloader):
263 (WebCore::HTMLResourcePreloader::HTMLResourcePreloader):
264 (WebCore::HTMLResourcePreloader::createWeakPtr):
265 * loader/cache/CachedResourceRequest.h:
267 2013-02-06 Kentaro Hara <haraken@chromium.org>
269 [V8] Rename isolated() to getWorld(), rename worldForEnteredContextIfIsolated() to worldForEnteredContext()
270 https://bugs.webkit.org/show_bug.cgi?id=109039
272 Reviewed by Adam Barth.
274 This is a follow-up patch for r141983.
275 Rename methods for consistency.
277 No tests. No change in behavior.
279 * bindings/v8/DOMDataStore.cpp:
280 (WebCore::DOMDataStore::current):
281 * bindings/v8/DOMWrapperWorld.h:
282 (WebCore::DOMWrapperWorld::getWorld):
283 * bindings/v8/ScriptController.cpp:
284 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
285 (WebCore::ScriptController::currentWorldContext):
286 * bindings/v8/V8Binding.h:
287 (WebCore::worldForEnteredContext):
288 * bindings/v8/WorldContextHandle.cpp:
289 (WebCore::WorldContextHandle::WorldContextHandle):
290 * bindings/v8/custom/V8DocumentCustom.cpp:
292 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
294 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
296 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
297 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
299 2013-02-10 Alexandre Elias <aelias@chromium.org>
301 [chromium] Fix Android scrollbar size
302 https://bugs.webkit.org/show_bug.cgi?id=109374
304 Reviewed by James Robinson.
306 This shrinks scrollbars to 3 device-independent pixels (usually 6
307 physical pixels) and deletes the edge fade. Although the Android
308 system theme does have an edge fade, it's a much sharper cliff
309 than we had (against black, the colors go 64 -> 64 -> 52 -> 21 -> 0)
310 and I can't perceive any difference compared with no fade at all.
312 No new tests (due for rewrite in a week anyway).
314 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
316 (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
318 2013-02-04 Kentaro Hara <haraken@chromium.org>
320 [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
321 https://bugs.webkit.org/show_bug.cgi?id=108579
323 Reviewed by Adam Barth.
325 Currently V8GCController::m_edenNodes stores a list of nodes whose
326 wrappers have been created since the latest GC. The reason why we
327 needed m_edenNodes is that there was no way to know a list of wrappers
328 in the new space of V8. By using m_edenNodes, we had been approximating
329 'wrappers in the new space' by 'wrappers that have been created since
332 Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
333 can know a list of wrappers in the new space. By using the API, we can
334 remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
335 need to keep m_edenNodes and that (2) it enables more precise minor
336 DOM GC (Remember that m_edenNodes was just an approximation).
338 Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
339 The benchmark runs 300 iterations, each of which creates 100000 elements.
340 The benchmark measures average, min, median, max and stdev of execution times
341 of the 300 iterations. This will tell us the worst-case overhead of this change.
344 mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
347 mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
349 As shown above, I couldn't observe any performance regression.
351 No tests. No change in behavior.
353 * bindings/v8/DOMDataStore.h:
354 (WebCore::DOMDataStore::setWrapperInObject):
355 * bindings/v8/DOMWrapperWorld.h:
357 (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
358 * bindings/v8/V8Binding.h:
360 (WebCore::worldForEnteredContextIfIsolated):
361 (WebCore::worldForEnteredContextWithoutContextCheck):
362 * bindings/v8/V8DOMWindowShell.cpp:
363 (WebCore::V8DOMWindowShell::initializeIfNeeded):
364 * bindings/v8/V8GCController.cpp:
367 (MinorGCWrapperVisitor):
368 (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
369 (WebCore::MinorGCWrapperVisitor::notifyFinished):
370 (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
371 (WebCore::V8GCController::gcPrologue):
372 (WebCore::V8GCController::minorGCPrologue):
373 (WebCore::V8GCController::majorGCPrologue):
374 * bindings/v8/V8GCController.h:
377 2013-02-10 Tim Horton <timothy_horton@apple.com>
379 REGRESSION (r132422): Page content and scrollbars are incorrectly offset after restoring a page from the page cache
380 https://bugs.webkit.org/show_bug.cgi?id=109317
381 <rdar://problem/12649131>
383 Reviewed by Simon Fraser.
385 Mark all scrolling that occurs beneath FrameView::layout as programmatic.
387 Test: platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html
389 * page/FrameView.cpp:
390 (WebCore::FrameView::layout):
392 2013-02-10 Kent Tamura <tkent@chromium.org>
394 [Mac] Fix release build failure by recent reverts
398 2013-02-10 Philippe Normand <pnormand@igalia.com>
400 [GStreamer] media/video-controls-fullscreen-volume.html crashes
401 https://bugs.webkit.org/show_bug.cgi?id=108682
403 Reviewed by Martin Robinson.
405 Clean up various signal handlers and avoid bad interaction between
406 the FullscreenVideoControllerGStreamer and its subclasses,
407 especially when the platform video window is created.
409 * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
410 (WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
411 Initialize the window before connecting to the volume/mute
412 signals. This ensures that the signals won't ever interfere with
413 an inexisting window.
414 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
415 (WebCore::GStreamerGWorld::~GStreamerGWorld): Remove GstBus
416 synchronous handler function.
417 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
418 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
419 (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
420 Disconnect from volume/mute signals.
421 (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
422 Keep a trace of volume/mute signal handlers.
423 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
424 Various forward type declarations to avoid un-necessary header includes.
425 (MediaPlayerPrivateGStreamerBase):
426 * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
427 (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
428 (WebCore::FullscreenVideoControllerGtk::volumeChanged): Bail out
429 if volume button hasn't been created yet.
430 (WebCore::FullscreenVideoControllerGtk::muteChanged): Ditto.
432 2013-02-10 Andreas Kling <akling@apple.com>
434 RenderStyle should use copy-on-write inheritance for NinePieceImage.
435 <http://webkit.org/b/109366>
437 Reviewed by Antti Koivisto.
439 Refactor NinePieceImage to hold a copy-on-write DataRef like other RenderStyle substructures.
440 This allows us to avoids copying the NinePieceImageData when one RenderStyle inherits from another
441 but modifies something in the substructure holding the NinePieceImage (typically StyleSurroundData.)
443 Also made RenderStyle not copy-on-write its StyleSurroundData prematurely when doing a no-op write
444 to a border-image related value.
446 1.23 MB progression on Membuster3.
448 * rendering/style/NinePieceImage.cpp:
449 (WebCore::defaultData):
450 (WebCore::NinePieceImage::NinePieceImage):
451 (WebCore::NinePieceImageData::NinePieceImageData):
452 (WebCore::NinePieceImageData::operator==):
453 * rendering/style/NinePieceImage.h:
454 (WebCore::NinePieceImageData::create):
455 (WebCore::NinePieceImageData::copy):
456 (NinePieceImageData):
458 (WebCore::NinePieceImage::operator==):
459 (WebCore::NinePieceImage::operator!=):
460 (WebCore::NinePieceImage::hasImage):
461 (WebCore::NinePieceImage::image):
462 (WebCore::NinePieceImage::setImage):
463 (WebCore::NinePieceImage::imageSlices):
464 (WebCore::NinePieceImage::setImageSlices):
465 (WebCore::NinePieceImage::fill):
466 (WebCore::NinePieceImage::setFill):
467 (WebCore::NinePieceImage::borderSlices):
468 (WebCore::NinePieceImage::setBorderSlices):
469 (WebCore::NinePieceImage::outset):
470 (WebCore::NinePieceImage::setOutset):
471 (WebCore::NinePieceImage::horizontalRule):
472 (WebCore::NinePieceImage::setHorizontalRule):
473 (WebCore::NinePieceImage::verticalRule):
474 (WebCore::NinePieceImage::setVerticalRule):
475 (WebCore::NinePieceImage::copyImageSlicesFrom):
476 (WebCore::NinePieceImage::copyBorderSlicesFrom):
477 (WebCore::NinePieceImage::copyOutsetFrom):
478 (WebCore::NinePieceImage::copyRepeatFrom):
479 (WebCore::NinePieceImage::setMaskDefaults):
480 (WebCore::NinePieceImage::computeOutset):
481 * rendering/style/RenderStyle.cpp:
482 (WebCore::RenderStyle::setBorderImageSource):
483 (WebCore::RenderStyle::setBorderImageSlices):
484 (WebCore::RenderStyle::setBorderImageWidth):
485 (WebCore::RenderStyle::setBorderImageOutset):
486 * rendering/style/RenderStyle.h:
488 2013-02-10 Kent Tamura <tkent@chromium.org>
490 Unreviewed, rolling out r142343.
491 http://trac.webkit.org/changeset/142343
492 https://bugs.webkit.org/show_bug.cgi?id=108284
494 It might make inspector/profiler/selector-profiler-url.html
500 * html/HTMLPlugInElement.cpp:
501 (WebCore::HTMLPlugInElement::defaultEventHandler):
502 * html/HTMLPlugInImageElement.cpp:
503 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
504 (WebCore::HTMLPlugInImageElement::createRenderer):
505 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
506 (WebCore::HTMLPlugInImageElement::updateSnapshot):
507 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
508 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
509 * html/HTMLPlugInImageElement.h:
511 (HTMLPlugInImageElement):
512 * page/ChromeClient.h:
513 (WebCore::ChromeClient::plugInStartLabelImage):
514 * platform/LocalizedStrings.cpp:
515 * platform/LocalizedStrings.h:
516 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
517 * platform/chromium/LocalizedStringsChromium.cpp:
518 * platform/efl/LocalizedStringsEfl.cpp:
520 * platform/gtk/LocalizedStringsGtk.cpp:
522 * platform/qt/LocalizedStringsQt.cpp:
523 * rendering/RenderSnapshottedPlugIn.cpp:
525 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
526 (WebCore::RenderSnapshottedPlugIn::paint):
527 (WebCore::RenderSnapshottedPlugIn::paintReplaced):
528 (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
529 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
530 (WebCore::RenderSnapshottedPlugIn::startLabelImage):
531 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
532 (WebCore::RenderSnapshottedPlugIn::getCursor):
533 (WebCore::RenderSnapshottedPlugIn::handleEvent):
534 (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel):
535 * rendering/RenderSnapshottedPlugIn.h:
537 2013-02-10 Andreas Kling <akling@apple.com>
539 RenderText: Access characters through m_text instead of caching data pointers separately.
540 <http://webkit.org/b/109357>
542 Reviewed by Antti Koivisto.
544 Go through RenderText::m_text.impl() instead of caching the character data pointer.
545 RenderText should never have a null String in m_text so it's safe to access impl() directly.
546 We have assertions for this since before.
548 Removing this pointer shrinks RenderText by 8 bytes, allowing it to fit into a snugger size class.
549 749 KB progression on Membuster3.
551 * rendering/RenderText.cpp:
552 (SameSizeAsRenderText):
553 (WebCore::RenderText::RenderText):
554 (WebCore::RenderText::setTextInternal):
555 * rendering/RenderText.h:
556 (WebCore::RenderText::is8Bit):
557 (WebCore::RenderText::characters8):
558 (WebCore::RenderText::characters16):
559 (WebCore::RenderText::characterAt):
560 (WebCore::RenderText::operator[]):
563 2013-02-10 Jae Hyun Park <jae.park08@gmail.com>
565 Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
566 https://bugs.webkit.org/show_bug.cgi?id=104266
568 Reviewed by Philippe Normand.
570 Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
571 the existing macro naming conventions.
574 USE() - use a particular third-party library or optional OS service
575 ENABLE() - turn on a specific feature of WebKit
577 No new tests, no new functionality.
581 2013-02-10 Zan Dobersek <zdobersek@igalia.com>
583 [GTK] Build errors in TextureMapperShaderProgram.cpp when compiling with Clang
584 https://bugs.webkit.org/show_bug.cgi?id=109321
586 Reviewed by Noam Rosenthal.
588 Clang is reporting errors due to non-constant expressions that cannot be narrowed
589 from double to float type in initializer list when constructing a matrix of GC3Dfloat
590 numbers. To avoid this every parameter is passed through an explicit GC3Dfloat constructor.
592 No new tests - no new functionality.
594 * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
595 (WebCore::TextureMapperShaderProgram::setMatrix):
597 2013-02-10 Philippe Normand <pnormand@igalia.com>
599 [GStreamer] audio is muted when playback rate is between 0.8 and 2.0
600 https://bugs.webkit.org/show_bug.cgi?id=109362
602 Reviewed by Martin Robinson.
604 Don't mute sound if the audio pitch is preserved. If this is not
605 the case mute it if it's too extreme, as the HTML5 spec recommends.
607 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
608 (WebCore::MediaPlayerPrivateGStreamer::setRate):
610 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
612 fast/encoding/parser-tests-*.html tests sometimes crash
613 https://bugs.webkit.org/show_bug.cgi?id=108058
615 Reviewed by Chris Fleizach.
617 To avoid calling accessibilityIsIgnored while the render
618 tree is unstable, call accessibilityIsIgnored in the
619 notification timer handler, only for childrenChanged
622 This exposed a problem where notifications queued on
623 objects can fire after the object has been deleted; fix that
624 by checking the object's id, which is always set to 0 when
625 removed from the tree.
627 Covered by existing tests.
629 * accessibility/AXObjectCache.cpp:
630 (WebCore::AXObjectCache::childrenChanged):
631 (WebCore::AXObjectCache::notificationPostTimerFired):
633 2013-02-09 Eric Carlson <eric.carlson@apple.com>
635 [Mac] Do not assume MediaAccessibility framework is installed
636 https://bugs.webkit.org/show_bug.cgi?id=109365
638 Reviewed by Sam Weinig.
640 * page/CaptionUserPreferencesMac.h:
641 * page/CaptionUserPreferencesMac.mm:
642 (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
644 (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
645 (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
646 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
647 (WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
648 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
649 (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
650 (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
651 (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
653 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
655 AX: move isIgnored caching to AXObject
656 https://bugs.webkit.org/show_bug.cgi?id=109322
658 Reviewed by Chris Fleizach.
660 There's some benefit to caching accessibilityIsIgnored
661 (using AXComputedObjectAttributeCache) for more than just
662 AXRenderObject, so move the caching code to AXObject.
664 AXObject now has a protected virtual method
665 computeAccessibilityIsIgnored, and all subclasses
666 override that instead.
670 * accessibility/AccessibilityImageMapLink.h:
671 (AccessibilityImageMapLink):
672 (WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
673 * accessibility/AccessibilityList.cpp:
674 (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
675 * accessibility/AccessibilityList.h:
677 * accessibility/AccessibilityListBox.cpp:
678 (WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
679 * accessibility/AccessibilityListBox.h:
680 (AccessibilityListBox):
681 * accessibility/AccessibilityListBoxOption.cpp:
682 (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
683 * accessibility/AccessibilityListBoxOption.h:
684 (AccessibilityListBoxOption):
685 * accessibility/AccessibilityMediaControls.cpp:
686 (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
687 (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
688 * accessibility/AccessibilityMediaControls.h:
689 (AccessibilityMediaControl):
690 (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
691 (AccessibilityMediaTimeDisplay):
692 * accessibility/AccessibilityMenuList.h:
693 (WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
694 * accessibility/AccessibilityMenuListOption.cpp:
695 (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
696 * accessibility/AccessibilityMenuListOption.h:
697 (AccessibilityMenuListOption):
698 * accessibility/AccessibilityMenuListPopup.cpp:
699 (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
700 * accessibility/AccessibilityMenuListPopup.h:
701 (AccessibilityMenuListPopup):
702 * accessibility/AccessibilityNodeObject.cpp:
703 (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
704 * accessibility/AccessibilityNodeObject.h:
705 (AccessibilityNodeObject):
706 * accessibility/AccessibilityObject.cpp:
707 (WebCore::AccessibilityObject::accessibilityIsIgnored):
709 * accessibility/AccessibilityObject.h:
710 (AccessibilityObject):
711 (WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
712 * accessibility/AccessibilityProgressIndicator.cpp:
713 (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
714 * accessibility/AccessibilityProgressIndicator.h:
715 (AccessibilityProgressIndicator):
716 * accessibility/AccessibilityRenderObject.cpp:
717 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
718 * accessibility/AccessibilityRenderObject.h:
719 (AccessibilityRenderObject):
720 * accessibility/AccessibilityScrollView.cpp:
721 (WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
722 * accessibility/AccessibilityScrollView.h:
723 (AccessibilityScrollView):
724 * accessibility/AccessibilityScrollbar.h:
725 (WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
726 * accessibility/AccessibilitySlider.cpp:
727 (WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
728 (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
729 * accessibility/AccessibilitySlider.h:
730 (AccessibilitySlider):
731 (AccessibilitySliderThumb):
732 * accessibility/AccessibilitySpinButton.h:
733 (WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
734 (WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
735 * accessibility/AccessibilityTable.cpp:
736 (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
737 * accessibility/AccessibilityTable.h:
738 (AccessibilityTable):
739 * accessibility/AccessibilityTableCell.cpp:
740 (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
741 * accessibility/AccessibilityTableCell.h:
742 (AccessibilityTableCell):
743 * accessibility/AccessibilityTableColumn.cpp:
744 (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
745 * accessibility/AccessibilityTableColumn.h:
746 (AccessibilityTableColumn):
747 * accessibility/AccessibilityTableHeaderContainer.cpp:
748 (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
749 * accessibility/AccessibilityTableHeaderContainer.h:
750 (AccessibilityTableHeaderContainer):
751 * accessibility/AccessibilityTableRow.cpp:
752 (WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
753 * accessibility/AccessibilityTableRow.h:
754 (AccessibilityTableRow):
756 2013-02-09 David Farler <dfarler@apple.com>
758 Make TestWebKitAPI work for iOS
759 https://bugs.webkit.org/show_bug.cgi?id=108978
761 Reviewed by David Kilzer.
763 Tests already exist - refactor only.
765 * WebCore.exp.in: Lumped __ZNK7WebCore4KURL7hasPathEv with related methods.
766 * platform/KURL.cpp: Inlined hasPath() into the header
767 * platform/KURL.h: Inlined hasPath() into the header
769 2013-02-09 Adam Barth <abarth@webkit.org>
771 Load event fires too early with threaded HTML parser
772 https://bugs.webkit.org/show_bug.cgi?id=108984
774 Reviewed by Eric Seidel.
776 Previously, the DocumentLoader would always be on the stack when the
777 HTMLDocumentParser was processing data from the network. The
778 DocumentLoader would then tell isLoadingInAPISense not to fire the load
779 event. Now that we process data asynchronously with the threaded
780 parser, the DocumentLoader is not always on the stack, which means we
781 need to delay the load event using the clause that asks the parser
782 whether it is processing data.
784 Unfortunately, that clause is fragile because we can check for load
785 completion while we're switching parsers between the network-created
786 parser and a script-created parser. To avoid accidentially triggerin
787 the load event during these "gaps," this patch introduces a counter on
788 document to record how many parsers are active on the stack. While
789 that numer is non-zero, we'll delay the load event. When that number
790 reaches zero, we'll check for load complete.
792 That last step is required because the DocumentLoader::finishLoading
793 method is no longer guarunteed to check for load complete after calling
794 finish on the parser because the finish operation might complete
797 After this patch, the threaded parser passes all but four fast/parser
801 (WebCore::Document::Document):
802 (WebCore::Document::hasActiveParser):
804 (WebCore::Document::decrementActiveParserCount):
807 (WebCore::Document::incrementActiveParserCount):
808 * html/parser/HTMLDocumentParser.cpp:
809 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
810 (WebCore::HTMLDocumentParser::pumpTokenizer):
811 * html/parser/HTMLParserScheduler.cpp:
812 (WebCore::ActiveParserSession::ActiveParserSession):
814 (WebCore::ActiveParserSession::~ActiveParserSession):
815 (WebCore::PumpSession::PumpSession):
816 (WebCore::PumpSession::~PumpSession):
817 * html/parser/HTMLParserScheduler.h:
819 (ActiveParserSession):
821 * loader/DocumentLoader.cpp:
822 (WebCore::DocumentLoader::isLoadingInAPISense):
824 2013-02-09 Mike West <mkwst@chromium.org>
826 Use IGNORE_EXCEPTION for initialized, but unused, ExceptionCodes.
827 https://bugs.webkit.org/show_bug.cgi?id=109295
829 Reviewed by Darin Adler.
831 The monster patch in http://wkbug.com/108771 missed an entire class of
832 ignored exceptions. It only dealt with call sites that never initialized
833 the ExceptionCode variable, on the assumption that only such call sites
834 would ignore the variable's value.
836 That was a flawed assumption: a large number of sites that initialize the
837 ExceptionCode to 0 ignore it regardless. This patch deals with the
838 almost-as-large set of callsites that initialize the variable, pass it to
839 a function, and then never touch it again.
841 * Modules/indexeddb/IDBDatabase.cpp:
842 (WebCore::IDBDatabase::forceClose):
843 * accessibility/AccessibilityRenderObject.cpp:
844 (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
845 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
846 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
847 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
848 (getSelectionOffsetsForObject):
849 * accessibility/atk/WebKitAccessibleUtil.cpp:
850 (selectionBelongsToObject):
852 (WebCore::Node::textRects):
853 * editing/DeleteButtonController.cpp:
854 (WebCore::DeleteButtonController::hide):
855 * editing/EditingStyle.cpp:
856 (WebCore::EditingStyle::styleAtSelectionStart):
857 * editing/Editor.cpp:
858 (WebCore::Editor::canDeleteRange):
859 (WebCore::Editor::pasteAsPlainText):
860 (WebCore::Editor::pasteAsFragment):
861 (WebCore::Editor::shouldDeleteRange):
862 (WebCore::Editor::dispatchCPPEvent):
863 (WebCore::Editor::setComposition):
864 (WebCore::Editor::advanceToNextMisspelling):
865 (WebCore::isFrameInRange):
866 * editing/EditorCommand.cpp:
867 (WebCore::expandSelectionToGranularity):
868 * editing/MergeIdenticalElementsCommand.cpp:
869 (WebCore::MergeIdenticalElementsCommand::doApply):
870 * editing/SplitElementCommand.cpp:
871 (WebCore::SplitElementCommand::doUnapply):
872 * editing/SplitTextNodeCommand.cpp:
873 (WebCore::SplitTextNodeCommand::doApply):
874 * editing/TextCheckingHelper.cpp:
875 (WebCore::expandToParagraphBoundary):
876 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
877 (WebCore::TextCheckingHelper::isUngrammatical):
878 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
879 * editing/TextInsertionBaseCommand.cpp:
880 (WebCore::dispatchBeforeTextInsertedEvent):
881 (WebCore::canAppendNewLineFeedToSelection):
882 * editing/TextIterator.cpp:
883 (WebCore::findPlainText):
884 * editing/htmlediting.cpp:
885 (WebCore::extendRangeToWrappingNodes):
886 (WebCore::isNodeVisiblyContainedWithin):
887 * editing/visible_units.cpp:
888 (WebCore::nextBoundary):
889 * html/FileInputType.cpp:
890 (WebCore::FileInputType::createShadowSubtree):
891 * html/HTMLKeygenElement.cpp:
892 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
893 * html/HTMLScriptElement.cpp:
894 (WebCore::HTMLScriptElement::setText):
895 * html/HTMLTitleElement.cpp:
896 (WebCore::HTMLTitleElement::setText):
897 * html/HTMLTrackElement.cpp:
898 (WebCore::HTMLTrackElement::didCompleteLoad):
899 * html/RangeInputType.cpp:
900 (WebCore::RangeInputType::createShadowSubtree):
901 * html/SearchInputType.cpp:
902 (WebCore::SearchInputType::createShadowSubtree):
903 * html/TextFieldInputType.cpp:
904 (WebCore::TextFieldInputType::createShadowSubtree):
905 * html/track/TextTrackList.cpp:
906 (TextTrackList::asyncEventTimerFired):
907 * inspector/DOMPatchSupport.cpp:
908 (WebCore::DOMPatchSupport::patchDocument):
909 * inspector/InspectorDatabaseAgent.cpp:
911 * inspector/InspectorFileSystemAgent.cpp:
913 * page/DOMSelection.cpp:
914 (WebCore::DOMSelection::addRange):
915 * page/DragController.cpp:
916 (WebCore::DragController::dispatchTextInputEventFor):
917 * page/EventHandler.cpp:
918 (WebCore::EventHandler::dispatchMouseEvent):
919 (WebCore::EventHandler::handleTouchEvent):
920 * page/FrameActionScheduler.cpp:
921 (WebCore::EventFrameAction::fire):
922 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
923 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
924 * svg/SVGDocument.cpp:
925 (WebCore::SVGDocument::dispatchZoomEvent):
926 (WebCore::SVGDocument::dispatchScrollEvent):
928 (WebCore::SVGLength::SVGLength):
929 (WebCore::SVGLength::value):
930 * xml/parser/XMLDocumentParser.cpp:
931 (WebCore::XMLDocumentParser::exitText):
932 * xml/parser/XMLDocumentParserQt.cpp:
933 (WebCore::XMLDocumentParser::parse):
934 (WebCore::XMLDocumentParser::startDocument):
935 (WebCore::XMLDocumentParser::parseCharacters):
937 2013-02-09 Stephen White <senorblanco@chromium.org>
939 [skia] Fix memory management in SkiaImageFilterBuilder and friends.
940 https://bugs.webkit.org/show_bug.cgi?id=109326
942 Sadly, skia has no official ref-counted pointers, so we must make do
945 Reviewed by James Robinson.
947 Correctness covered by existing tests in css3/filters.
949 * platform/graphics/filters/skia/FEBlendSkia.cpp:
950 (WebCore::FEBlend::createImageFilter):
951 * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
952 (WebCore::FEComponentTransfer::createImageFilter):
953 * platform/graphics/filters/skia/FELightingSkia.cpp:
954 (WebCore::FELighting::createImageFilter):
955 Adopt refs produced by the build() pass with SkAutoTUnref.
956 * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
957 (WebCore::SkiaImageFilterBuilder::~SkiaImageFilterBuilder):
958 Unref the builder's hashmap effect pointers.
959 (WebCore::SkiaImageFilterBuilder::build):
960 Ref the pointer returned to the caller, and use SkAutoTUnref
961 internally while building the tree.
962 * platform/graphics/filters/skia/SkiaImageFilterBuilder.h:
963 (SkiaImageFilterBuilder):
964 Add a destructor to SkiaImageFilterBuilder.
967 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
969 AX: Rename AXObject::cachedIsIgnoredValue to lastKnownIsIgnoredValue
970 https://bugs.webkit.org/show_bug.cgi?id=108238
972 Reviewed by Chris Fleizach.
974 Simple refactoring, no new tests.
976 * accessibility/AXObjectCache.cpp:
977 (WebCore::AXObjectCache::getOrCreate):
978 (WebCore::AXObjectCache::childrenChanged):
979 * accessibility/AccessibilityObject.cpp:
980 (WebCore::AccessibilityObject::AccessibilityObject):
981 (WebCore::AccessibilityObject::lastKnownIsIgnoredValue):
982 (WebCore::AccessibilityObject::setLastKnownIsIgnoredValue):
983 (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
984 * accessibility/AccessibilityObject.h:
985 (AccessibilityObject):
987 2013-02-09 Anton Vayvod <avayvod@chromium.org>
989 [Text Autosizing] Cleanup change: converter the pointer argument to be a reference since
990 non-null pointer is always expected.
991 https://bugs.webkit.org/show_bug.cgi?id=109079
993 Reviewed by Kenneth Rohde Christiansen.
995 Cleanup change, no need to add new tests or modify the existing ones.
997 * rendering/TextAutosizer.cpp:
999 Changed parameter from a pointer to a reference in the methods below.
1001 (WebCore::TextAutosizer::processSubtree):
1002 (WebCore::TextAutosizer::processCluster):
1003 (WebCore::TextAutosizer::processContainer):
1004 (WebCore::TextAutosizer::isNarrowDescendant):
1005 (WebCore::TextAutosizer::isWiderDescendant):
1006 (WebCore::TextAutosizer::isAutosizingCluster):
1007 (WebCore::TextAutosizer::clusterShouldBeAutosized):
1008 (WebCore::TextAutosizer::measureDescendantTextWidth):
1010 * rendering/TextAutosizer.h: updated method prototypes.
1012 2013-02-09 Rafael Brandao <rafael.lobo@openbossa.org>
1014 [TexMap] Separate classes per file in TextureMapperBackingStore.h
1015 https://bugs.webkit.org/show_bug.cgi?id=109333
1017 Reviewed by Noam Rosenthal.
1019 TextureMapperBackingStore.h had the classes TextureMapperBackingStore,
1020 TextureMapperTiledBackingStore, TextureMapperSurfaceBackingStore and
1021 TextureMapperTile which was quite confusing. Now each one has its
1022 own header and its own source file.
1024 No new tests needed, refactoring only.
1027 * GNUmakefile.list.am:
1030 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1031 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1032 * platform/graphics/texmap/TextureMapperBackingStore.h:
1033 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp: Added.
1035 (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
1036 (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
1037 (WebCore::TextureMapperSurfaceBackingStore::texture):
1038 (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
1039 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h: Added.
1041 (TextureMapperSurfaceBackingStore):
1042 (WebCore::TextureMapperSurfaceBackingStore::create):
1043 (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore):
1044 (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
1045 * platform/graphics/texmap/TextureMapperTile.cpp: Added.
1047 (WebCore::TextureMapperTile::updateContents):
1048 (WebCore::TextureMapperTile::paint):
1049 * platform/graphics/texmap/TextureMapperTile.h: Added.
1051 (TextureMapperTile):
1052 (WebCore::TextureMapperTile::texture):
1053 (WebCore::TextureMapperTile::rect):
1054 (WebCore::TextureMapperTile::setTexture):
1055 (WebCore::TextureMapperTile::setRect):
1056 (WebCore::TextureMapperTile::~TextureMapperTile):
1057 (WebCore::TextureMapperTile::TextureMapperTile):
1058 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp.
1060 (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
1061 (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1062 (WebCore::TextureMapperTiledBackingStore::adjustedTransformForRect):
1063 (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
1064 (WebCore::TextureMapperTiledBackingStore::drawBorder):
1065 (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
1066 (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1067 (WebCore::TextureMapperTiledBackingStore::updateContents):
1068 (WebCore::TextureMapperTiledBackingStore::texture):
1069 * platform/graphics/texmap/TextureMapperTiledBackingStore.h: Added.
1071 (TextureMapperTiledBackingStore):
1072 (WebCore::TextureMapperTiledBackingStore::create):
1073 (WebCore::TextureMapperTiledBackingStore::~TextureMapperTiledBackingStore):
1074 (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
1075 (WebCore::TextureMapperTiledBackingStore::rect):
1076 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
1077 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1079 2013-02-09 Philip Rogers <pdr@google.com>
1081 Sanitize m_keyTimes for paced value animations
1082 https://bugs.webkit.org/show_bug.cgi?id=108828
1084 Reviewed by Dirk Schulze.
1086 SVG animations with calcMode=paced calculate new m_keyTimes in
1087 SVGAnimationElement::calculateKeyTimesForCalcModePaced() because paced animations do not
1088 specify keyTimes. If an error occurs while calculating m_keyTimes, and there exists
1089 user-specified values, a crash could occur because the user-specified values were not
1092 This change clears user-specified keyTimes before calculating new ones.
1094 Test: svg/animations/animate-keytimes-crash.html
1096 * svg/SVGAnimationElement.cpp:
1097 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
1099 2013-02-09 Eric Seidel <eric@webkit.org>
1101 Fix TextDocumentParser to play nice with threading
1102 https://bugs.webkit.org/show_bug.cgi?id=109240
1104 Reviewed by Adam Barth.
1106 Before the HTML5 parser re-write the text document parser
1107 was completely custom. With the HTML5 parser, we just made
1108 the TextDocumentParser use the HTMLDocumentParser with an
1109 artificial script tag.
1111 However, our solution was slightly over-engineered to avoid
1112 lying about the column numbers of the first line of the text document
1115 This change makes us use a simpler (and threading-compatible)
1116 solution by just inserting a real "<pre>" tag into the
1117 input stream instead of hacking one together with the treebuilder
1118 and manually setting the Tokenizer state.
1120 fast/parser/empty-text-resource.html covers this case.
1122 * html/parser/TextDocumentParser.cpp:
1123 (WebCore::TextDocumentParser::TextDocumentParser):
1124 (WebCore::TextDocumentParser::insertFakePreElement):
1126 2013-02-09 Kent Tamura <tkent@chromium.org>
1128 Add missing copyright header
1129 https://bugs.webkit.org/show_bug.cgi?id=107507
1131 * Resources/pagepopups/chromium/calendarPickerChromium.css:
1132 * Resources/pagepopups/chromium/pickerCommonChromium.css:
1134 2013-02-09 Kent Tamura <tkent@chromium.org>
1136 Fix crash by img[ismap] with content property
1137 https://bugs.webkit.org/show_bug.cgi?id=108702
1139 Reviewed by Adam Barth.
1141 Test: fast/dom/HTMLAnchorElement/anchor-ismap-crash.html
1143 * html/HTMLAnchorElement.cpp:
1144 (WebCore::appendServerMapMousePosition):
1145 Check if the renderer of an img element is RenderImage.
1147 2013-02-09 Mike West <mkwst@chromium.org>
1149 Drop ExceptionCode from IDB's directionToString and modeToString.
1150 https://bugs.webkit.org/show_bug.cgi?id=109143
1152 Reviewed by Jochen Eisinger.
1154 No caller of either IDBCursor::directionToString or
1155 IDBTransaction::modeToString makes use of the ExceptionCode these
1156 methods require. This patch removes the 'ExceptionCode&' parameter from
1157 both methods and their callsites.
1159 * Modules/indexeddb/IDBCursor.cpp:
1160 (WebCore::IDBCursor::direction):
1161 (WebCore::IDBCursor::directionToString):
1162 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
1163 exception previously generated with ASSERT_NOT_REACHED.
1164 * Modules/indexeddb/IDBCursor.h:
1165 * Modules/indexeddb/IDBTransaction.cpp:
1166 (WebCore::IDBTransaction::mode):
1167 (WebCore::IDBTransaction::modeToString):
1168 Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
1169 exception previously generated with ASSERT_NOT_REACHED.
1170 * Modules/indexeddb/IDBTransaction.h:
1172 2013-02-09 Kondapally Kalyan <kalyan.kondapally@intel.com>
1174 [EFL][Qt][WebGL] Share the common code between GraphicsSurfaceGLX and X11WindowResources.
1175 https://bugs.webkit.org/show_bug.cgi?id=106666
1177 Reviewed by Kenneth Rohde Christiansen.
1179 Covered by existing WebGL tests.
1181 This patch removes any duplicate code in X11WindowResources and
1182 GraphicsSurfaceGLX. No new functionality is added.
1184 * PlatformEfl.cmake:
1186 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
1187 (WebCore::EGLConfigSelector::pixmapContextConfig):
1188 * platform/graphics/surfaces/egl/EGLConfigSelector.h:
1189 (EGLConfigSelector):
1190 * platform/graphics/surfaces/egl/EGLSurface.cpp:
1191 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
1192 (WebCore::EGLWindowTransportSurface::destroy):
1193 (WebCore::EGLWindowTransportSurface::setGeometry):
1194 * platform/graphics/surfaces/egl/EGLSurface.h:
1196 (EGLWindowTransportSurface):
1197 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
1198 (WebCore::GLXConfigSelector::GLXConfigSelector):
1199 (WebCore::GLXConfigSelector::visualInfo):
1200 (WebCore::GLXConfigSelector::pBufferContextConfig):
1201 (WebCore::GLXConfigSelector::createSurfaceConfig):
1202 (GLXConfigSelector):
1203 * platform/graphics/surfaces/glx/GLXContext.cpp:
1204 (WebCore::initializeARBExtensions):
1205 (WebCore::GLXOffScreenContext::GLXOffScreenContext):
1206 (WebCore::GLXOffScreenContext::initialize):
1207 (WebCore::GLXOffScreenContext::platformReleaseCurrent):
1208 (WebCore::GLXOffScreenContext::freeResources):
1209 * platform/graphics/surfaces/glx/GLXContext.h:
1210 (GLXOffScreenContext):
1211 * platform/graphics/surfaces/glx/GLXSurface.cpp:
1212 (WebCore::GLXTransportSurface::GLXTransportSurface):
1213 (WebCore::GLXTransportSurface::setGeometry):
1214 (WebCore::GLXTransportSurface::destroy):
1215 (WebCore::GLXPBuffer::initialize):
1216 * platform/graphics/surfaces/glx/GLXSurface.h:
1217 (GLXTransportSurface):
1219 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1221 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1222 (WebCore::GraphicsSurfacePrivate::initialize):
1223 (GraphicsSurfacePrivate):
1224 (WebCore::GraphicsSurfacePrivate::createSurface):
1225 (WebCore::GraphicsSurfacePrivate::createPixmap):
1226 (WebCore::GraphicsSurfacePrivate::display):
1227 (WebCore::GraphicsSurfacePrivate::flags):
1228 (WebCore::GraphicsSurfacePrivate::clear):
1229 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1230 No new functionality added. Made changes to take the common code into use.
1232 * platform/graphics/surfaces/glx/X11WindowResources.h: Removed.
1233 * platform/graphics/surfaces/glx/X11Helper.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/glx/X11WindowResources.cpp.
1235 (WebCore::DisplayConnection::DisplayConnection):
1236 (DisplayConnection):
1237 (WebCore::DisplayConnection::~DisplayConnection):
1238 (WebCore::DisplayConnection::display):
1239 (OffScreenRootWindow):
1240 (WebCore::OffScreenRootWindow::OffScreenRootWindow):
1241 (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
1242 (WebCore::OffScreenRootWindow::rootWindow):
1243 (WebCore::X11Helper::resizeWindow):
1244 (WebCore::X11Helper::createOffScreenWindow):
1245 (WebCore::X11Helper::destroyWindow):
1246 (WebCore::X11Helper::isXRenderExtensionSupported):
1247 (WebCore::X11Helper::nativeDisplay):
1248 (WebCore::X11Helper::offscreenRootWindow):
1249 * platform/graphics/surfaces/glx/X11Helper.h: Added.
1251 (WebCore::handleXPixmapCreationError):
1253 (ScopedXPixmapCreationErrorHandler):
1254 (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
1255 (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
1256 (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
1257 Moved common code from GraphicsSurfaceGLX to X11Helper.
1259 2013-02-09 Andrey Lushnikov <lushnikov@chromium.org>
1261 Web Inspector: show whitespace characters in DTE
1262 https://bugs.webkit.org/show_bug.cgi?id=108947
1264 Reviewed by Pavel Feldman.
1266 New test: inspector/editor/text-editor-show-whitespaces.html
1268 Split consecutive whitespace characters into groups of 16, 8, 4, 2 and 1 and
1269 add ::before pseudoclass for this groups which contains necessary
1270 amount of "dots" (u+00b7). Add a setting "Show whitespace" for this
1271 option in "Sources" section of "General" tab.
1273 * English.lproj/localizedStrings.js:
1274 * inspector/front-end/DefaultTextEditor.js:
1275 (WebInspector.TextEditorMainPanel.prototype.wasShown):
1276 (WebInspector.TextEditorMainPanel.prototype.willHide):
1277 (WebInspector.TextEditorMainPanel.prototype._renderRanges):
1278 (WebInspector.TextEditorMainPanel.prototype._renderWhitespaceCharsWithFixedSizeSpans):
1279 (WebInspector.TextEditorMainPanel.prototype._paintLine):
1280 * inspector/front-end/Settings.js:
1281 * inspector/front-end/SettingsScreen.js:
1282 (WebInspector.GenericSettingsTab):
1283 * inspector/front-end/inspectorSyntaxHighlight.css:
1284 (.webkit-whitespace-1::before):
1285 (.webkit-whitespace-2::before):
1286 (.webkit-whitespace-4::before):
1287 (.webkit-whitespace-8::before):
1288 (.webkit-whitespace-16::before):
1289 (.webkit-whitespace::before):
1291 2013-02-08 Eric Carlson <eric.carlson@apple.com>
1293 [Mac] respect in-band caption color
1294 https://bugs.webkit.org/show_bug.cgi?id=109203
1296 Reviewed by Dean Jackson.
1298 Test: media/track/track-in-band-style.html
1300 * WebCore.xcodeproj/project.pbxproj: Add HTMLDivElement.h to private headers because it is
1301 included by HTMLTextElement, which is included by HTMLMediaElement.h, which is included
1302 by files in WebKit/WebKit2.
1303 * html/track/InbandTextTrack.cpp:
1304 (WebCore::InbandTextTrack::addGenericCue): Set cue colors if necessary.
1306 * html/track/TextTrackCue.h:
1307 (WebCore::TextTrackCue::element): New, accessor for the cue element so it can be styled.
1309 * html/track/TextTrackCueGeneric.cpp:
1310 (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set container and cue background
1312 (WebCore::TextTrackCueGeneric::operator==): Compare cue colors.
1313 * html/track/TextTrackCueGeneric.h:
1314 (WebCore::TextTrackCueGeneric::foregroundColor): Add color accessors.
1315 (WebCore::TextTrackCueGeneric::setForegroundColor):
1316 (WebCore::TextTrackCueGeneric::backgroundColor):
1317 (WebCore::TextTrackCueGeneric::setBackgroundColor):
1319 * page/CaptionUserPreferencesMac.mm:
1320 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Always
1321 regenerate override CSS when an element registers for callbacks.
1322 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Drive by fix of "window color" padding.
1323 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Log the stylesheet generated
1324 for easier debugging.
1326 * platform/graphics/InbandTextTrackPrivateClient.h:
1327 (WebCore::GenericCueData::foregroundColor): Add color getters/setters.
1328 (WebCore::GenericCueData::setForegroundColor):
1329 (WebCore::GenericCueData::backgroundColor):
1330 (WebCore::GenericCueData::setBackgroundColor):
1332 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1333 (WebCore::makeRGBA32FromARGBCFArray): Initialize a RGBA32 from a CFArray of color values.
1334 (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process cue colors.
1336 2013-02-08 Benjamin Poulain <bpoulain@apple.com>
1338 Move workerThreadCount from TestRunner to WebCore Internals
1339 https://bugs.webkit.org/show_bug.cgi?id=109239
1341 Reviewed by Darin Adler.
1343 Add the new read-only property workerThreadCount.
1345 * testing/Internals.cpp:
1346 (WebCore::Internals::workerThreadCount):
1348 * testing/Internals.h:
1350 * testing/Internals.idl:
1352 2013-02-08 Dean Jackson <dino@apple.com>
1354 Snapshotted plug-in should use shadow root
1355 https://bugs.webkit.org/show_bug.cgi?id=108284
1357 Reviewed by Simon Fraser.
1359 Take two! This time with updated exports file.
1361 A snapshotted plugin needs to indicate to the user that it can be clicked
1362 to be restarted. Previously this was done with an image that had embedded
1363 text. Instead, we now use an internal shadow root to embed some markup that
1364 will display instructions that can be localised.
1366 The UA stylesheet for plug-ins provides a default styling for the label, which
1367 can be overridden by ports.
1369 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
1370 since it is only responsible for drawing a paused plug-in. The snapshot creation
1371 can work with the default renderer, but a shadow root requires something like
1372 RenderBlock in order to draw its children. We swap from one renderer to another when
1373 necessary either by creating the shadow root or by explicitly detaching and attaching
1376 Unfortunately this is difficult to test, because the snapshotting requires
1377 time to execute, and also a PluginView to be instantiated.
1379 * WebCore.exp.in: Export the InlineBox interface.
1382 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
1384 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
1385 * platform/LocalizedStrings.h:
1386 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1387 * platform/chromium/LocalizedStringsChromium.cpp:
1388 * platform/efl/LocalizedStringsEfl.cpp:
1389 * platform/gtk/LocalizedStringsGtk.cpp:
1390 * platform/qt/LocalizedStringsQt.cpp:
1392 * html/HTMLPlugInElement.cpp:
1393 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
1394 that RenderSnapshottedPlugIn no longer is an embedded object.
1396 * html/HTMLPlugInImageElement.cpp:
1397 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
1398 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
1399 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
1400 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
1401 a renderer, otherwise use the typical plug-in path.
1402 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
1403 need to give it to the renderer.
1404 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
1405 * html/HTMLPlugInImageElement.h:
1406 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
1407 should show immediately.
1408 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
1409 to swap to the Shadow Root.
1410 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
1411 in being recreated. Make sure we reattach so that a plugin renderer will be created.
1412 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
1413 displayState for snapshots.
1414 * html/HTMLPlugInImageElement.h:
1415 (HTMLPlugInImageElement): The new methods listed above.
1416 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
1417 a snapshot should be immediately labeled.
1419 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
1421 * rendering/RenderSnapshottedPlugIn.cpp:
1422 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
1423 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
1424 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
1425 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
1426 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
1427 (WebCore::RenderSnapshottedPlugIn::getCursor):
1428 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
1429 * rendering/RenderSnapshottedPlugIn.h:
1430 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
1432 2013-02-08 Dean Jackson <dino@apple.com>
1434 Rolling out r142333 and r142337 which broke Mac Release builds.
1436 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
1438 Unreviewed, rolling out r142337.
1439 http://trac.webkit.org/changeset/142337
1440 https://bugs.webkit.org/show_bug.cgi?id=109339
1442 Breaking Mac release builds (Requested by dino_ on #webkit).
1444 * rendering/RenderSnapshottedPlugIn.h:
1446 2013-02-08 Dean Jackson <dino@apple.com>
1448 Attempted Mac and GTK build fix after r142333.
1450 * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
1452 2013-02-08 Andy Estes <aestes@apple.com>
1454 Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
1455 https://bugs.webkit.org/show_bug.cgi?id=109277
1457 Reviewed by Simon Fraser.
1459 Test: fast/flexbox/line-clamp-link-after-ellipsis.html
1461 Roll out r118852. Enough time has passed that this can't be done
1462 mechanically, so transcribe the old method definition to current
1465 * rendering/EllipsisBox.cpp:
1466 (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
1467 m_markupBox, so break the logic for finding the markup box from
1468 paintMarkupBox() into its own function.
1469 (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
1470 (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
1471 * rendering/EllipsisBox.h:
1472 (EllipsisBox): Declare markupBox().
1474 2013-02-08 Eric Carlson <eric.carlson@apple.com>
1476 [Mac] In-band closed caption tracks are not always initialized correctly
1477 https://bugs.webkit.org/show_bug.cgi?id=109323
1479 Reviewed by Dean Jackson.
1481 No new tests, this fix makes existing tests less flakey.
1483 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1484 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
1485 here instad of in tracksChanged.
1486 (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
1487 in-band track support.
1488 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to
1489 createAVPlayerItem, don't set look at track media type to see if the movie has captions
1490 when we have support for in-band captions.
1492 2013-02-08 Dean Jackson <dino@apple.com>
1494 Snapshotted plug-in should use shadow root
1495 https://bugs.webkit.org/show_bug.cgi?id=108284
1497 Reviewed by Simon Fraser.
1499 A snapshotted plugin needs to indicate to the user that it can be clicked
1500 to be restarted. Previously this was done with an image that had embedded
1501 text. Instead, we now use an internal shadow root to embed some markup that
1502 will display instructions that can be localised.
1504 The UA stylesheet for plug-ins provides a default styling for the label, which
1505 can be overridden by ports.
1507 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
1508 since it is only responsible for drawing a paused plug-in. The snapshot creation
1509 can work with the default renderer, but a shadow root requires something like
1510 RenderBlock in order to draw its children. We swap from one renderer to another when
1511 necessary either by creating the shadow root or by explicitly detaching and attaching
1514 Unfortunately this is difficult to test, because the snapshotting requires
1515 time to execute, and also a PluginView to be instantiated.
1518 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
1520 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
1521 * platform/LocalizedStrings.h:
1522 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1523 * platform/chromium/LocalizedStringsChromium.cpp:
1524 * platform/efl/LocalizedStringsEfl.cpp:
1525 * platform/gtk/LocalizedStringsGtk.cpp:
1526 * platform/qt/LocalizedStringsQt.cpp:
1528 * html/HTMLPlugInElement.cpp:
1529 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
1530 that RenderSnapshottedPlugIn no longer is an embedded object.
1532 * html/HTMLPlugInImageElement.cpp:
1533 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
1534 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
1535 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
1536 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
1537 a renderer, otherwise use the typical plug-in path.
1538 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
1539 need to give it to the renderer.
1540 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
1541 * html/HTMLPlugInImageElement.h:
1542 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
1543 should show immediately.
1544 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
1545 to swap to the Shadow Root.
1546 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
1547 in being recreated. Make sure we reattach so that a plugin renderer will be created.
1548 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
1549 displayState for snapshots.
1550 * html/HTMLPlugInImageElement.h:
1551 (HTMLPlugInImageElement): The new methods listed above.
1552 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
1553 a snapshot should be immediately labeled.
1555 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
1557 * rendering/RenderSnapshottedPlugIn.cpp:
1558 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
1559 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
1560 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
1561 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
1562 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
1563 (WebCore::RenderSnapshottedPlugIn::getCursor):
1564 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
1565 * rendering/RenderSnapshottedPlugIn.h:
1566 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
1568 2013-02-08 Kentaro Hara <haraken@chromium.org>
1570 {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
1571 https://bugs.webkit.org/show_bug.cgi?id=109265
1573 Reviewed by Dimitri Glazkov.
1575 Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
1576 We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
1578 No tests. No change in behavior.
1580 * dom/EventDispatchMediator.cpp:
1581 * dom/EventDispatchMediator.h:
1582 * dom/FocusEvent.cpp:
1583 (WebCore::FocusEventDispatchMediator::create):
1585 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1586 (WebCore::FocusEventDispatchMediator::dispatchEvent):
1587 (WebCore::BlurEventDispatchMediator::create):
1588 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1589 (WebCore::BlurEventDispatchMediator::dispatchEvent):
1590 (WebCore::FocusInEventDispatchMediator::create):
1591 (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1592 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1593 (WebCore::FocusOutEventDispatchMediator::create):
1594 (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1595 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1598 (FocusEventDispatchMediator):
1599 (BlurEventDispatchMediator):
1600 (FocusInEventDispatchMediator):
1601 (FocusOutEventDispatchMediator):
1605 2013-02-08 Jer Noble <jer.noble@apple.com>
1607 Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
1609 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1610 (WebCore::notificationName):
1612 2013-02-08 Jer Noble <jer.noble@apple.com>
1614 Bring WebKit up to speed with latest Encrypted Media spec.
1615 https://bugs.webkit.org/show_bug.cgi?id=97037
1617 Reviewed by Eric Carlson.
1619 The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
1620 HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
1621 has been pulled out of the media element, we create a proxy CDM class and factory system for
1622 creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
1623 into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
1624 keymessage events, respectively.
1626 Tests: media/encrypted-media/encrypted-media-v2-events.html
1627 media/encrypted-media/encrypted-media-v2-syntax.html
1629 CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
1630 implementation is registered with the CDMFactory and will be created if that implementation supports
1631 the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
1632 by concrete CDMPrivate subclasses. Its lifetime is owned by MediaKeySession.
1633 * Modules/encryptedmedia/CDM.cpp: Added.
1634 (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
1635 (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
1636 (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
1637 (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
1638 (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
1639 (WebCore::CDM::create): Simple constructor wrapper.
1640 (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
1641 (WebCore::CDM::~CDM): Simple destructor.
1642 (WebCore::CDM::createSession): Creates a new CDMSession.
1643 * Modules/encryptedmedia/CDM.h: Added.
1644 (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
1645 (WebCore::CDMSession::CDMSession): Simple constructor.
1646 (WebCore::CDMSession::~CDMSession): Simple destructor.
1647 * Modules/encryptedmedia/CDMPrivate.h: Added.
1648 (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
1649 (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
1651 The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
1652 the original MediaKeyMessageEvent.
1653 * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
1654 (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
1656 (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
1657 (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
1658 (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
1659 * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
1660 (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
1661 (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
1662 (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
1663 * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
1664 * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
1665 (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
1666 (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
1667 (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
1668 (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
1669 * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
1670 (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
1671 (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
1672 * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
1674 MediaKeySession is a new class that maps keys and key requests to a given session ID:
1675 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
1676 (WebCore::MediaKeySession::create): Simple construction wrapper.
1677 (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
1678 (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
1679 (WebCore::MediaKeySession::setError): Simple setter for m_error;
1680 (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
1681 (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
1682 (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
1683 (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
1684 (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
1685 * Modules/encryptedmedia/MediaKeySession.h: Added.
1686 (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
1687 (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
1688 (WebCore::MediaKeySession::error): Simple accessor for m_error;
1689 * Modules/encryptedmedia/MediaKeySession.idl:
1691 MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
1692 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
1693 (WebCore::MediaKeySession::interfaceName):
1694 * Modules/encryptedmedia/MediaKeySession.h: Added.
1695 (WebCore::MediaKeySession::refEventTarget):
1696 (WebCore::MediaKeySession::derefEventTarget):
1697 (WebCore::MediaKeySession::eventTargetData):
1698 (WebCore::MediaKeySession::ensureEventTargetData):
1699 (WebCore::MediaKeySession::scriptExecutionContext):
1701 MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
1702 * Modules/encryptedmedia/MediaKeys.cpp: Added.
1703 (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
1704 and a new MediaKeys session.
1705 (WebCore::MediaKeys::MediaKeys): Simple constructor.
1706 (WebCore::MediaKeys::~MediaKeys): Simple destructor.
1707 (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
1708 * Modules/encryptedmedia/MediaKeys.h: Added.
1709 * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
1711 Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
1712 * html/HTMLMediaElement.cpp:
1713 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
1714 * platform/graphics/MediaPlayer.cpp:
1715 (WebCore::MediaPlayer::keyNeeded):
1717 MediaKeyError now has a systemCode parameter and member variable.
1718 * html/MediaKeyError.h:
1719 (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
1720 (WebCore::MediaKeyError::MediaKeyError): Ditto.
1721 (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
1722 * html/MediaKeyError.idl:
1724 Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
1725 for the MediaKeyNeededEvent.
1726 * html/HTMLMediaElement.cpp:
1727 (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
1728 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
1729 than the deprecated version.
1730 * html/HTMLMediaElement.h:
1731 (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
1732 * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
1734 Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
1735 * html/MediaError.h:
1736 * html/MediaError.idl:
1737 * platform/graphics/MediaPlayer.cpp:
1738 (WebCore::bestMediaEngineForTypeAndCodecs):
1739 (WebCore::MediaPlayer::supportsType):
1740 * platform/graphics/MediaPlayer.h:
1741 (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
1744 Support the new version of canPlayType which takes an extra parameter:
1745 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1746 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1747 (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
1748 (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
1749 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1750 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1751 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
1752 (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
1754 Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
1756 * testing/Internals.cpp:
1757 (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
1758 * testing/Internals.h:
1759 * testing/Internals.idl: Add the initializeMockCDM() method.
1760 * testing/MockCDM.cpp: Added.
1761 (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
1762 (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
1763 (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
1764 (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
1765 (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
1766 (WebCore::generateSessionId): Return a monotonically increasing number.
1767 (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
1768 (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
1769 (WebCore::MockCDMSession::releaseKeys): No-op.
1770 (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
1771 * testing/MockCDM.h: Added.
1772 (WebCore::MockCDM::create):
1773 (WebCore::MockCDM::~MockCDM): Simple destructor.
1774 (WebCore::MockCDM::MockCDM): Simple constructor.
1776 Add the new classes to the built system:
1777 * Configurations/FeatureDefines.xcconfig:
1778 * DerivedSources.make:
1780 * WebCore.xcodeproj/project.pbxproj:
1782 Miscelaneous changes:
1783 * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
1784 * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
1785 * page/DOMWindow.idl: Add constructors for the new classes to the window object.
1787 2013-02-08 Chris Fleizach <cfleizach@apple.com>
1789 Refactor platform-specific code in SpeechSynthesis
1790 https://bugs.webkit.org/show_bug.cgi?id=107414
1792 Reviewed by Sam Weinig.
1794 Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
1796 * Modules/speech/DOMWindowSpeechSynthesis.cpp:
1797 (WebCore::DOMWindowSpeechSynthesis::from):
1798 * Modules/speech/SpeechSynthesis.cpp:
1799 (WebCore::SpeechSynthesis::SpeechSynthesis):
1801 (WebCore::SpeechSynthesis::voicesDidChange):
1802 (WebCore::SpeechSynthesis::getVoices):
1803 (WebCore::SpeechSynthesis::pending):
1804 (WebCore::SpeechSynthesis::speaking):
1805 (WebCore::SpeechSynthesis::paused):
1806 (WebCore::SpeechSynthesis::speak):
1807 (WebCore::SpeechSynthesis::cancel):
1808 (WebCore::SpeechSynthesis::pause):
1809 (WebCore::SpeechSynthesis::resume):
1810 * Modules/speech/SpeechSynthesis.h:
1813 (WebCore::SpeechSynthesis::didStartSpeaking):
1814 (WebCore::SpeechSynthesis::didFinishSpeaking):
1815 (WebCore::SpeechSynthesis::speakingErrorOccurred):
1816 * Modules/speech/SpeechSynthesisUtterance.cpp:
1817 (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1818 * Modules/speech/SpeechSynthesisUtterance.h:
1819 (WebCore::SpeechSynthesisUtterance::text):
1820 (WebCore::SpeechSynthesisUtterance::setText):
1821 (WebCore::SpeechSynthesisUtterance::lang):
1822 (WebCore::SpeechSynthesisUtterance::setLang):
1823 (WebCore::SpeechSynthesisUtterance::voiceURI):
1824 (WebCore::SpeechSynthesisUtterance::setVoiceURI):
1825 (WebCore::SpeechSynthesisUtterance::volume):
1826 (WebCore::SpeechSynthesisUtterance::setVolume):
1827 (WebCore::SpeechSynthesisUtterance::rate):
1828 (WebCore::SpeechSynthesisUtterance::setRate):
1829 (WebCore::SpeechSynthesisUtterance::pitch):
1830 (WebCore::SpeechSynthesisUtterance::setPitch):
1831 (SpeechSynthesisUtterance):
1832 (WebCore::SpeechSynthesisUtterance::platformUtterance):
1833 * Modules/speech/SpeechSynthesisVoice.cpp:
1834 (WebCore::SpeechSynthesisVoice::create):
1835 (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
1836 * Modules/speech/SpeechSynthesisVoice.h:
1837 (SpeechSynthesisVoice):
1838 (WebCore::SpeechSynthesisVoice::voiceURI):
1839 (WebCore::SpeechSynthesisVoice::name):
1840 (WebCore::SpeechSynthesisVoice::lang):
1841 (WebCore::SpeechSynthesisVoice::localService):
1842 (WebCore::SpeechSynthesisVoice::isDefault):
1843 * Modules/speech/mac/SpeechSynthesisMac.mm:
1844 * WebCore.xcodeproj/project.pbxproj:
1845 * platform/PlatformSpeechSynthesis.h: Added.
1847 (PlatformSpeechSynthesis):
1848 * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
1850 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
1851 * platform/PlatformSpeechSynthesisUtterance.h: Added.
1853 (PlatformSpeechSynthesisUtteranceClient):
1854 (WebCore::PlatformSpeechSynthesisUtteranceClient::~PlatformSpeechSynthesisUtteranceClient):
1855 (PlatformSpeechSynthesisUtterance):
1856 (WebCore::PlatformSpeechSynthesisUtterance::text):
1857 (WebCore::PlatformSpeechSynthesisUtterance::setText):
1858 (WebCore::PlatformSpeechSynthesisUtterance::lang):
1859 (WebCore::PlatformSpeechSynthesisUtterance::setLang):
1860 (WebCore::PlatformSpeechSynthesisUtterance::voiceURI):
1861 (WebCore::PlatformSpeechSynthesisUtterance::setVoiceURI):
1862 (WebCore::PlatformSpeechSynthesisUtterance::volume):
1863 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
1864 (WebCore::PlatformSpeechSynthesisUtterance::rate):
1865 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
1866 (WebCore::PlatformSpeechSynthesisUtterance::pitch):
1867 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
1868 * platform/PlatformSpeechSynthesisVoice.cpp: Added.
1870 (WebCore::PlatformSpeechSynthesisVoice::create):
1871 (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
1872 * platform/PlatformSpeechSynthesisVoice.h: Added.
1874 (PlatformSpeechSynthesisVoice):
1875 (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
1876 (WebCore::PlatformSpeechSynthesisVoice::name):
1877 (WebCore::PlatformSpeechSynthesisVoice::lang):
1878 (WebCore::PlatformSpeechSynthesisVoice::localService):
1879 (WebCore::PlatformSpeechSynthesisVoice::isDefault):
1880 * platform/PlatformSpeechSynthesizer.cpp: Added.
1882 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1883 * platform/PlatformSpeechSynthesizer.h: Added.
1885 (PlatformSpeechSynthesizerClient):
1886 (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
1887 (PlatformSpeechSynthesizer):
1888 (WebCore::PlatformSpeechSynthesizer::voiceList):
1889 * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
1891 (WebCore::PlatformSpeechSynthesis::create):
1892 (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
1893 (WebCore::PlatformSpeechSynthesis::platformSpeak):
1894 * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
1896 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1897 (WebCore::PlatformSpeechSynthesizer::speak):
1899 2013-02-08 Dean Jackson <dino@apple.com>
1901 Put snapshotting label text into localizable strings
1902 https://bugs.webkit.org/show_bug.cgi?id=108268
1904 Reviewed by Simon Fraser.
1906 In preparation for a snapshotted plug-in using a ShadowRoot, allow
1907 its label to be localized.
1909 * English.lproj/Localizable.strings:
1910 * platform/LocalizedStrings.cpp:
1911 (WebCore::snapshottedPlugInLabelTitle): New method for returning title.
1912 (WebCore::snapshottedPlugInLabelSubtitle): New method for returning subtitle.
1913 * platform/LocalizedStrings.h:
1915 2013-02-08 Dean Jackson <dino@apple.com>
1917 Do not register autostart for plugins from file:// (or nowhere)
1918 https://bugs.webkit.org/show_bug.cgi?id=108271
1920 Reviewed by Tim Horton.
1922 If the page url origin is treated as a local URL, don't attempt
1923 to add it to the auto-start list.
1925 * html/HTMLPlugInImageElement.cpp:
1926 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
1928 2013-02-08 Adam Barth <abarth@webkit.org>
1930 Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
1931 https://bugs.webkit.org/show_bug.cgi?id=107190
1933 Reviewed by Eric Seidel.
1935 This patch replaces the parser map with WeakPtr. We now use WeakPtrs to
1936 communicate from the main thread to the background thread. (We were
1937 already using WeakPtrs to communicate from the background thread to the
1938 main thread.) This change lets us remove a bunch of boilerplate code.
1940 * html/parser/BackgroundHTMLParser.cpp:
1941 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1942 (WebCore::BackgroundHTMLParser::stop):
1944 * html/parser/BackgroundHTMLParser.h:
1945 (WebCore::BackgroundHTMLParser::create):
1946 (BackgroundHTMLParser):
1947 * html/parser/HTMLDocumentParser.cpp:
1948 (WebCore::HTMLDocumentParser::didFailSpeculation):
1949 (WebCore::HTMLDocumentParser::startBackgroundParser):
1950 (WebCore::HTMLDocumentParser::stopBackgroundParser):
1951 (WebCore::HTMLDocumentParser::append):
1952 (WebCore::HTMLDocumentParser::finish):
1953 * html/parser/HTMLDocumentParser.h:
1955 (HTMLDocumentParser):
1957 2013-02-07 Roger Fong <roger_fong@apple.com>
1959 VS2010 WebCore TestSupport project.
1960 https://bugs.webkit.org/show_bug.cgi?id=107034.
1962 Reviewed by Brent Fulgham.
1964 * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
1965 * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
1967 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
1969 [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
1970 https://bugs.webkit.org/show_bug.cgi?id=109304
1972 Reviewed by Gustavo Noronha Silva.
1974 This patch cleans up GraphicsLayerActor functions by using new clutter apis
1975 and makes existing functions simple & readable.
1977 No new tests since no change in functionality
1979 * platform/graphics/clutter/GraphicsLayerActor.cpp:
1980 (_GraphicsLayerActorPrivate):
1981 (graphicsLayerActorApplyTransform):
1982 (graphicsLayerActorPaint):
1983 (graphicsLayerActorDraw):
1984 (graphicsLayerActorUpdateTexture):
1985 (drawLayerContents):
1986 (graphicsLayerActorNew):
1987 (graphicsLayerActorInvalidateRectangle):
1988 (graphicsLayerActorSetTransform):
1989 (graphicsLayerActorSetAnchorPoint):
1990 (graphicsLayerActorGetAnchorPoint):
1991 (graphicsLayerActorSetScrollPosition):
1992 * platform/graphics/clutter/PlatformClutterAnimation.h:
1994 2013-02-08 Harald Alvestrand <hta@google.com>
1996 Fix and test for missing return statement
1998 RTCPeerConnection.getStats() failed when remote stats were instantiated.
1999 https://bugs.webkit.org/show_bug.cgi?id=109292
2001 Reviewed by Adam Barth.
2003 Tested by extending the existing mock's behaviour.
2005 * Modules/mediastream/RTCStatsReport.cpp:
2006 (WebCore::RTCStatsReport::addElement):
2008 2013-02-08 Anton Vayvod <avayvod@chromium.org>
2010 [Text Autosizing] Split isAutosizingCluster into three independent checks
2011 https://bugs.webkit.org/show_bug.cgi?id=109093
2013 Refactoring to create more flexible version of isAutosizingCluster since there're more types
2014 of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
2015 and the one that doesn't depend on the parent cluster.
2017 Reviewed by Kenneth Rohde Christiansen.
2019 Refactoring, no test changes.
2021 * rendering/TextAutosizer.cpp:
2023 (WebCore::TextAutosizer::isNarrowDescendant):
2025 Separate check for the container to be of the narrow-descendant type. Was a part of
2026 isAutosizingCluster().
2028 (WebCore::TextAutosizer::isWiderDescendant):
2030 Separate check for the container to be of the wider-descendant type. Was a part of
2031 isAutosizingCluster().
2033 (WebCore::TextAutosizer::isIndependentDescendant):
2035 Separate check for the container to be autosized separately from the ancestor cluster.
2036 Checks for conditions independent of the aforementioned cluster.
2038 (WebCore::TextAutosizer::isAutosizingCluster):
2040 Handy method to check all separate conditions together.
2042 (WebCore::TextAutosizer::processSubtree):
2043 (WebCore::TextAutosizer::processCluster):
2044 (WebCore::TextAutosizer::processContainer):
2045 (WebCore::TextAutosizer::clusterShouldBeAutosized):
2046 (WebCore::TextAutosizer::measureDescendantTextWidth):
2047 (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
2049 The methods above were updated to use new functions/arguments.
2051 * rendering/TextAutosizer.h:
2053 Updated/added method definitions.
2055 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2057 Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
2058 https://bugs.webkit.org/show_bug.cgi?id=109301
2060 Reviewed by Alexander Pavlov.
2062 * inspector/front-end/ExtensionServer.js:
2063 (WebInspector.ExtensionServer.prototype._onGetPageResources):
2065 2013-02-04 Yury Semikhatsky <yurys@chromium.org>
2067 Web Inspector: simplify Memory.getDOMNodeCount implementation
2068 https://bugs.webkit.org/show_bug.cgi?id=108821
2070 Reviewed by Alexander Pavlov.
2072 Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
2073 should be used instead.
2075 * inspector/Inspector.json:
2076 * inspector/InspectorMemoryAgent.cpp:
2077 * inspector/InspectorMemoryAgent.h:
2078 (InspectorMemoryAgent):
2080 2013-02-08 Yury Semikhatsky <yurys@chromium.org>
2082 Web Inspector: refactor MemoryStatistics.js
2083 https://bugs.webkit.org/show_bug.cgi?id=109299
2085 Reviewed by Vsevolod Vlasov.
2087 Extracted functionality specific to DOM counter graphs drawing into
2088 separate methods on MemoryStatistics class.
2089 Introduced CounterUIBase base class for DOMCounterUI that contains
2090 functionality which can be shared with native memory graph.
2092 * inspector/front-end/MemoryStatistics.js:
2093 (WebInspector.MemoryStatistics):
2094 (WebInspector.CounterUIBase):
2095 (WebInspector.CounterUIBase.prototype.updateCurrentValue):
2096 (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
2097 (WebInspector.CounterUIBase.prototype.get visible):
2098 (WebInspector.DOMCounterUI):
2099 (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
2100 (WebInspector.MemoryStatistics.prototype._onMouseOut):
2101 (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
2102 (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
2103 (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
2104 (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
2105 (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
2106 (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
2107 (WebInspector.MemoryStatistics.prototype._drawMarker):
2108 (WebInspector.MemoryStatistics.prototype._clear):
2109 (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
2111 2013-02-08 Mike West <mkwst@chromium.org>
2113 Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
2114 https://bugs.webkit.org/show_bug.cgi?id=108771
2116 Reviewed by Eric Seidel.
2118 In cases where the ExceptionCode passed into a function is completely
2119 ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
2120 makes our expectations about possible exceptions (or lack thereof)
2121 explicit, rather than relying on implicit assumptions about whether a
2122 variable is intentionally uninitialized or not. It also removes
2123 knowledge about the internals of ExceptionCodes (that they're currently
2124 ints, for instance) from code that shouldn't care, which will help with
2125 future refactorings.
2127 The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
2128 shouldn't have any visible effect on the web. As long as all the
2129 current tests pass, we're good.
2131 * Modules/indexeddb/IDBRequest.cpp:
2132 (WebCore::IDBRequest::dispatchEvent):
2133 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
2134 * Modules/indexeddb/IDBTransaction.cpp:
2135 (WebCore::IDBTransaction::stop):
2136 * Modules/websockets/WebSocketChannel.cpp:
2137 (WebCore::WebSocketChannel::processBuffer):
2139 (WebCore::Document::processHttpEquiv):
2140 * dom/ExceptionCodePlaceholder.h:
2143 (WebCore::Node::normalize):
2145 (WebCore::Text::replaceWholeText):
2146 * editing/AlternativeTextController.cpp:
2147 (WebCore::AlternativeTextController::insertDictatedText):
2148 * editing/AppendNodeCommand.cpp:
2149 (WebCore::AppendNodeCommand::doApply):
2150 (WebCore::AppendNodeCommand::doUnapply):
2151 * editing/CompositeEditCommand.cpp:
2152 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
2153 * editing/DeleteFromTextNodeCommand.cpp:
2154 (WebCore::DeleteFromTextNodeCommand::doUnapply):
2155 * editing/Editor.cpp:
2156 (WebCore::dispatchEditableContentChangedEvents):
2157 (WebCore::Editor::applyEditingStyleToElement):
2158 * editing/EditorCommand.cpp:
2159 (WebCore::executeFormatBlock):
2160 * editing/FormatBlockCommand.cpp:
2161 (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
2162 * editing/InsertIntoTextNodeCommand.cpp:
2163 (WebCore::InsertIntoTextNodeCommand::doApply):
2164 (WebCore::InsertIntoTextNodeCommand::doUnapply):
2165 * editing/InsertListCommand.cpp:
2166 (WebCore::InsertListCommand::doApplyForSingleParagraph):
2167 * editing/InsertNodeBeforeCommand.cpp:
2168 (WebCore::InsertNodeBeforeCommand::doApply):
2169 (WebCore::InsertNodeBeforeCommand::doUnapply):
2170 * editing/RemoveCSSPropertyCommand.cpp:
2171 (WebCore::RemoveCSSPropertyCommand::doApply):
2172 (WebCore::RemoveCSSPropertyCommand::doUnapply):
2173 * editing/RemoveNodeCommand.cpp:
2174 (WebCore::RemoveNodeCommand::doApply):
2175 (WebCore::RemoveNodeCommand::doUnapply):
2176 * editing/ReplaceSelectionCommand.cpp:
2177 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2178 * editing/TextIterator.cpp:
2179 (WebCore::TextIterator::getLocationAndLengthFromRange):
2180 * editing/WrapContentsInDummySpanCommand.cpp:
2181 (WebCore::WrapContentsInDummySpanCommand::executeApply):
2182 (WebCore::WrapContentsInDummySpanCommand::doUnapply):
2183 * editing/htmlediting.cpp:
2184 (WebCore::comparePositions):
2185 * editing/markup.cpp:
2186 (WebCore::highestAncestorToWrapMarkup):
2187 * html/FTPDirectoryDocument.cpp:
2188 (WebCore::FTPDirectoryDocumentParser::appendEntry):
2189 (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
2190 (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
2191 (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
2192 * html/HTMLMediaElement.cpp:
2193 (WebCore::HTMLMediaElement::rewind):
2194 (WebCore::HTMLMediaElement::returnToRealtime):
2195 (WebCore::HTMLMediaElement::playInternal):
2196 (WebCore::HTMLMediaElement::percentLoaded):
2197 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2198 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
2199 (WebCore::HTMLMediaElement::applyMediaFragmentURI):
2200 * html/HTMLOutputElement.cpp:
2201 (WebCore::HTMLOutputElement::setTextContentInternal):
2202 * html/HTMLSelectElement.cpp:
2203 (WebCore::HTMLSelectElement::remove):
2204 * html/HTMLTableElement.cpp:
2205 (WebCore::HTMLTableElement::createTHead):
2206 (WebCore::HTMLTableElement::deleteTHead):
2207 (WebCore::HTMLTableElement::createTFoot):
2208 (WebCore::HTMLTableElement::deleteTFoot):
2209 (WebCore::HTMLTableElement::createCaption):
2210 (WebCore::HTMLTableElement::deleteCaption):
2211 * html/HTMLTextAreaElement.cpp:
2212 (WebCore::HTMLTextAreaElement::setDefaultValue):
2213 * html/ImageDocument.cpp:
2214 (WebCore::ImageDocument::createDocumentStructure):
2215 * html/InputType.cpp:
2216 (WebCore::InputType::stepUpFromRenderer):
2217 * html/MediaController.cpp:
2218 (MediaController::bringElementUpToSpeed):
2219 (MediaController::asyncEventTimerFired):
2220 * html/MediaDocument.cpp:
2221 (WebCore::MediaDocumentParser::createDocumentStructure):
2222 (WebCore::MediaDocument::replaceMediaElementTimerFired):
2223 * html/PluginDocument.cpp:
2224 (WebCore::PluginDocumentParser::createDocumentStructure):
2225 * html/RangeInputType.cpp:
2226 (WebCore::RangeInputType::handleKeydownEvent):
2227 * html/TimeRanges.cpp:
2228 (TimeRanges::contain):
2229 (TimeRanges::nearest):
2230 * html/canvas/CanvasRenderingContext2D.cpp:
2231 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2232 * html/shadow/MediaControlElementTypes.cpp:
2233 (WebCore::MediaControlSeekButtonElement::seekTimerFired):
2234 * html/shadow/MediaControlElements.cpp:
2235 (WebCore::MediaControlPanelElement::setPosition):
2236 (WebCore::MediaControlPanelElement::resetPosition):
2237 (WebCore::MediaControlStatusDisplayElement::update):
2238 (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
2239 (WebCore::MediaControlTimelineElement::defaultEventHandler):
2240 * html/shadow/MediaControls.cpp:
2241 (WebCore::MediaControls::updateCurrentTimeDisplay):
2242 (WebCore::MediaControls::createTextTrackDisplay):
2243 * html/shadow/MediaControlsApple.cpp:
2244 (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
2245 * html/shadow/MediaControlsBlackBerry.cpp:
2246 (WebCore::MediaControlEmbeddedPanelElement::setPosition):
2247 (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
2248 (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
2249 (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
2250 * html/shadow/MediaControlsChromium.cpp:
2251 (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
2252 * html/track/InbandTextTrack.cpp:
2253 (WebCore::InbandTextTrack::addGenericCue):
2254 * inspector/InspectorCSSAgent.cpp:
2255 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2256 * inspector/InspectorHistory.cpp:
2257 (WebCore::InspectorHistory::markUndoableState):
2258 * inspector/InspectorResourceAgent.cpp:
2259 (WebCore::InspectorResourceAgent::replayXHR):
2260 * page/ContextMenuController.cpp:
2261 (WebCore::ContextMenuController::contextMenuItemSelected):
2262 * page/DOMWindow.cpp:
2263 (WebCore::didAddStorageEventListener):
2264 * page/DragController.cpp:
2265 (WebCore::documentFragmentFromDragData):
2266 * page/EventHandler.cpp:
2267 (WebCore::EventHandler::dispatchDragEvent):
2268 (WebCore::EventHandler::keyEvent):
2269 (WebCore::EventHandler::handleTextInputEvent):
2271 (WebCore::Page::findStringMatchingRanges):
2272 * platform/efl/RenderThemeEfl.cpp:
2273 (WebCore::RenderThemeEfl::paintMediaSliderTrack):
2274 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2275 (WebCore::MediaPlayerPrivate::percentLoaded):
2276 * platform/gtk/RenderThemeGtk.cpp:
2277 (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2278 * platform/mac/PasteboardMac.mm:
2279 (WebCore::Pasteboard::getDataSelection):
2280 (WebCore::documentFragmentWithImageResource):
2281 (WebCore::Pasteboard::documentFragment):
2282 * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2283 (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
2284 (-[WebVideoFullscreenHUDWindowController setVolume:]):
2285 * platform/qt/RenderThemeQt.cpp:
2286 (WebCore::RenderThemeQt::paintMediaSliderTrack):
2287 * rendering/RenderNamedFlowThread.cpp:
2288 (WebCore::RenderNamedFlowThread::getRanges):
2289 * rendering/RenderThemeMac.mm:
2290 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2291 * svg/SVGTRefElement.cpp:
2292 (WebCore::SVGTRefElement::detachTarget):
2293 * xml/XMLTreeViewer.cpp:
2294 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2295 * xml/parser/XMLDocumentParserLibxml2.cpp:
2296 (WebCore::XMLDocumentParser::endElementNs):
2297 * xml/parser/XMLDocumentParserQt.cpp:
2298 (WebCore::XMLDocumentParser::parseEndElement):
2300 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2302 Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
2303 https://bugs.webkit.org/show_bug.cgi?id=109282
2305 Reviewed by Alexander Pavlov.
2307 SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
2308 This is the first step on the way to project-per-domain mode for non file system project types.
2309 Workspace is now partly aware of the possibility that several projects with the same type exist.
2310 Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
2312 * inspector/front-end/DefaultScriptMapping.js:
2313 (WebInspector.DefaultScriptMapping):
2314 (WebInspector.DefaultScriptMapping.prototype.addScript):
2315 * inspector/front-end/ExtensionServer.js:
2316 (WebInspector.ExtensionServer.prototype._onGetPageResources):
2317 * inspector/front-end/FileMapping.js:
2318 (WebInspector.FileMapping.prototype.uriForURL):
2319 * inspector/front-end/FileSystemWorkspaceProvider.js:
2320 (WebInspector.FileSystemWorkspaceProvider.prototype.type):
2321 * inspector/front-end/JavaScriptSourceFrame.js:
2322 (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
2323 * inspector/front-end/LiveEditSupport.js:
2324 (WebInspector.LiveEditSupport):
2325 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
2326 * inspector/front-end/ScriptSnippetModel.js:
2327 (WebInspector.ScriptSnippetModel):
2328 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2329 * inspector/front-end/ScriptsNavigator.js:
2330 (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
2331 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
2332 (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
2333 (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
2334 * inspector/front-end/ScriptsPanel.js:
2335 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2336 (WebInspector.ScriptsPanel.prototype._projectWillReset):
2337 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2338 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2339 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
2340 * inspector/front-end/SimpleWorkspaceProvider.js:
2341 (WebInspector.SimpleWorkspaceProvider):
2342 (WebInspector.SimpleWorkspaceProvider.uriForURL):
2343 (WebInspector.SimpleWorkspaceProvider.prototype.type):
2344 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
2345 (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
2346 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2347 (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
2348 * inspector/front-end/Workspace.js:
2349 (WebInspector.WorkspaceProvider.prototype.type):
2350 (WebInspector.Project.prototype.type):
2351 (WebInspector.Project.prototype.isServiceProject):
2352 (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
2353 (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
2354 (WebInspector.Workspace.prototype.projectsForType):
2355 * inspector/front-end/inspector.js:
2357 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
2359 [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
2360 https://bugs.webkit.org/show_bug.cgi?id=109226
2362 Reviewed by Gustavo Noronha Silva.
2364 Clutter has a different coordinate system from mac port's, so we don't need to
2365 recalulate GraphicsLayer position after changing its anchor position.
2367 Covered by existing ac tests.
2369 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2370 (WebCore::GraphicsLayerClutter::updateGeometry):
2372 2013-02-08 Mike West <mkwst@chromium.org>
2374 Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
2375 https://bugs.webkit.org/show_bug.cgi?id=109266
2377 Reviewed by Jochen Eisinger.
2381 ExceptionCode ec = 0;
2382 methodThatGeneratesException(ec);
2385 is more clearly and succinctly written as:
2387 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2389 This patch replaces the occurances of the former in IDB code that never
2390 touch 'ec' again with the latter. No change in behavior should result
2391 from this refactoring.
2393 * Modules/indexeddb/IDBCursor.cpp:
2394 (WebCore::IDBCursor::advance):
2395 (WebCore::IDBCursor::continueFunction):
2396 (WebCore::IDBCursor::deleteFunction):
2397 These methods checked the value of the ExceptionCode without first
2398 initializing it to 0. Now the ExceptionCode is explicitly set to 0
2399 before doing potentially exception-generating work.
2400 (WebCore::IDBCursor::direction):
2401 * Modules/indexeddb/IDBObjectStore.cpp:
2403 * Modules/indexeddb/IDBTransaction.cpp:
2404 (WebCore::IDBTransaction::mode):
2405 Replace the above pattern with ASSERT_NO_EXCEPTION.
2407 2013-02-08 Mike West <mkwst@chromium.org>
2409 Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
2410 https://bugs.webkit.org/show_bug.cgi?id=109267
2412 Reviewed by Jochen Eisinger.
2416 ExceptionCode ec = 0;
2417 methodThatGeneratesException(ec);
2420 is more clearly and succinctly written as:
2422 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2424 This patch replaces the occurances of the former in SVG code that never
2425 touch 'ec' again with the latter. No change in behavior should result
2426 from this refactoring.
2428 * svg/SVGLength.cpp:
2429 (WebCore::SVGLength::SVGLength):
2430 (WebCore::SVGLength::setValue):
2431 This method checked the value of the ExceptionCode without first
2432 initializing it to 0. Now it initializes before doing potentially
2433 exception-generating work.
2434 * rendering/style/SVGRenderStyle.h:
2435 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2436 (WebCore::SVGRenderStyle::initialKerning):
2437 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2438 (WebCore::SVGRenderStyle::initialStrokeWidth):
2439 * svg/SVGAnimatedLength.cpp:
2440 (WebCore::sharedSVGLength):
2441 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
2442 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2443 * svg/SVGAnimatedLengthList.cpp:
2444 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
2445 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2446 * svg/SVGTextContentElement.cpp:
2447 (WebCore::SVGTextContentElement::textLengthAnimated):
2448 * svg/animation/SVGSMILElement.cpp:
2449 (WebCore::constructQualifiedName):
2450 Replace the above pattern with ASSERT_NO_EXCEPTION.
2452 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
2454 Web Inspector: Replace workspace with project in UISourceCode constructor.
2455 https://bugs.webkit.org/show_bug.cgi?id=109256
2457 Reviewed by Alexander Pavlov.
2459 Replaced workspace with project in UISourceCode constructor since every UISourceCode
2460 operation is delegated to project anyway.
2462 * inspector/front-end/UISourceCode.js:
2463 (WebInspector.UISourceCode):
2464 (WebInspector.UISourceCode.prototype.project):
2465 (WebInspector.UISourceCode.prototype.requestContent):
2466 (WebInspector.UISourceCode.prototype.requestOriginalContent):
2467 (WebInspector.UISourceCode.prototype._commitContent):
2468 (WebInspector.UISourceCode.prototype.searchInContent):
2469 * inspector/front-end/Workspace.js:
2470 (WebInspector.Project.prototype._fileAdded):
2471 (WebInspector.Project.prototype.requestFileContent):
2472 (WebInspector.Project.prototype.setFileContent):
2473 (WebInspector.Project.prototype.searchInFileContent):
2475 2013-02-08 Patrick Gansterer <paroga@webkit.org>
2477 Build fix for Windows after r141981.
2479 * platform/network/win/ResourceHandleWin.cpp:
2480 (WebCore::ResourceHandle::loadResourceSynchronously):
2482 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
2484 Unreviewed, rolling out r141695 and r141697.
2485 http://trac.webkit.org/changeset/141695
2486 http://trac.webkit.org/changeset/141697
2487 https://bugs.webkit.org/show_bug.cgi?id=109279
2489 broke on-disk buffering for http(s) media (Requested by philn
2492 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2493 (WebCore::MediaPlayerPrivateGStreamer::load):
2494 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2495 (MediaPlayerPrivateGStreamer):
2496 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2497 (webKitWebSrcGetProtocols):
2498 (webKitWebSrcSetUri):
2500 2013-02-08 Dan Carney <dcarney@google.com>
2502 [v8] isolate parameter added to all v8::peristent calls
2503 https://bugs.webkit.org/show_bug.cgi?id=109268
2505 Reviewed by Kentaro Hara.
2507 No new tests. No change in functionality.
2509 * bindings/scripts/CodeGeneratorV8.pm:
2510 (GenerateDomainSafeFunctionGetter):
2511 (GenerateNamedConstructorCallback):
2512 (GenerateImplementation):
2513 * bindings/scripts/test/V8/V8Float64Array.cpp:
2514 (WebCore::V8Float64Array::GetRawTemplate):
2515 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2516 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2517 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
2518 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2519 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
2520 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2521 (WebCore::V8TestEventConstructor::GetRawTemplate):
2522 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2523 (WebCore::V8TestEventTarget::GetRawTemplate):
2524 * bindings/scripts/test/V8/V8TestException.cpp:
2525 (WebCore::V8TestException::GetRawTemplate):
2526 * bindings/scripts/test/V8/V8TestInterface.cpp:
2527 (WebCore::V8TestInterface::GetRawTemplate):
2528 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2529 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
2530 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2531 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2532 (WebCore::V8TestNamedConstructor::GetRawTemplate):
2533 * bindings/scripts/test/V8/V8TestNode.cpp:
2534 (WebCore::V8TestNode::GetRawTemplate):
2535 * bindings/scripts/test/V8/V8TestObj.cpp:
2536 (WebCore::V8TestObj::GetRawTemplate):
2537 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2538 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
2539 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2540 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
2541 * bindings/v8/DOMWrapperMap.h:
2542 (WebCore::DOMWrapperMap::clear):
2543 * bindings/v8/DOMWrapperWorld.cpp:
2544 (WebCore::isolatedWorldWeakCallback):
2545 (WebCore::DOMWrapperWorld::makeContextWeak):
2546 * bindings/v8/NPV8Object.cpp:
2547 (WebCore::freeV8NPObject):
2548 (WebCore::npCreateV8ScriptObject):
2549 * bindings/v8/ScheduledAction.cpp:
2550 (WebCore::ScheduledAction::ScheduledAction):
2551 (WebCore::ScheduledAction::~ScheduledAction):
2552 * bindings/v8/ScopedPersistent.h:
2553 (WebCore::ScopedPersistent::ScopedPersistent):
2554 (WebCore::ScopedPersistent::set):
2555 (WebCore::ScopedPersistent::clear):
2556 * bindings/v8/ScriptWrappable.h:
2557 (WebCore::ScriptWrappable::setWrapper):
2558 (WebCore::ScriptWrappable::disposeWrapper):
2559 (WebCore::ScriptWrappable::weakCallback):
2560 * bindings/v8/V8Binding.cpp:
2561 (WebCore::createRawTemplate):
2562 * bindings/v8/V8Binding.h:
2564 * bindings/v8/V8GCController.cpp:
2566 (WebCore::V8GCController::gcPrologue):
2567 (WebCore::V8GCController::minorGCPrologue):
2568 * bindings/v8/V8GCController.h:
2570 * bindings/v8/V8HiddenPropertyName.cpp:
2571 (WebCore::V8HiddenPropertyName::createString):
2572 * bindings/v8/V8LazyEventListener.cpp:
2573 (WebCore::V8LazyEventListener::prepareListenerObject):
2574 * bindings/v8/V8NPObject.cpp:
2575 (WebCore::V8NPTemplateMap::dispose):
2576 (WebCore::npObjectGetProperty):
2577 (WebCore::createV8ObjectForNPObject):
2578 * bindings/v8/V8PerContextData.cpp:
2579 (WebCore::V8PerContextData::dispose):
2580 (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
2581 (WebCore::V8PerContextData::constructorForTypeSlowCase):
2582 * bindings/v8/V8ValueCache.cpp:
2583 (WebCore::makeExternalString):
2584 * bindings/v8/WrapperTypeInfo.h:
2585 (WebCore::WrapperConfiguration::configureWrapper):
2586 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2587 (WebCore::V8HTMLDocument::wrapInShadowObject):
2588 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2589 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2590 * bindings/v8/custom/V8InjectedScriptManager.cpp:
2591 (WebCore::WeakReferenceCallback):
2592 (WebCore::createInjectedScriptHostV8Wrapper):
2593 * bindings/v8/custom/V8LocationCustom.cpp:
2594 (WebCore::V8Location::reloadAccessorGetter):
2595 (WebCore::V8Location::replaceAccessorGetter):
2596 (WebCore::V8Location::assignAccessorGetter):
2598 2013-02-08 Kent Tamura <tkent@chromium.org>
2600 Adjust usage of ENABLE flags to enable whole content
2601 https://bugs.webkit.org/show_bug.cgi?id=109270
2603 Reviewed by Eric Seidel.
2605 Our common usage of ENABLE flags to enable whole content of files is:
2617 Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
2618 it generates the common pattern. Note that CodeGeneratorJS.pm already
2619 generates code in this order.
2621 * bindings/scripts/CodeGeneratorV8.pm:
2622 (GenerateHeaderContentHeader):
2623 (GenerateImplementationContentHeader):
2624 * bindings/scripts/test/V8/V8TestCallback.cpp:
2625 * bindings/scripts/test/V8/V8TestCallback.h:
2626 * bindings/scripts/test/V8/V8TestInterface.cpp:
2627 * bindings/scripts/test/V8/V8TestInterface.h:
2628 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2629 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2630 * html/BaseMultipleFieldsDateAndTimeInputType.h:
2631 * html/ColorInputType.cpp:
2632 * html/ColorInputType.h:
2633 * html/DateInputType.cpp:
2634 * html/DateTimeInputType.cpp:
2635 * html/DateTimeInputType.h:
2636 * html/DateTimeLocalInputType.cpp:
2637 * html/HTMLAudioElement.cpp:
2638 * html/HTMLAudioElement.h:
2639 * html/HTMLDataListElement.cpp:
2640 * html/HTMLDialogElement.cpp:
2641 * html/HTMLDialogElement.h:
2642 * html/HTMLMediaElement.cpp:
2643 * html/HTMLMediaElement.h:
2644 * html/HTMLMeterElement.cpp:
2645 * html/HTMLProgressElement.cpp:
2646 * html/HTMLSourceElement.cpp:
2647 * html/HTMLSourceElement.h:
2648 * html/HTMLTrackElement.cpp:
2649 * html/HTMLTrackElement.h:
2650 * html/HTMLVideoElement.cpp:
2651 * html/HTMLVideoElement.h:
2652 * html/MonthInputType.cpp:
2653 * html/TimeInputType.cpp:
2654 * html/WeekInputType.cpp:
2655 * html/shadow/DateTimeFieldElement.h:
2656 * html/shadow/DetailsMarkerControl.cpp:
2657 * html/shadow/MeterShadowElement.cpp:
2658 * html/shadow/ProgressShadowElement.cpp:
2659 * rendering/RenderDetailsMarker.cpp:
2660 * rendering/RenderInputSpeech.cpp:
2661 * rendering/RenderMeter.cpp:
2662 * rendering/RenderProgress.cpp:
2664 2013-02-08 Mike West <mkwst@chromium.org>
2666 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
2667 https://bugs.webkit.org/show_bug.cgi?id=109044
2669 Reviewed by Darin Adler.
2673 ExceptionCode ec = 0;
2674 methodThatGeneratesException(ec);
2677 is more clearly and succinctly written as:
2679 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
2681 This patch replaces the occurances of the former that never touch 'ec'
2682 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
2683 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
2684 where it does indeed matter that 'ec' get set properly.
2686 No change in behavior should result from this refactoring.
2688 * dom/ContainerNode.cpp:
2689 (WebCore::ContainerNode::takeAllChildrenFrom):
2691 (WebCore::Document::setTitle):
2692 * dom/MessagePort.cpp:
2693 (WebCore::MessagePort::dispatchMessages):
2694 (WebCore::MessagePort::disentanglePorts):
2695 * editing/DeleteButtonController.cpp:
2696 (WebCore::enclosingDeletableElement):
2697 (WebCore::DeleteButtonController::createDeletionUI):
2698 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2699 (WebCore::DeleteButtonController::show):
2700 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2701 * editing/EditorCommand.cpp:
2702 (WebCore::unionDOMRanges):
2703 * editing/ReplaceNodeWithSpanCommand.cpp:
2704 (WebCore::swapInNodePreservingAttributesAndChildren):
2705 * editing/ReplaceSelectionCommand.cpp:
2706 (WebCore::ReplacementFragment::ReplacementFragment):
2707 (WebCore::ReplacementFragment::removeNode):
2708 (WebCore::ReplacementFragment::insertNodeBefore):
2709 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2710 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2711 (WebCore::ReplaceSelectionCommand::insertAsListItems):
2712 * editing/SplitTextNodeCommand.cpp:
2713 (WebCore::SplitTextNodeCommand::doUnapply):
2714 * editing/TextIterator.cpp:
2715 (WebCore::CharacterIterator::range):
2716 (WebCore::BackwardsCharacterIterator::range):
2717 (WebCore::TextIterator::rangeFromLocationAndLength):
2718 (WebCore::collapsedToBoundary):
2719 * editing/htmlediting.cpp:
2720 (WebCore::createTabSpanElement):
2721 * editing/mac/EditorMac.mm:
2722 (WebCore::Editor::fontForSelection):
2723 (WebCore::Editor::fontAttributesForSelectionStart):
2724 * editing/markup.cpp:
2725 (WebCore::createMarkup):
2726 (WebCore::trimFragment):
2727 (WebCore::createFragmentFromMarkupWithContext):
2728 (WebCore::fillContainerFromString):
2729 (WebCore::createFragmentFromText):
2730 (WebCore::createFragmentFromNodes):
2731 * html/ColorInputType.cpp:
2732 (WebCore::ColorInputType::createShadowSubtree):
2733 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2734 * html/HTMLOptionsCollection.cpp:
2735 (WebCore::HTMLOptionsCollection::add):
2736 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
2737 * html/HTMLTextAreaElement.cpp:
2738 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2739 * html/HTMLTextFormControlElement.cpp:
2740 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2741 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2742 * html/TextFieldInputType.cpp:
2743 (WebCore::TextFieldInputType::updatePlaceholderText):
2744 * html/ValidationMessage.cpp:
2745 (WebCore::ValidationMessage::buildBubbleTree):
2746 * html/shadow/MediaControlElementTypes.cpp:
2747 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2748 * inspector/InspectorPageAgent.cpp:
2749 (WebCore::InspectorPageAgent::getCookies):
2750 * inspector/InspectorStyleSheet.cpp:
2751 (WebCore::InspectorStyleSheet::addRule):
2752 * loader/appcache/ApplicationCacheHost.cpp:
2753 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2754 * page/DOMSelection.cpp:
2755 (WebCore::DOMSelection::deleteFromDocument):
2756 * page/DragController.cpp:
2757 (WebCore::prepareClipboardForImageDrag):
2758 * rendering/RenderTextControl.cpp:
2759 (WebCore::RenderTextControl::visiblePositionForIndex):
2760 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
2762 2013-02-08 Alexei Filippov <alph@chromium.org>
2764 Web Inspector: disable profile type switching while profile in progress
2765 https://bugs.webkit.org/show_bug.cgi?id=109178
2767 Reviewed by Yury Semikhatsky.
2769 Disables profile type selection controls when a profiling session
2772 * inspector/front-end/HeapSnapshotView.js:
2773 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2774 * inspector/front-end/ProfileLauncherView.js:
2775 (WebInspector.ProfileLauncherView.prototype._updateControls):
2776 * inspector/front-end/ProfilesPanel.js:
2777 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2779 2013-02-08 Ilya Tikhonovsky <loislo@chromium.org>
2781 Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
2782 https://bugs.webkit.org/show_bug.cgi?id=109263
2784 Reviewed by Yury Semikhatsky.
2786 The chunk size is changed from 100 to 10000.
2787 addString counts only first 256 symbols of the string.o
2789 * inspector/HeapGraphSerializer.cpp:
2790 (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
2791 (WebCore::HeapGraphSerializer::addString):
2792 * inspector/front-end/NativeMemorySnapshotView.js:
2794 2013-02-08 Kentaro Hara <haraken@chromium.org>
2796 Support a relatedTarget attribute on focus/blur events
2797 https://bugs.webkit.org/show_bug.cgi?id=109176
2799 Reviewed by Ojan Vafai.
2801 In bug 76216, we supported a relatedTarget attribute on
2802 focusin/focusout events. We should also support it on focus/blur events.
2804 See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
2805 for the www-dom discussion.
2807 Test: fast/dom/shadow/shadow-boundary-events.html
2808 fast/events/related-target-focusevent.html
2810 * dom/EventDispatchMediator.cpp:
2811 (WebCore::FocusEventDispatchMediator::create):
2812 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2813 (WebCore::BlurEventDispatchMediator::create):
2814 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2815 * dom/EventDispatchMediator.h:
2816 (FocusEventDispatchMediator):
2817 (BlurEventDispatchMediator):
2819 (WebCore::Node::dispatchFocusInEvent):
2820 (WebCore::Node::dispatchFocusOutEvent):
2821 (WebCore::Node::dispatchFocusEvent):
2822 (WebCore::Node::dispatchBlurEvent):
2824 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
2826 Web Inspector: reduce number of native memory instrumentation categories
2827 https://bugs.webkit.org/show_bug.cgi?id=109146
2829 Reviewed by Pavel Feldman.
2831 Merged some of memory instrumentation categories.
2833 * dom/WebCoreMemoryInstrumentation.cpp:
2835 * inspector/front-end/NativeMemorySnapshotView.js:
2836 (WebInspector.MemoryBlockViewProperties._initialize):
2837 * platform/PlatformMemoryInstrumentation.cpp:
2840 2013-02-07 Mike West <mkwst@chromium.org>
2842 <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
2843 https://bugs.webkit.org/show_bug.cgi?id=87707
2845 Reviewed by Eric Seidel.
2847 Seamless documents currently render incorrectly when their content fills
2848 the width of the container into which they're placed. Because FrameView
2849 assumes that the container's size is properly set before the first pass
2850 of layout, vertical scrollbars are incorrectly forced onto seamless
2851 content, because seamless sets the container's height to 0 before
2852 handing it off to FrameView for layout. The scrollbars make the
2853 available width for the seamless document ~15px smaller than it should
2854 be, resulting in content getting bumped to the next line.
2856 This patch special-cases FrameView::calculateScrollbarModesForLayout in
2857 order to force scrollbars off for seamless documents with a full visible
2858 height of 0px. Once the layout pass has grabbed the content height and
2859 applied it to the visible height, scrollbars will again be applicable.
2861 The change should be covered by rebaselines for the newly-passing
2862 results in fast/frame/seamless-{float,inline}.html
2864 * page/FrameView.cpp:
2865 (WebCore::FrameView::calculateScrollbarModesForLayout):
2866 If we're rendering a seamless document, and the full visible height
2867 is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
2868 then force ScrollbarAlwaysOff.
2870 2013-02-07 Kent Tamura <tkent@chromium.org>
2872 document.activeElement should not return a non-focusable element
2873 https://bugs.webkit.org/show_bug.cgi?id=86707
2875 Reviewed by Hajime Morita.
2877 This is based on a patch by Arpita Bahuguna.
2879 Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
2882 (WebCore::Document::setFocusedNode):
2883 Added check for verifying that the node to be focused is
2884 focusable. However, this check should be skipped for HTMLPlugInElement
2885 because it has special behavior.
2887 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
2889 Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
2890 https://bugs.webkit.org/show_bug.cgi?id=109259
2892 Reviewed by Vsevolod Vlasov.
2894 * inspector/front-end/DOMBreakpointsSidebarPane.js:
2895 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
2896 * inspector/front-end/SidebarPane.js:
2898 2013-02-07 Kentaro Hara <haraken@chromium.org>
2900 [V8] enum V8HiddenPropertyCreationType is not used
2901 https://bugs.webkit.org/show_bug.cgi?id=109250
2903 Reviewed by Adam Barth.
2905 V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
2907 No tests. No change in behavior.
2909 * bindings/v8/V8HiddenPropertyName.cpp:
2910 (WebCore::hiddenReferenceName):
2911 * bindings/v8/V8HiddenPropertyName.h:
2914 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2916 Unreviewed, rolling out r142212.
2917 http://trac.webkit.org/changeset/142212
2918 https://bugs.webkit.org/show_bug.cgi?id=109255
2920 Causes ASSERT(!m_installed) on launch (Requested by smfr on
2924 * platform/MemoryPressureHandler.cpp:
2926 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2927 * platform/MemoryPressureHandler.h:
2928 (MemoryPressureHandler):
2929 * platform/mac/MemoryPressureHandlerMac.mm:
2930 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2932 2013-02-07 Hanyee Kim <choco@company100.net>
2934 NamedFlowCollection should be a ContextDestructionObserver
2935 https://bugs.webkit.org/show_bug.cgi?id=99239
2937 Reviewed by Adam Barth
2939 This patch removes the raw pointer of Document in NamedFlowCollection.
2940 It could be replaced with ContextDestructionObserver.
2941 ContextDestructionObserver has the pointer and clears the pointer
2942 automatically when the document is destroyed.
2945 (WebCore::Document::~Document):
2946 * dom/NamedFlowCollection.cpp:
2947 (WebCore::NamedFlowCollection::NamedFlowCollection):
2948 (WebCore::NamedFlowCollection::ensureFlowWithName):
2949 (WebCore::NamedFlowCollection::discardNamedFlow):
2950 (WebCore::NamedFlowCollection::document):
2952 * dom/NamedFlowCollection.h:
2953 (NamedFlowCollection):
2955 2013-02-07 Dean Jackson <dino@apple.com>
2957 Followup review suggestions from Alexey Proskuryakov on
2958 https://bugs.webkit.org/show_bug.cgi?id=109215
2960 Don't provide a charset on embedded SVG, especially
2961 with incorrect syntax :)
2963 * css/mediaControlsQuickTime.css:
2964 (video::-webkit-media-controls-toggle-closed-captions-button):
2965 (video::-webkit-media-controls-closed-captions-track-list li.selected):
2966 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
2968 2013-02-07 Seulgi Kim <seulgikim@company100.net>
2970 [Gtk] RunLoop::run shuold run current thread's run loop.
2971 https://bugs.webkit.org/show_bug.cgi?id=107887
2973 Reviewed by Martin Robinson.
2975 Currently, RunLoop in Gtk can use just main thread's event loop.
2976 But the other ports are implemented to use RunLoop in sub threads.
2978 This patch makes RunLoop constructor create new context, not use default
2980 But in the main thread still uses default context to use main event loop
2981 since there is some codes using glib directly (e.g. in
2982 LayerTreeHostGtk::scheduleLayerFlush).
2984 No new tests. There is no case that uses RunLoop in off the main thread
2987 * platform/gtk/RunLoopGtk.cpp:
2988 (WebCore::RunLoop::RunLoop):
2989 (WebCore::RunLoop::run):
2991 2013-02-07 Kentaro Hara <haraken@chromium.org>
2993 [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
2994 https://bugs.webkit.org/show_bug.cgi?id=109186
2996 Reviewed by Adam Barth.
2998 V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
3000 No tests. No change in behavior.
3002 * bindings/scripts/CodeGeneratorV8.pm:
3003 (GenerateNormalAttrGetter):
3004 * bindings/scripts/test/V8/V8TestObj.cpp:
3005 (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
3006 * bindings/v8/V8DOMWrapper.cpp:
3007 * bindings/v8/V8DOMWrapper.h:
3009 * bindings/v8/V8HiddenPropertyName.cpp:
3010 (WebCore::V8HiddenPropertyName::hiddenReferenceName):
3011 (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
3013 * bindings/v8/V8HiddenPropertyName.h:
3014 (V8HiddenPropertyName):
3015 (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
3016 * bindings/v8/custom/V8MessageChannelCustom.cpp:
3017 (WebCore::V8MessageChannel::constructorCallbackCustom):
3018 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3019 (WebCore::toV8Object):
3021 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
3023 getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
3024 https://bugs.webkit.org/show_bug.cgi?id=106535
3026 Reviewed by Ojan Vafai.
3028 Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
3029 should use the PseudoElement and it's renderer if they exist so that
3030 querying the computed style while an animation is running returns
3031 the intermediate values.
3033 No new tests, updated existing tests.
3035 * css/CSSComputedStyleDeclaration.cpp:
3036 (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
3037 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
3038 * css/CSSComputedStyleDeclaration.h:
3039 (CSSComputedStyleDeclaration):
3041 (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
3042 * dom/ElementRareData.h:
3043 (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
3045 2013-02-07 Mark Lam <mark.lam@apple.com>
3047 Add a comment about how the SQLTransaction state machine works.
3048 https://bugs.webkit.org/show_bug.cgi?id=109243.
3050 Rubber stamped by Anders Carlsson.
3054 * Modules/webdatabase/SQLTransactionBackend.cpp:
3056 2013-02-06 Gavin Barraclough <barraclough@apple.com>
3058 PluginProcess should quit immediately if idle in response to low-memory notifications
3059 https://bugs.webkit.org/show_bug.cgi?id=109103
3060 <rdar://problem/12679827>
3062 Reviewed by Darin Adler.
3064 This patch allows a process to set a custom callback for low memory warnings
3065 (defaulting to the current behaviour, as implemented in releaseMemory).
3067 MemoryPressureHandler::install is currently used for two purposes - it is
3068 called when first initializing a low memory handler for a process, and also
3069 used to reinstall the handler (on a delay) after the notification has occured.
3070 Since reinstallation doesn't change the callback, split these behaviours out -
3071 MemoryPressureHandler::initialize is added to initialization, and accepts a
3072 custom callback, install in made private.
3075 - Added export for releaseMemory.
3076 * platform/MemoryPressureHandler.cpp:
3077 (WebCore::MemoryPressureHandler::releaseMemory):
3078 - Added null implementation for non-Mac builds.
3079 * platform/MemoryPressureHandler.h:
3080 (WebCore::MemoryPressureHandler::initialize):
3081 - distinguish initialization from reinstallations, allow handler to be set.
3082 (MemoryPressureHandler):
3083 - Added m_lowMemoryHandler function pointer member variable.
3084 * platform/mac/MemoryPressureHandlerMac.mm:
3085 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
3086 - Call m_lowMemoryHandler instead of releaseMemory.
3088 2013-02-07 Kentaro Hara <haraken@chromium.org>
3090 [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
3091 https://bugs.webkit.org/show_bug.cgi?id=109167
3093 Reviewed by Andreas Kling.
3095 Given that assertContextHasCorrectPrototype() is anyway empty in a release
3096 build, we don't need to surround it with #ifndef NDEBUG.
3098 No tests. No change in behavior.
3100 * bindings/v8/DOMWrapperWorld.cpp:
3101 (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
3102 * bindings/v8/DOMWrapperWorld.h:
3104 (WebCore::DOMWrapperWorld::isolated):
3106 2013-02-07 Alexei Svitkine <asvitkine@chromium.org>
3108 Chromium: Hang parsing bidi control chars on Mac OS X 10.6
3109 https://bugs.webkit.org/show_bug.cgi?id=108877
3111 This was broken a while ago by:
3112 https://bugs.webkit.org/show_bug.cgi?id=83045
3114 On 10.6, CoreText will not produce any runs covering the
3115 Unicode BiDi RTL mark control char, which causes an infinite
3116 loop in ComplexTextController::indexOfCurrentRun() due to no
3117 run covering the character at offset 0.
3119 This patch fixes that issue by finding the earliest run
3120 explicitly via the minimum stringBegin() index instead of
3121 relying on a run existing that covers offset 0.
3123 Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
3124 Chromium bug: http://crbug.com/167844
3126 New test in the same style as the harfbuzz-buffer-overrun.html
3127 test (in the same folder).
3129 Reviewed by Eric Seidel.
3131 Test: fast/text/international/rtl-mark.html
3133 * platform/graphics/mac/ComplexTextController.cpp:
3134 (WebCore::ComplexTextController::indexOfCurrentRun):
3136 2013-02-07 Kentaro Hara <haraken@chromium.org>
3138 Implement FocusEvent constructor
3139 https://bugs.webkit.org/show_bug.cgi?id=109170
3141 Reviewed by Adam Barth.
3143 Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
3145 FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
3146 flag, which is enabled on Chromium and Safari.
3148 Test: fast/events/constructors/focus-event-constructor.html
3150 * dom/FocusEvent.cpp:
3151 (WebCore::FocusEventInit::FocusEventInit):
3153 (WebCore::FocusEvent::FocusEvent):
3157 (WebCore::FocusEvent::create):
3159 * dom/FocusEvent.idl:
3160 * page/DOMWindow.idl:
3162 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
3164 HTML parser should queue MutationRecords for its operations
3165 https://bugs.webkit.org/show_bug.cgi?id=89351
3167 Reviewed by Eric Seidel.
3169 Generate mutation records inside the parser. This is done by using a
3170 ChildListMutationScope in the ContainerNode::parser* methods and then
3171 adding delivery before each <script> element would be processed by
3174 Test: fast/dom/MutationObserver/parser-mutations.html
3176 * dom/ContainerNode.cpp:
3177 (WebCore::ContainerNode::takeAllChildrenFrom):
3178 (WebCore::ContainerNode::parserInsertBefore):
3179 (WebCore::ContainerNode::parserRemoveChild):
3180 (WebCore::ContainerNode::parserAppendChild):
3181 * html/parser/HTMLScriptRunner.cpp:
3182 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
3183 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
3184 (WebCore::HTMLScriptRunner::execute):
3185 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
3186 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
3187 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
3188 (WebCore::HTMLScriptRunner::runScript):
3190 2013-02-07 Kentaro Hara <haraken@chromium.org>
3192 Fix FIXMEs in WindowFeatures.h
3193 https://bugs.webkit.org/show_bug.cgi?id=109151
3195 Reviewed by Adam Barth.
3197 1. // FIXME: We can delete this constructor once V8 showModalDialog is
3198 // changed to use DOMWindow.
3200 This FIXME is not right. The WindowFeatures() constructor is used by
3201 other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
3202 So we should remove the FIXME.
3204 2. // FIXME: We can make these functions private non-member functions
3205 // once V8 showModalDialog is changed to use DOMWindow.
3207 Given that V8 now uses DOMWindow in showModalDialog(), we can make the
3210 No tests. No change in behavior.
3212 * page/WindowFeatures.h:
3214 (WebCore::WindowFeatures::WindowFeatures):
3217 2013-02-07 Adam Barth <abarth@webkit.org>
3219 fast/parser/document-write-noscript.html fails for threaded HTML parser
3220 https://bugs.webkit.org/show_bug.cgi?id=109237
3222 Reviewed by Eric Seidel.
3224 If there are multiple calls to document.write in an external script, we
3225 need to wait for them all to complete before invalidating the
3226 speculative tokens. Instead of doing this when we unwind the
3227 document.write call stack, we do this when we're about to resume
3228 parsing after script execution.
3230 Test: fast/parser/document-write-basic.html
3232 * html/parser/HTMLDocumentParser.cpp:
3233 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3234 (WebCore::HTMLDocumentParser::insert):
3235 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3237 2013-02-07 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
3239 Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
3240 https://bugs.webkit.org/show_bug.cgi?id=109217
3242 Reviewed by Benjamin Poulain.
3244 * css/InspectorCSSOMWrappers.cpp:
3245 (WebCore::InspectorCSSOMWrappers::collect):
3247 2013-02-07 Keishi Hattori <keishi@webkit.org>
3249 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
3250 https://bugs.webkit.org/show_bug.cgi?id=109136
3252 Reviewed by Kent Tamura.
3254 Calendar picker was using the "Clear" button to calculate the window width.
3255 Since it doesn't exist when the input element has a required attribute,
3256 it was throwing an error. This patch fixes the width calculating logic.
3258 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
3259 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
3261 * Resources/pagepopups/calendarPicker.css:
3262 (.today-clear-area):
3263 * Resources/pagepopups/calendarPicker.js:
3264 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
3265 the width. We don't want to use clear button because it doesn't exist
3266 when a value is required.
3268 2013-02-07 Terry Anderson <tdanderson@chromium.org>
3270 Non-scrollable divs and non-scrollable iframes can scroll with touch
3271 https://bugs.webkit.org/show_bug.cgi?id=109087
3273 Reviewed by Eric Seidel.
3275 Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
3276 fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
3278 When finding a candidate for a scrollable node in
3279 EventHandler::handleGestureScrollUpdate(), select the document node
3280 if it is reached before any scrollable element when walking up the DOM
3281 tree. Also ensure that calling RenderLayer::scrollBy() for a document
3282 node does not result in scrolling if the element is not scrollable.
3284 * page/EventHandler.cpp:
3285 (WebCore::closestScrollableNodeCandidate):
3286 (WebCore::EventHandler::handleGestureScrollUpdate):
3287 * rendering/RenderLayer.cpp:
3288 (WebCore::RenderLayer::scrollBy):
3290 2013-02-07 Mark Lam <mark.lam@apple.com>
3292 Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
3293 https://bugs.webkit.org/show_bug.cgi?id=109109.
3295 Reviewed by Anders Carlsson.
3297 Adding back the new SQLTransaction and SQLTransactionSync files.
3301 * Modules/webdatabase/SQLTransaction.cpp: Added.
3302 (WebCore::SQLTransaction::create):
3303 (WebCore::SQLTransaction::SQLTransaction):
3304 (WebCore::SQLTransaction::from):
3305 * Modules/webdatabase/SQLTransaction.h: Added.
3307 * Modules/webdatabase/SQLTransactionSync.cpp: Added.
3308 (WebCore::SQLTransactionSync::create):
3309 (WebCore::SQLTransactionSync::SQLTransactionSync):
3310 (WebCore::SQLTransactionSync::from):
3311 * Modules/webdatabase/SQLTransactionSync.h: Added.
3312 (SQLTransactionSync):
3314 2013-02-07 Mark Lam <mark.lam@apple.com>
3316 Introduce SQLTransactionBackend and SQLTransactionBackendSync.
3317 https://bugs.webkit.org/show_bug.cgi?id=109109.
3319 Reviewed by Anders Carlsson.
3321 - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
3322 and SQLTransactionBackendSync respectively.
3323 - Added back SQLTransaction and SQLTransactionSync as new files, and have
3324 their classes extends their respective backends. This is a stop gap
3325 measure to keep things working until the front-end and back-end can be
3327 Note: these files will be committed in a subsequent commit to ensure
3328 that the patching goes smoothly.
3329 - Where needed, I made use of new SQLTransaction::from() and
3330 SQLTransactionSync::from() static methods that "get" the front-end
3331 transactions from the back-ends. This is also a stop gap measure to
3332 keep things working until the proper refactoring is complete.
3333 - Fixed up pre-existing style checker violations that are now detected
3334 on code that were touched during my renaming.
3335 - Added the back-end files to all the build files.
3340 * GNUmakefile.list.am:
3341 * Modules/webdatabase/Database.cpp:
3342 (WebCore::Database::scheduleTransactionStep):
3343 * Modules/webdatabase/Database.h:
3345 * Modules/webdatabase/DatabaseBackend.h:
3347 * Modules/webdatabase/DatabaseTask.cpp:
3348 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
3349 * Modules/webdatabase/DatabaseTask.h:
3350 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
3351 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
3352 (DatabaseBackendAsync::DatabaseTransactionTask):
3353 * Modules/webdatabase/SQLTransaction.cpp: Removed.
3354 * Modules/webdatabase/SQLTransaction.h: Removed.
3355 * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
3356 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
3357 (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
3358 (WebCore::SQLTransactionBackend::executeSQL):
3359 (WebCore::SQLTransactionBackend::enqueueStatement):
3360 (WebCore::SQLTransactionBackend::debugStepName):
3361 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
3362 (WebCore::SQLTransactionBackend::performNextStep):
3363 (WebCore::SQLTransactionBackend::performPendingCallback):
3364 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
3365 (WebCore::SQLTransactionBackend::acquireLock):
3366 (WebCore::SQLTransactionBackend::lockAcquired):
3367 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
3368 (WebCore::SQLTransactionBackend::deliverTransactionCallback):
3369 (WebCore::SQLTransactionBackend::scheduleToRunStatements):
3370 (WebCore::SQLTransactionBackend::runStatements):
3371 (WebCore::SQLTransactionBackend::getNextStatement):
3372 (WebCore::SQLTransactionBackend::runCurrentStatement):
3373 (WebCore::SQLTransactionBackend::handleCurrentStatementError):
3374 (WebCore::SQLTransactionBackend::deliverStatementCallback):
3375 (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
3376 (WebCore::SQLTransactionBackend::postflightAndCommit):
3377 (WebCore::SQLTransactionBackend::deliverSuccessCallback):
3378 (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
3379 (WebCore::SQLTransactionBackend::handleTransactionError):
3380 (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
3381 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
3382 * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
3383 (SQLTransactionBackend):
3384 * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
3385 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
3386 (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
3387 (WebCore::SQLTransactionBackendSync::executeSQL):
3388 (WebCore::SQLTransactionBackendSync::begin):
3389 (WebCore::SQLTransactionBackendSync::execute):
3390 (WebCore::SQLTransactionBackendSync::commit):
3391 (WebCore::SQLTransactionBackendSync::rollback):
3392 * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
3393 (SQLTransactionBackendSync):
3394 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3395 (WebCore::getDatabaseIdentifier):
3396 (WebCore::SQLTransactionCoordinator::processPendingTransactions):
3397 (WebCore::SQLTransactionCoordinator::acquireLock):
3398 (WebCore::SQLTransactionCoordinator::releaseLock):
3399 (WebCore::SQLTransactionCoordinator::shutdown):
3400 * Modules/webdatabase/SQLTransactionCoordinator.h:
3401 (SQLTransactionCoordinator):
3402 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
3404 * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
3405 * Modules/webdatabase/SQLTransactionSync.h: Removed.
3408 * WebCore.vcproj/WebCore.vcproj:
3409 * WebCore.vcxproj/WebCore.vcxproj:
3410 * WebCore.vcxproj/WebCore.vcxproj.filters:
3411 * WebCore.xcodeproj/project.pbxproj:
3413 2013-02-07 Dean Jackson <dino@apple.com>
3415 Use new speech bubble artwork for captions menu button
3416 https://bugs.webkit.org/show_bug.cgi?id=109215
3418 Reviewed by Eric Carlson.
3420 Rather than call into RenderTheme to display this button, embed artwork
3421 into the CSS. This means we can remove some uncalled methods in
3424 * css/mediaControlsQuickTime.css:
3425 (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
3426 * rendering/RenderTheme.cpp:
3427 (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
3428 * rendering/RenderTheme.h: Remove unused function.
3429 * rendering/RenderThemeMac.h: Ditto.
3430 * rendering/RenderThemeMac.mm: Ditto.
3432 2013-02-07 Michelangelo De Simone <michelangelo@webkit.org>
3434 [CSS Shaders] Add the last blending step
3435 https://bugs.webkit.org/show_bug.cgi?id=104012
3437 The resulting blended color in mix() is now weighted according to
3438 the original element's backdrop alpha value.
3440 Reviewed by Dean Jackson.
3442 Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
3444 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
3445 (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
3447 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
3449 Fix two exports of WebCore symbols on iOS
3450 https://bugs.webkit.org/show_bug.cgi?id=109238
3452 Reviewed by David Kilzer.
3454 * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
3455 wkCGContextDrawsWithCorrectShadowOffsets on iOS.
3457 2013-02-07 Hans Muller <hmuller@adobe.com>
3459 [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
3460 https://bugs.webkit.org/show_bug.cgi?id=107566
3462 Reviewed by David Hyatt.
3464 Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
3465 creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
3466 line. In other words, don't bother creating offset edges that can't define the polygon's
3469 Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
3471 * rendering/ExclusionPolygon.cpp:
3472 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
3474 2013-02-07 Jer Noble <jer.noble@apple.com>
3476 Improve logging of MediaPlayerPrivateAVFoundation Notifications.
3477 https://bugs.webkit.org/show_bug.cgi?id=109223
3479 Reviewed by Eric Carlson.
3481 Convert the existing Notification enum to an expandable macro. Then add a
3482 Logging-only function which stringifies the enums.
3484 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3486 (WebCore::notificationName):
3487 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
3488 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
3489 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3491 2013-02-07 Martin Robinson <mrobinson@igalia.com>
3493 [GTK] Cleanup command-line defines
3494 https://bugs.webkit.org/show_bug.cgi?id=109213
3496 Reviewed by Xan Lopez.
3498 * GNUmakefile.am: Remove references to flags that are now handled
3499 via autotoolsconfig.h.
3501 2013-02-07 Tom Sepez <tsepez@chromium.org>
3503 [V8] Binding Integrity crash in V8MediaStream::createWrapper
3504 https://bugs.webkit.org/show_bug.cgi?id=109211
3506 Reviewed by Adam Barth.
3508 Patch suppresses a chrome crasher.
3510 * Modules/mediastream/MediaStream.idl:
3512 2013-02-07 Eric Carlson <eric.carlson@apple.com>
3514 [Mac] decrease in-band caption advance notice interval
3515 https://bugs.webkit.org/show_bug.cgi?id=109190
3517 Reviewed by Simon Fraser.
3519 No new tests, no observable change in behavior.
3521 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3522 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
3524 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
3526 [GTK][AC] Clutter required version up to 1.12
3527 https://bugs.webkit.org/show_bug.cgi?id=109037
3529 Reviewed by Martin Robinson.
3531 Replace deprecated clutter apis with new ones.
3533 No new tests, since this patch is minor refactoring.
3535 * platform/graphics/clutter/GraphicsLayerActor.cpp:
3536 (graphicsLayerActorSetAnchorPoint):
3537 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3538 (WebCore::idleDestroy):
3539 (WebCore::GraphicsLayerClutter::updateSublayerList):
3541 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
3543 Move pauseAnimation/pauseTransition from TestRunner to Internals
3544 https://bugs.webkit.org/show_bug.cgi?id=109107
3546 Reviewed by Anders Carlsson.
3548 Tests: animations/animation-internals-api-multiple-keyframes.html
3549 animations/animation-internals-api.html
3551 * testing/Internals.cpp:
3552 (WebCore::Internals::pauseAnimationAtTimeOnElement):
3554 (WebCore::Internals::pauseTransitionAtTimeOnElement):
3555 * testing/Internals.h:
3557 * testing/Internals.idl:
3559 2013-02-07 Gavin Peters <gavinp@chromium.org>
3561 Unreviewed, rolling out r142155.
3562 http://trac.webkit.org/changeset/142155
3563 https://bugs.webkit.org/show_bug.cgi?id=82888
3567 * bindings/js/JSClipboardCustom.cpp:
3568 (WebCore::JSClipboard::types):
3569 * bindings/v8/custom/V8ClipboardCustom.cpp:
3570 (WebCore::V8Clipboard::typesAccessorGetter):
3573 * platform/blackberry/ClipboardBlackBerry.cpp:
3574 (WebCore::ClipboardBlackBerry::types):
3575 * platform/blackberry/ClipboardBlackBerry.h:
3576 (ClipboardBlackBerry):
3577 * platform/chromium/ChromiumDataObject.cpp:
3578 (WebCore::ChromiumDataObject::types):
3579 * platform/chromium/ChromiumDataObject.h:
3580 (ChromiumDataObject):
3581 * platform/chromium/ClipboardChromium.cpp:
3582 (WebCore::ClipboardChromium::types):
3583 * platform/chromium/ClipboardChromium.h:
3584 (ClipboardChromium):
3585 * platform/efl/ClipboardEfl.cpp:
3586 (WebCore::ClipboardEfl::types):
3587 * platform/efl/ClipboardEfl.h:
3589 * platform/gtk/ClipboardGtk.cpp:
3590 (WebCore::ClipboardGtk::types):
3591 * platform/gtk/ClipboardGtk.h:
3593 * platform/mac/ClipboardMac.h:
3595 * platform/mac/ClipboardMac.mm:
3596 (WebCore::addHTMLClipboardTypesForCocoaType):
3597 (WebCore::ClipboardMac::types):
3598 * platform/qt/ClipboardQt.cpp:
3599 (WebCore::ClipboardQt::types):
3600 * platform/qt/ClipboardQt.h:
3602 * platform/win/ClipboardWin.cpp:
3603 (WebCore::addMimeTypesForFormat):
3604 (WebCore::ClipboardWin::types):
3605 * platform/win/ClipboardWin.h:
3608 2013-02-07 Rik Cabanier <cabanier@adobe.com>
3610 Add support for parsing of -webkit-background-blend-mode
3611 https://bugs.webkit.org/show_bug.cgi?id=108547
3613 Reviewed by David Hyatt.
3615 Added parsing and general CSS handling of -webkit-background-blend-mode per
3616 https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
3618 Tests: css3/compositing/background-blend-mode-property-parsing.html
3619 css3/compositing/background-blend-mode-property.html
3621 * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
3623 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3624 * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
3625 (WebCore::CSSParser::parseValue):
3626 (WebCore::CSSParser::parseFillProperty):
3627 * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
3628 (WebCore::CSSProperty::isInheritedProperty):
3629 * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
3630 * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
3631 (WebCore::CSSToStyleMap::mapFillBlendMode):
3633 * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
3635 * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
3636 (WebCore::StyleBuilder::StyleBuilder):
3637 * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
3638 (WebCore::FillLayer::FillLayer):
3639 (WebCore::FillLayer::operator=):
3640 (WebCore::FillLayer::operator==):
3641 (WebCore::FillLayer::fillUnsetProperties):
3642 * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
3643 (WebCore::FillLayer::blendMode):
3644 (WebCore::FillLayer::isBlendModeSet):
3645 (WebCore::FillLayer::setBlendMode):
3646 (WebCore::FillLayer::clearBlendMode):
3647 (WebCore::FillLayer::initialFillBlendMode):
3650 2013-02-07 Gavin Peters <gavinp@chromium.org>
3652 Unreviewed, rolling out r142142.
3653 http://trac.webkit.org/changeset/142142
3654 https://bugs.webkit.org/show_bug.cgi?id=109154
3656 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 .
3659 * inspector/front-end/DefaultTextEditor.js:
3660 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
3662 2013-02-07 Gavin Peters <gavinp@chromium.org>
3664 Unreviewed, rolling out r142081.
3665 http://trac.webkit.org/changeset/142081
3666 https://bugs.webkit.org/show_bug.cgi?id=109146
3668 The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
3670 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 .
3672 * dom/WebCoreMemoryInstrumentation.cpp:
3674 * inspector/front-end/NativeMemorySnapshotView.js:
3675 (WebInspector.MemoryBlockViewProperties._initialize):
3676 * platform/PlatformMemoryInstrumentation.cpp:
3679 2013-02-07 Bear Travis <betravis@adobe.com>
3681 [CSS Exclusions] shape-inside does not properly handle padding or border
3682 https://bugs.webkit.org/show_bug.cgi?id=102715
3684 Reviewed by David Hyatt.
3686 This patch positions the exclusion shape based on the value of the css box sizing
3687 property. Geometry calculations happen in the shape coordinate space. For layout,
3688 these coordinates are translated to the border-box coordinate system by adding
3689 the appropriate offsets.
3691 Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
3693 * rendering/ExclusionShapeInfo.cpp:
3694 (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
3696 * rendering/ExclusionShapeInfo.h:
3697 (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
3698 shape dimensions when checking to see if the shape geometry must be recalculated.
3699 (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
3700 (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
3701 (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
3702 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
3703 (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
3704 top of the border box to the logical top of the shape.
3705 (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
3706 left of the border box to the logical left of the shape.
3707 (ExclusionShapeInfo):
3708 * rendering/ExclusionShapeInsideInfo.cpp:
3709 (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
3710 be in shape coordinates.
3711 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
3712 * rendering/ExclusionShapeInsideInfo.h:
3713 (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
3714 coordinate system (border box) to test for whether a line overlaps a shape.
3715 (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
3716 from the border box.
3717 (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
3719 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
3721 Upstream iOS isWebThread() and isUIThread()
3722 https://bugs.webkit.org/show_bug.cgi?id=109130
3724 Reviewed by Sam Weinig.
3726 * bindings/objc/WebScriptObject.mm:
3727 (+[WebScriptObject initialize]):
3728 * platform/mac/SharedBufferMac.mm:
3729 (+[WebCoreSharedBufferData initialize]):
3730 #ifdef out the legacy initialization as it is not correct when
3733 2013-02-07 Vivek Galatage <vivek.vg@samsung.com>
3735 Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
3736 https://bugs.webkit.org/show_bug.cgi?id=107937
3738 Reviewed by Yury Semikhatsky.
3740 The DOM storage agent will fire an event to the frontend based on the action
3741 performed on the storage. Based on this action, the front-end will just add/update/remove
3742 the entry in the view. This enhances the front-end responsiveness as the round trip
3743 for fetching the storage entries has been eliminated.
3745 Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
3747 * inspector/Inspector.json:
3748 * inspector/InspectorDOMStorageAgent.cpp:
3749 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
3750 * inspector/front-end/DOMStorage.js:
3751 (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
3752 (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
3753 (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
3754 (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
3755 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
3756 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
3757 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
3758 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
3759 * inspector/front-end/DOMStorageItemsView.js:
3760 (WebInspector.DOMStorageItemsView):
3761 (WebInspector.DOMStorageItemsView.prototype.wasShown):
3762 (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
3763 (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
3764 (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
3765 (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
3766 (WebInspector.DOMStorageItemsView.prototype._update):
3767 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
3768 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
3769 (WebInspector.DOMStorageItemsView.prototype._editingCallback):
3770 (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
3771 * inspector/front-end/ResourcesPanel.js:
3772 (WebInspector.ResourcesPanel):
3773 (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
3774 (WebInspector.ResourcesPanel.prototype._showDOMStorage):
3776 2013-02-07 Dan Carney <dcarney@google.com>
3778 [v8] move persistent::new and ::dispose into same class
3779 https://bugs.webkit.org/show_bug.cgi?id=109065
3781 Reviewed by Adam Barth.
3783 No new tests. No change in functionality.
3785 * bindings/scripts/CodeGeneratorV8.pm:
3786 (GenerateSingleConstructorCallback):
3787 (GenerateEventConstructorCallback):
3788 (GenerateNamedConstructorCallback):
3789 (GenerateToV8Converters):
3790 * bindings/scripts/test/V8/V8Float64Array.cpp:
3791 (WebCore::V8Float64Array::createWrapper):
3792 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3793 (WebCore::V8TestActiveDOMObject::createWrapper):
3794 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3795 (WebCore::V8TestCustomNamedGetter::createWrapper):
3796 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3797 (WebCore::V8TestEventConstructor::constructorCallback):
3798 (WebCore::V8TestEventConstructor::createWrapper):
3799 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3800 (WebCore::V8TestEventTarget::createWrapper):
3801 * bindings/scripts/test/V8/V8TestException.cpp:
3802 (WebCore::V8TestException::createWrapper):
3803 * bindings/scripts/test/V8/V8TestInterface.cpp:
3804 (WebCore::V8TestInterface::constructorCallback):
3805 (WebCore::V8TestInterface::createWrapper):
3806 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3807 (WebCore::V8TestMediaQueryListListener::createWrapper):
3808 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3809 (WebCore::V8TestNamedConstructorConstructorCallback):
3810 (WebCore::V8TestNamedConstructor::createWrapper):
3811 * bindings/scripts/test/V8/V8TestNode.cpp:
3812 (WebCore::V8TestNode::constructorCallback):
3813 (WebCore::V8TestNode::createWrapper):
3814 * bindings/scripts/test/V8/V8TestObj.cpp:
3815 (WebCore::V8TestObj::constructorCallback):
3816 (WebCore::V8TestObj::createWrapper):
3817 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3818 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
3819 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
3820 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
3821 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
3822 (WebCore::V8TestOverloadedConstructors::createWrapper):
3823 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3824 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3825 (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
3826 * bindings/v8/DOMDataStore.cpp:
3827 * bindings/v8/DOMDataStore.h:
3828 (WebCore::DOMDataStore::setWrapper):
3830 (WebCore::DOMDataStore::set):
3831 (WebCore::DOMDataStore::setWrapperInObject):
3832 * bindings/v8/DOMWrapperMap.h:
3833 (WebCore::DOMWrapperMap::get):
3834 (WebCore::DOMWrapperMap::set):
3835 (WebCore::DOMWrapperMap::removeAndDispose):
3836 (WebCore::DOMWrapperMap::defaultWeakCallback):
3837 * bindings/v8/ScriptWrappable.h:
3838 (WebCore::ScriptWrappable::wrapper):
3839 (WebCore::ScriptWrappable::setWrapper):
3840 (WebCore::ScriptWrappable::reportMemoryUsage):
3842 (WebCore::ScriptWrappable::disposeWrapper):
3843 (WebCore::ScriptWrappable::weakCallback):
3844 * bindings/v8/V8DOMWindowShell.cpp:
3845 (WebCore::V8DOMWindowShell::installDOMWindow):
3846 * bindings/v8/V8DOMWrapper.h:
3848 (WebCore::V8DOMWrapper::associateObjectWithWrapper):
3849 * bindings/v8/V8NPObject.cpp:
3850 (WebCore::weakNPObjectCallback):
3851 (WebCore::createV8ObjectForNPObject):
3852 (WebCore::forgetV8ObjectForNPObject):
3853 * bindings/v8/WorkerScriptController.cpp:
3854 (WebCore::WorkerScriptController::initializeContextIfNeeded):
3855 * bindings/v8/WrapperTypeInfo.h:
3857 (WrapperConfiguration):
3858 (WebCore::WrapperConfiguration::configureWrapper):
3859 (WebCore::buildWrapperConfiguration):
3860 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3861 (WebCore::V8ArrayBuffer::constructorCallbackCustom):
3862 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3863 (WebCore::wrapArrayBufferView):
3864 (WebCore::constructWebGLArray):
3865 * bindings/v8/custom/V8AudioContextCustom.cpp:
3866 (WebCore::V8AudioContext::constructorCallbackCustom):
3867 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3868 (WebCore::V8DOMFormData::constructorCallbackCustom):
3869 * bindings/v8/custom/V8DataViewCustom.cpp:
3870 (WebCore::V8DataView::constructorCallbackCustom):
3871 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3872 (WebCore::v8HTMLImageElementConstructorCallback):
3873 * bindings/v8/custom/V8IntentCustom.cpp:
3874 (WebCore::V8Intent::constructorCallbackCustom):
3875 * bindings/v8/custom/V8MessageChannelCustom.cpp:
3876 (WebCore::V8MessageChannel::constructorCallbackCustom):
3877 * bindings/v8/custom/V8MutationObserverCustom.cpp:
3878 (WebCore::V8MutationObserver::constructorCallbackCustom):
3879 * bindings/v8/custom/V8WebKitPointCustom.cpp:
3880 (WebCore::V8WebKitPoint::constructorCallbackCustom):
3881 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3882 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
3884 2013-02-07 Zan Dobersek <zdobersek@igalia.com>
3886 [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
3887 https://bugs.webkit.org/show_bug.cgi?id=109198
3889 Reviewed by Martin Robinson.
3891 * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
3893 2013-02-07 Vineet Chaudhary <rgf748@motorola.com>
3895 Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
3896 https://bugs.webkit.org/show_bug.cgi?id=82888
3898 Reviewed by Kentaro Hara.
3900 As part of removing custom bindings of types Array Clipboard::types() needs to return
3901 Vector<String> than ListHashSet<String>
3903 No new tests. Existing test should pass with this change as no behavoural changes.
3905 * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
3906 (WebCore::JSClipboard::types):
3907 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
3908 (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
3909 * dom/Clipboard.h: Ditto.
3910 * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
3911 (WebCore::ClipboardBlackBerry::types):
3912 * platform/blackberry/ClipboardBlackBerry.h: Ditto.
3913 * platform/chromium/ChromiumDataObject.cpp: Ditto.
3914 (WebCore::ChromiumDataObject::types):
3915 * platform/chromium/ChromiumDataObject.h: Ditto.
3916 * platform/chromium/ClipboardChromium.cpp: Ditto.
3917 (WebCore::ClipboardChromium::types):
3918 * platform/chromium/ClipboardChromium.h: Ditto.
3919 * platform/efl/ClipboardEfl.cpp: Ditto.
3920 (WebCore::ClipboardEfl::types):
3921 * platform/efl/ClipboardEfl.h: Ditto.
3922 * platform/gtk/ClipboardGtk.cpp: Ditto.
3923 (WebCore::ClipboardGtk::types):
3924 * platform/gtk/ClipboardGtk.h: Ditto.
3925 * platform/mac/ClipboardMac.h: Ditto.
3926 * platform/mac/ClipboardMac.mm: Ditto.
3927 (WebCore::addHTMLClipboardTypesForCocoaType):
3928 (WebCore::ClipboardMac::types):
3929 * platform/qt/ClipboardQt.cpp: Ditto.
3930 (WebCore::ClipboardQt::types):
3931 * platform/qt/ClipboardQt.h: Ditto.
3932 * platform/win/ClipboardWin.cpp: Ditto.
3933 (WebCore::addMimeTypesForFormat):
3934 (WebCore::ClipboardWin::types):
3935 * platform/win/ClipboardWin.h: Ditto.
3937 2013-02-07 Kentaro Hara <haraken@chromium.org>
3939 [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
3940 https://bugs.webkit.org/show_bug.cgi?id=109123
3942 Reviewed by Adam Barth.
3944 Currently StringCache::m_stringCache is implemented as
3945 HashMap<StringImpl*, v8::String*>. Given that v8::String*
3946 can change when a GC is triggered, it is dangerous to store a raw pointer.
3947 We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
3949 This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
3950 although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
3952 No tests. This change highly depends on GC behavior and thus it is
3953 difficult to make a reliable test case.
3955 * bindings/v8/V8ValueCache.cpp:
3956 (WebCore::makeExternalString):
3957 * bindings/v8/V8ValueCache.h:
3960 2013-01-27 Robert Hogan <robert@webkit.org>
3962 CSS 2.1 failure: floats-149 fails
3963 https://bugs.webkit.org/show_bug.cgi?id=95772
3965 Reviewed by David Hyatt.
3967 Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
3969 Tests: fast/inline/inline-with-empty-inline-children.html
3970 css2.1/20110323/floats-149.htm
3972 * rendering/InlineIterator.h:
3973 (WebCore::isEmptyInline):
3974 * rendering/RenderBlockLineLayout.cpp:
3975 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
3976 objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping
3977 through leading whitespace.
3979 2013-02-07 peavo@outlook.com <peavo@outlook.com>
3981 [WinCairo] Compile fix after r141981
3982 https://bugs.webkit.org/show_bug.cgi?id=109184
3984 Reviewed by Brent Fulgham.
3986 * platform/network/curl/ResourceHandleCurl.cpp:
3987 (WebCore::ResourceHandle::loadResourceSynchronously):
3989 2013-02-07 Otto Derek Cheung <otcheung@rim.com>
3991 [BlackBerry] Cookie database isn't loaded into memory in some rare cases
3992 https://bugs.webkit.org/show_bug.cgi?id=109202
3995 Reviewed by Yong Li.
3996 Internally Reviewed by Konrad Piascik.
3998 If a get/setCookie call is made before the database is loaded, or if there's some
3999 kind of error that causes the loading of the database to fail in the constructor
4000 of CookieManager, the browser will get into a state where it seems like cookie is
4001 permanenty disabled.
4003 Instead of logging the errors and redispatching the setCookie, we should do a force sync
4004 to load the cookie database before continuing.
4006 Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
4007 to make sure the code path is correct:
4008 1) Make sure original implementation is retained - open and loading done in the constructor
4009 2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
4010 an initial lag because we are blocking WKT while performing SQLite options).
4011 3) Removed loading in constructor, the new calls loaded the db just fine.
4013 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: